Muutke küpsiste eelistusi

E-raamat: Definitive Guide to SQLite

  • Formaat: PDF+DRM
  • Ilmumisaeg: 28-Jan-2011
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781430232261
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 80,26 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 28-Jan-2011
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781430232261
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Outside of the world of enterprise computing, there is one database that enables a huge range of software and hardware to flex relational database capabilities, without the baggage and cost of traditional database management systems. That database is SQLite—an embeddable database with an amazingly small footprint, yet able to handle databases of enormous size. SQLite comes equipped with an array of powerful features available through a host of programming and development environments. It is supported by languages such as C, Java, Perl, PHP, Python, Ruby, TCL, and more.

The Definitive Guide to SQLite, Second Edition is devoted to complete coverage of the latest version of this powerful database. It offers a thorough overview of SQLite’s capabilities and APIs. The book also uses SQLite as the basis for helping newcomers make their first foray into database development. In only a short time you can be writing programs as diverse as a server-side browser plug-in or the next great iPhone or Android application!

  • Learn about SQLite extensions for C, Java, Perl, PHP, Python, Ruby, and Tcl.
  • Get solid coverage of SQLite internals.
  • Explore developing iOS (iPhone) and Android applications with SQLite.

SQLite is the solution chosen for thousands of products around the world, from mobile phones and GPS devices to set-top boxes and web browsers. You almost certainly use SQLite every day without even realizing it!

About the Authors xvi
About the Technical Reviewer xvii
Acknowledgments xviii
Introduction xix
Chapter 1 Introducing SQLite
1(16)
An Embedded Database
1(1)
A Developer's Database
2(1)
An Administrator's Database
3(1)
SQLite History
3(1)
Who Uses SQLite
4(1)
Architecture
5(3)
The Interface
6(1)
The Compiler
6(1)
The Virtual Machine
6(1)
The Back End
7(1)
Utilities and Test Code
8(1)
SQLite's Features and Philosophy
8(3)
Zero Configuration
8(1)
Portability
8(1)
Compactness
9(1)
Simplicity
9(1)
Flexibility
9(1)
Liberal Licensing
9(1)
Reliability
10(1)
Convenience
10(1)
Performance and Limitations
11(2)
Who Should Read This Book
13(1)
How This Book Is Organized
14(1)
Additional Information
15(1)
Summary
15(2)
Chapter 2 Getting Started
17(30)
Where to Get SQLite
17(1)
SQLite on Windows
18(12)
Getting the Command-Line Program
18(3)
Getting the SQLite DLL
21(1)
Compiling the SQLite Source Code on Windows
22(3)
Building the SQLite DLL with Microsoft Visual C++
25(2)
Building a Dynamically Linked SQLite Client with Visual C++
27(1)
Building SQLite with MinGW
28(2)
SQLite on Linux, Mac OS X, and Other POSIX Systems
30(2)
Binaries and Packages
30(1)
Compiling SQLite from Source
31(1)
The Command-Line Program
32(3)
The CLP in Shell Mode
33(1)
The CLP in Command-Line Mode
34(1)
Database Administration
35(10)
Creating a Database
35(2)
Getting Database Schema Information
37(2)
Exporting Data
39(1)
Importing Data
40(1)
Formatting
40(1)
Exporting Delimited Data
41(1)
Performing Unattended Maintenance
41(1)
Backing Up a Database
42(2)
Getting Database File Information
44(1)
Other SQLite Tools
45(1)
Summary
46(1)
Chapter 3 SQL for SQLite
47(40)
The Example Database
47(3)
Installation
48(1)
Running the Examples
49(1)
Syntax
50(3)
Commands
51(1)
Literals
52(1)
Keywords and Identifiers
53(1)
Comments
53(1)
Creating a Database
53(2)
Creating Tables
53(1)
Altering Tables
54(1)
Querying the Database
55(32)
Relational Operations
55(2)
Select and the Operational Pipeline
57(2)
Filtering
59(5)
Limiting and Ordering
64(2)
Functions and Aggregates
66(1)
Grouping
67(5)
Removing Duplicates
72(1)
Joining Tables
72(5)
Names and Aliases
77(2)
Subqueries
79(2)
Compound Queries
81(2)
Conditional Results
83(1)
Handling Null in SQLite
84(2)
Summary
86(1)
Chapter 4 Advanced SQL for SQLite
87(38)
Modifying Data
87(5)
Inserting Records
87(4)
Updating Records
91(1)
Deleting Records
92(1)
Data Integrity
92(19)
Entity Integrity
93(4)
Domain Integrity
97(4)
Storage Classes
101(3)
Views
104(2)
Indexes
106(2)
Triggers
108(3)
Transactions
111(7)
Transaction Scopes
111(1)
Conflict Resolution
112(3)
Database Locks
115(1)
Deadlocks
116(1)
Transaction Types
117(1)
Database Administration
118(6)
Attaching Databases
118(1)
Cleaning Databases
119(1)
Database Configuration
120(3)
The System Catalog
123(1)
Viewing Query Plans
123(1)
Summary
124(1)
Chapter 5 SQLite Design and Concepts
125(28)
The API
125(11)
The Principal Data Structures
126(1)
The Core API
127(8)
Operational Control
135(1)
Using Threads
136(1)
The Extension API
136(2)
Creating User-Defined Functions
136(1)
Creating User-Defined Aggregates
137(1)
Creating User-Defined Collations
138(1)
Transactions
138(7)
Transaction Life Cycles
138(1)
Lock States
139(2)
Read Transactions
141(1)
Write Transactions
141(4)
Tuning the Page Cache
145(1)
Transitioning to Exclusive
145(1)
Sizing the Page Cache
145(1)
Waiting for Locks
146(3)
Using a Busy Handler
146(1)
Using the Right Transaction
147(2)
Code
149(2)
Using Multiple Connections
149(1)
The Importance of Finalizing
150(1)
Shared Cache Mode
151(1)
Summary
151(2)
Chapter 6 The Core C API
153(42)
Wrapped Queries
153(8)
Connecting and Disconnecting
153(2)
The exec Query
155(4)
The Get Table Query
159(2)
Prepared Queries
161(3)
Compilation
161(1)
Execution
162(1)
Finalization and Reset
163(1)
Fetching Records
164(5)
Getting Column Information
165(1)
Getting Column Values
166(2)
A Practical Example
168(1)
Parameterized Queries
169(5)
Numbered Parameters
172(1)
Named Parameters
173(1)
Tcl Parameters
173(1)
Errors and the Unexpected
174(4)
Handling Errors
174(2)
Handling Busy Conditions
176(1)
Handling Schema Changes
177(1)
Operational Control
178(12)
Commit Hooks
178(1)
Rollback Hooks
179(1)
Update Hooks
179(1)
Authorizer Functions
180(10)
Threads
190(3)
Shared Cache Mode
190(3)
Threads and Memory Management
193(1)
Summary
193(2)
Chapter 7 The Extension C API
195(24)
The API
196(4)
Registering Functions
196(2)
The Step Function
198(1)
Return Values
198(2)
Functions
200(4)
Return Values
202(1)
Arrays and Cleanup Handlers
202(1)
Error Conditions
203(1)
Returning Input Values
203(1)
Aggregates
204(5)
Registration Function
205(1)
A Practical Example
206(3)
Collations
209(8)
Collation Defined
210(2)
A Simple Example
212(4)
Collation on Demand
216(1)
Summary
217(2)
Chapter 8 Language Extensions
219(34)
Selecting an Extension
220(1)
Perl
221(5)
Installation
221(1)
Connecting
222(1)
Query Processing
222(2)
Parameter Binding
224(1)
User-Defined Functions
224(1)
Aggregates
225(1)
Python
226(6)
Installation
226(1)
Connecting
227(1)
Query Processing
227(2)
Parameter Binding
229(1)
User-Defined Functions
230(1)
Aggregates
231(1)
APSW as an Alternative Python Interface
232(1)
Ruby
232(4)
Installation
232(1)
Connecting
233(1)
Query Processing
233(1)
Parameter Binding
234(2)
User-Defined Functions
236(1)
Java
236(7)
Installation
237(1)
Connecting
238(1)
Query Processing
238(2)
User-Defined Functions and Aggregates
240(1)
JDBC
241(2)
Tcl
243(4)
Installation
243(1)
Connecting
244(1)
Query Processing
244(3)
User-Defined Functions
247(1)
PHP
247(5)
Installation
248(1)
Connections
248(1)
Queries
248(3)
User-Defined Functions and Aggregates
251(1)
Summary
252(1)
Chapter 9 iOS Development with SQLite
253(26)
Prerequisites for SQLite iOS Development
253(6)
Signing Up for Apple Developer
254(1)
Downloading and Installing Xcode and the iOS SDK
254(4)
Alternatives to Xcode
258(1)
Building the iSeinfeld iOS SQLite Application
259(13)
Step 1 Creating a New Xcode Project
259(2)
Step 2 Adding the SQLite Framework to Your Project
261(2)
Step 3 Preparing the Foods Database
263(1)
Step 4 Creating Classes for the Food Data
264(5)
Step 5 Accessing and Querying the SQLite DB
269(3)
Step 6 Final Polish and Wiring for iSeinfeld
272(1)
iSeinfeld in Action!
272(4)
Working with Large SQLite Databases Under iOS
276(1)
Summary
277(2)
Chapter 10 Android Development with SQLite
279(24)
Prerequisites for SQLite Android Development
279(6)
Check Prerequisites and the JDK
280(1)
Downloading and Installing the Android SDK Starter Package
280(1)
Downloading and Installing the Android Developer Tools
280(1)
Adding Android Platforms and Components
281(4)
The Android SQLite Classes and Interfaces
285(9)
Using the Basic Helper Class, SQLiteOpenHelper
285(1)
Working with the SQLiteDatabase Class
286(4)
Applying SQLiteOpenHelper and SQLiteDatabase in Practice
290(3)
Querying SQLite with SQLiteQueryBuilder
293(1)
Building the Seinfeld Android SQLite Application
294(6)
Creating a New Android Project
295(1)
Adding the Seinfeld SQLite Database to Your Project
296(1)
Querying the Foods Table
296(1)
Defining the User Interface
297(1)
Linking the Data and User Interface
298(1)
Viewing the Finished Seinfeld Application
299(1)
Care and Feeding for SQLite Android Applications
300(1)
Database Backup for Android
300(1)
Working with Large SQLite Databases Under Android
300(1)
Summary
301(2)
Chapter 11 SQLite Internals and New Features
303(20)
The B-Tree and Pager Modules
303(8)
Database File Format
303(5)
The B-Tree API
308(3)
Manifest Typing, Storage Classes, and Affinity
311(7)
Manifest Typing
311(2)
Type Affinity
313(1)
Affinities and Storage
314(4)
Write Ahead Logging
318(4)
How WAL Works
318(1)
Activation and Configuration WAL
319(1)
WAL Advantages and Disadvantages
320(1)
Operational Issues with WAL-Enabled SQLite Databases
321(1)
Summary
322(1)
Index 323
Grant Allen has worked in the IT field for over 20 years, as a CTO, enterprise architect, and database administrator. Grant's roles have covered private enterprise, academia and the government sector around the world, specialising in global-scale systems design, development, and performance. He is a frequent speaker at industry and academic conferences, on topics ranging from data mining to compliance, and technologies such as databases (DB2, Oracle, SQL Server, MySQL), content management, collaboration, disruptive innovation, and mobile ecosystems like Android. His first Android application was a task list to remind him to finish all his other unfinished Android projects. Grant works for Google, and in his spare time is completing a Ph.D on building innovative high-technology environments. Grant is the author of Beginning DB2, and lead author of Oracle SQL Recipes and The Definitive Guide to SQLite.