Book description
This is the definitive guide for Symbian C++ developers looking to use Symbian SQL in applications or system software.
Since Symbian SQL and SQLite are relatively new additions to the Symbian platform, Inside Symbian SQL begins with an introduction to database theory and concepts, including a Structured Query Language (SQL) tutorial.
Inside Symbian SQL also provides a detailed overview of the Symbian SQL APIs. From the outset, you will “get your hands dirty” writing Symbian SQL code. The book includes snippets and examples that application developers can immediately put to use to get started quickly.
For device creators and system software developers, Inside Symbian SQL offers a unique view into the internals of the implementation and a wealth of practical advice on how to make best and most efficient use of the Symbian SQL database. Several case studies are presented – these are success stories 'from the trenches', written by Symbian engineers.
Special Features:
The book assumes no prior knowledge of databases
Includes detailed and approachable explanations of database concepts
Easy to follow SQL tutorial with SQLite examples
Unique view into the Symbian SQL internals
Troubleshooting section with solutions to common problems
Written by the Symbian engineers who implemented SQLite on Symbian, with more than 40 years combined Symbian C++ experience, this book is for anyone interested in finding out more about using a database on Symbian.
Table of contents
- Copyright
- Foreword
- Foreword1
- Author Biographies
- Author's Acknowledgments
- Symbian Acknowledgments
- Publisher's Acknowledgements
- 1. Introduction
- 2. Getting Started
-
3. The Relational Model
- 3.1. Background
- 3.2. The Structural Component
- 3.3. The Integrity Component
- 3.4. Normalization
- 3.5. The Manipulative Component
- 3.6. The Meaning of Relational
- 3.7. Summary
-
4. Everything You Ever Wanted to Know about SQL but Were Afraid to Ask
- 4.1. The Relational Model
- 4.2. The Example Database
- 4.3. Syntax
- 4.4. Creating a Database
-
4.5. Querying a Database
- 4.5.1. Relational Operations
- 4.5.2. The Operational Pipeline
- 4.5.3. Filtering Rows
- 4.5.4. Limiting and Ordering
- 4.5.5. Functions and Aggregates
- 4.5.6. Grouping
- 4.5.7. Removing Duplicates
- 4.5.8. Joining Tables
- 4.5.9. Column Names and Aliases
- 4.5.10. Subqueries
- 4.5.11. Compound Queries
- 4.5.12. Conditional Results
- 4.5.13. The Thing Called NULL
- 4.5.14. Set Operations
- 4.6. Modifying Data
- 4.7. Data Integrity
- 4.8. Transactions
- 4.9. Database Administration
- 4.10. Summary
- 5. Database Concepts
-
6. Using Symbian SQL
- 6.1. The Database Connection Class
- 6.2. The Prepared Statement Class
- 6.3. Working with Variable-Length Data Objects
- 6.4. The Scalar Query Class
- 6.5. Security Policies
- 6.6. Summary
-
7. SQLite Internals on Symbian
- 7.1. Why SQLite Is Right for Symbian
-
7.2. The SQLite Modules
-
7.2.1. Public Interface
- 7.2.1.1. Database Connection Objects
- 7.2.1.2. Creating or Opening a Database
- 7.2.1.3. Closing a Database
- 7.2.1.4. Executing SQL Statements
- 7.2.1.5. Using Prepared Statements
- 7.2.1.6. Prepared Statement Objects
- 7.2.1.7. Preparing a Statement
- 7.2.1.8. Binding Values to a Prepared Statement
- 7.2.1.9. Stepping Through a Prepared Statement
- 7.2.1.10. Accessing Column Values of a Record
- 7.2.1.11. Resetting a Prepared Statement
- 7.2.1.12. Destroying a Prepared Statement
- 7.2.1.13. Handling Errors
- 7.2.2. Compiler
- 7.2.3. Virtual Machine
- 7.2.4. B-Tree Module
- 7.2.5. Pager
- 7.2.6. OS Interface
-
7.2.1. Public Interface
- 7.3. SQLite Configuration Options
-
7.4. SQLite Optimizations on Symbian OS
- 7.4.1. Sharing the Cache
- 7.4.2. Retaining Page Cache Contents
- 7.4.3. Imposing a Soft Heap Limit
- 7.4.4. Increasing the Maximum Cache Size
- 7.4.5. Avoiding Unnecessary Reads
- 7.4.6. Avoiding Unnecessary Writes
- 7.4.7. Minimizing the Cost of Using Journal Files
- 7.4.8. Mass Storage and Fast Retrieval of Binary Data (BLOBs)
- 7.4.9. Background Database Compaction
- 7.5. Summary
-
8. Performance Tuning
- 8.1. Design and Development Considerations
- 8.2. An Introduction to Optimization
- 8.3. Optimizing Applications
-
8.4. Symbian SQL Optimization Tips
- 8.4.1. Data Organization
- 8.4.2. Expressions
- 8.4.3. Statements
-
8.4.4. Indexing
- 8.4.4.1. Use Indexes to Speed Up Access
- 8.4.4.2. Create Indexes Automatically Using PRIMARY KEY and UNIQUE
- 8.4.4.3. INTEGER PRIMARY KEY is a Fast Special Case
- 8.4.4.4. Use Small Positive Integers for INTEGER PRIMARY KEY and ROWID
- 8.4.4.5. Use Indexed Column Names in WHERE Clauses
- 8.4.4.6. Use Multi-Column Indexes
- 8.4.4.7. Use Inequality Constraints on the Last Index Term
- 8.4.4.8. Use Indexes to Help ORDER BY Clauses Evaluate Faster
- 8.4.4.9. Add Result Columns to the End of an Index
- 8.4.4.10. Resolve Indexing Ambiguities Using the Unary + Operator
- 8.4.4.11. Avoid Indexing Large BLOBs and CLOBs
- 8.4.4.12. Avoid Creating Too Many Indexes
- 8.4.5. Using the Optimizer
-
8.4.6. Resource Usage
- 8.4.6.1. Shrink a Database File
- 8.4.6.2. Avoid Running out of Filesystem Space
- 8.4.6.3. Keep Schemas Small and Unchanging
- 8.4.6.4. Avoid Tables and Indexes with an Excessive Number of Columns
- 8.4.6.5. Avoid Corrupting Database Files
- 8.4.6.6. Avoid Queries that Require Transient Tables
- 8.4.6.7. Avoid Using Excess Memory
- 8.5. Summary
- 9. Using Symbian SQL: Three Case Studies
- A. Troubleshooting
- B. SDB Database Creation Tool
- C. Symbian SQL Error Codes
- References
Product information
- Title: Inside Symbian SQL: A Mobile Developer's Guide to SQLite
- Author(s):
- Release date: April 2010
- Publisher(s): Wiley
- ISBN: 9780470744024
You might also like
book
Introducing SQLite for Mobile Developers
This brief book is a basic introduction to SQLite for iOS and Android developers. The book …
book
String Algorithms in C: Efficient Text Representation and Search
Implement practical data structures and algorithms for text search and discover how it is used inside …
book
Professional C# 6 and .NET Core 1.0
A true professional's guide to C# 6 Professional C# 6 and .NET Core 1.0 provides complete …
book
SQL Hacks
Whether you're running Access, MySQL, SQL Server, Oracle, or PostgreSQL, this book will help you push …