出版時(shí)間:2012-1-15 出版社:電子工業(yè)出版社 作者:Grant Allen,Mike Owens 頁(yè)數(shù):404 譯者:楊謙,劉義宣,謝志強(qiáng)
Tag標(biāo)簽:無(wú)
前言
謹(jǐn)以此書獻(xiàn)給我的母親, 感謝她對(duì)我無(wú)盡的支持! 譯者序 您用過(guò)FireFox(火狐)瀏覽器嗎?您用過(guò)金山詞霸、iPhone、iPad或Android系統(tǒng)嗎?如果答案是Yes,說(shuō)明您已經(jīng)是SQLite用戶或者從SQLite中受益了。SQLite作為一款嵌入式關(guān)系數(shù)據(jù)庫(kù),應(yīng)用十分廣泛,已經(jīng)被大量應(yīng)用在許多基礎(chǔ)的軟件中,并成為這些基礎(chǔ)軟件的組成部分。例如,您手中的iPhone或Android手機(jī),您電腦上的瀏覽器或者其他軟件,您訪問(wèn)的用PHP編寫的網(wǎng)站等?! ‰m然SQLite被越來(lái)越廣泛地應(yīng)用,但是一直缺乏一本全面、深入淺出地介紹SQLite的書,本書就是這樣一本從零開(kāi)始不斷深入探究SQLite的書?! ”緯厣r明,它不僅為開(kāi)發(fā)人員提供了全新的數(shù)據(jù)庫(kù)選擇,并且全面介紹了如何應(yīng)用這種選擇。全書第1、2章全面細(xì)致且重點(diǎn)突出地介紹了SQLite的起源和特點(diǎn),并與主流大型關(guān)系數(shù)據(jù)庫(kù)進(jìn)行比較,這可作為數(shù)據(jù)庫(kù)選型的重要參考。本書也是嵌入式關(guān)系數(shù)據(jù)庫(kù)研究人員的知音,因?yàn)樗榻B了嵌入式數(shù)據(jù)庫(kù)中最典型的代表SQLite,并對(duì)SQLite內(nèi)核做了簡(jiǎn)要介紹。最重要的是,本書是SQLite相關(guān)開(kāi)發(fā)者的重要幫手。從第3章開(kāi)始,全面介紹SQLite中的SQL、高級(jí)SQL、核心API和擴(kuò)展API以及各種語(yǔ)言擴(kuò)展、iPhone和Android開(kāi)發(fā)中如何應(yīng)用SQLite等。內(nèi)容翔實(shí),實(shí)例豐富,理論與實(shí)踐并舉?! ∽g者在翻譯本書時(shí),一邊是感到萬(wàn)分的榮幸,一邊也是戰(zhàn)戰(zhàn)兢兢。吉爾伯特海特(美國(guó)教育家)曾經(jīng)說(shuō)過(guò):寫了一本很糟糕的書只是犯錯(cuò)而已,而把一本好書翻譯得很糟糕則是犯罪。但是對(duì)于本書這樣最佳的SQLite理論與實(shí)踐之作,即便是冒著犯罪的風(fēng)險(xiǎn),也值得翻譯出來(lái)并推薦給大家?! ”緯休d的內(nèi)容豐富而深入。在翻譯的過(guò)程中,譯者也常感汗顏,原來(lái)自詡對(duì)SQLite頗為了解的我深刻感受到自己知識(shí)面的淺薄和不完整,于是翻譯過(guò)程也成為了自己檢討和學(xué)習(xí)的過(guò)程,收獲頗豐。本書的作者是SQLite方面的知名研究者與實(shí)踐者,其中一位是PySQLite的創(chuàng)建者。他們有著豐富的IT從業(yè)經(jīng)驗(yàn),書中的很多內(nèi)容都是他們長(zhǎng)年實(shí)踐的經(jīng)驗(yàn)和心得。因此,希望大家反復(fù)閱讀,必定受益無(wú)窮?! ∮捎诒緯髡叩闹R(shí)廣博,經(jīng)驗(yàn)豐富,而譯者本人知識(shí)有限、時(shí)間倉(cāng)促,難免對(duì)作品的個(gè)別之處無(wú)法原汁原味地呈現(xiàn)給讀者,在此敬請(qǐng)各位讀者多多包涵,不辭吝教,指出紕漏。我也希望能就本書的內(nèi)容與讀者有更多的交流?! ∽詈?,我要感謝電子工業(yè)出版社博文視點(diǎn)公司的張春雨編輯在譯書的過(guò)程中給予我們的莫大幫助。我還要感謝我的朋友雷昕、李曉亮、楊艷、劉爭(zhēng)濤、吳林、楊建軒、尹相樂(lè)、季旻、房華、張曉光和東莞經(jīng)濟(jì)貿(mào)易學(xué)校的謝志強(qiáng)老師等。特別感謝北京恩墨科技有限公司技術(shù)總監(jiān)、ItpubOracle數(shù)據(jù)庫(kù)管理版版主張樂(lè)奕,原Oracle亞洲研發(fā)中心高級(jí)DBA,現(xiàn)瑪氏信息技術(shù)服務(wù)有限公司亞太區(qū)數(shù)據(jù)庫(kù)運(yùn)營(yíng)經(jīng)理葉熙昌,他們的參與使得本書的質(zhì)量得到了進(jìn)一步的保證?! 钪t 2011年8月于北京志新村
內(nèi)容概要
本書是一本關(guān)于SQLite起源、特性、簡(jiǎn)介、使用、深度解析的書。全書首先從SQLite最初起源、特性、設(shè)計(jì)理念、實(shí)際應(yīng)用講解開(kāi)始,逐步深入、全面地介紹了在各個(gè)平臺(tái)如何使用SQLite。接著,介紹SQLite的一般SQL和高級(jí)功能的SQL,采取舉例說(shuō)明,使得本書內(nèi)容生動(dòng)有趣。然后,全面介紹了各種語(yǔ)言如何與SQLite進(jìn)行編程交互,重點(diǎn)介紹SQLite原生語(yǔ)言C語(yǔ)言中的API,使得使用者可以不管擴(kuò)展SQLite的功能。本書還介紹了目前火熱的IOS和Android開(kāi)發(fā)中如何使用SQLite,并給出實(shí)際例子。最后,介紹了SQLite內(nèi)部架構(gòu)設(shè)計(jì),使得讀者可以深入理解SQLite,高級(jí)開(kāi)發(fā)者可以進(jìn)一步參與SQLite開(kāi)發(fā)或者開(kāi)發(fā)自己的SQLite。
作者簡(jiǎn)介
作者:(美國(guó))艾倫 (Grant Allen) (美國(guó))歐文斯 (Mike Owens) 譯者:楊謙 劉義宣 謝志強(qiáng)
書籍目錄
譯者序
推薦序1
推薦序2
推薦序3
關(guān)于作者
關(guān)于技術(shù)評(píng)審
致謝
簡(jiǎn)介
第1章 SQLite介紹
嵌入式數(shù)據(jù)庫(kù)
開(kāi)發(fā)者的數(shù)據(jù)庫(kù)
管理員的數(shù)據(jù)庫(kù)
SQLite歷史
誰(shuí)在使用SQLite
體系結(jié)構(gòu)
接口
編譯器
虛擬機(jī)
后端
工具和測(cè)試代碼
SQLite的特性和設(shè)計(jì)理念
零配置
移植性
緊湊性
簡(jiǎn)單性
靈活性
自由授權(quán)
可靠性
易用性
性能和限制
本書面向的讀者
本書的組織結(jié)構(gòu)
附加說(shuō)明
總結(jié)
第2章 入門
何處獲取SQLite
Windows上的SQLite
獲得命令行程序
獲取SQLite動(dòng)態(tài)鏈接庫(kù)(DLL)
在Windows上編譯SQLite源代碼
使用微軟Visual C++構(gòu)建SQLite DLL
用Visual C++構(gòu)建動(dòng)態(tài)鏈接SQLite的客戶端
用MinGW構(gòu)建SQLite
Linux、蘋果Mac OS X以及其他POSIX系統(tǒng)上的SQLite
二進(jìn)制和包
從源代碼編譯
命令行程序
Shell模式下的CLP
命令行模式的CLP
數(shù)據(jù)庫(kù)管理
創(chuàng)建數(shù)據(jù)庫(kù)
獲得數(shù)據(jù)庫(kù)的Schema信息
導(dǎo)出數(shù)據(jù)
導(dǎo)入數(shù)據(jù)
格式化
導(dǎo)出帶分隔符的數(shù)據(jù)
執(zhí)行無(wú)人值守維護(hù)
備份數(shù)據(jù)庫(kù)
獲得數(shù)據(jù)庫(kù)文件的信息
其他SQLite工具
總結(jié)
第3章 SQLite中的SQL
數(shù)據(jù)庫(kù)示例
安裝
運(yùn)行示例
語(yǔ)法
命令
常量
關(guān)鍵字和標(biāo)識(shí)符
注釋
創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建表
修改表
數(shù)據(jù)庫(kù)查詢
關(guān)系操作
select命令與操作管道
過(guò)濾
限定和排序
函數(shù)(Function)和聚合(Aggregate)
分組(Grouping)
去掉重復(fù)
多表連接
名稱和別名
子查詢
復(fù)合查詢
條件結(jié)果
處理SQLite中的Null
總結(jié)
第4章 SQLite中的高級(jí)SQL
修改數(shù)據(jù)
插入記錄
更新記錄
刪除記錄
數(shù)據(jù)完整性
實(shí)體完整性
域完整性
存儲(chǔ)類
視圖
索引
觸發(fā)器
事務(wù)
事務(wù)的范圍
沖突解決
數(shù)據(jù)庫(kù)鎖
死鎖
事務(wù)的類型
數(shù)據(jù)庫(kù)管理
附加數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)清理
數(shù)據(jù)庫(kù)配置
系統(tǒng)目錄
查看查詢計(jì)劃
總結(jié)
第5章 SQLite設(shè)計(jì)與概念
API
主要數(shù)據(jù)結(jié)構(gòu)
連接和語(yǔ)句
核心API
可操作的控制
使用線程
擴(kuò)展API
創(chuàng)建用戶自定義函數(shù)
創(chuàng)建用戶自定義聚合
創(chuàng)建用戶自定義排序
事務(wù)
事務(wù)生命周期
鎖狀態(tài)
讀事務(wù)
寫事務(wù)
調(diào)整頁(yè)面緩存
過(guò)渡到獨(dú)占狀態(tài)
調(diào)整頁(yè)面緩存
等待鎖
繁忙處理
使用恰當(dāng)?shù)氖聞?wù)
代碼
使用多個(gè)連接
finalize()函數(shù)的重要性
共享緩存模式
總結(jié)
第6章 核心C API
查詢封裝
連接與斷開(kāi)連接
執(zhí)行查詢
獲取表查詢
查詢準(zhǔn)備
編譯
執(zhí)行
完成與重置
獲取記錄
獲取字段信息
獲取字段值
一個(gè)實(shí)例
查詢參數(shù)化
參數(shù)編號(hào)
參數(shù)命名
Tcl參數(shù)
錯(cuò)誤與異常
錯(cuò)誤處理
繁忙情況處理
模式改變處理
操作控制
提交鉤子
回滾鉤子
更新鉤子
授權(quán)函數(shù)
線程
共享緩存模型
線程與內(nèi)存管理
總結(jié)
第7章 擴(kuò)展C API
API
注冊(cè)函數(shù)
步驟函數(shù)
返回值
函數(shù)
返回值
數(shù)組與內(nèi)存清理器
錯(cuò)誤處理
返回輸入值
聚合
注冊(cè)函數(shù)
實(shí)例
排序規(guī)則
排序法定義
簡(jiǎn)單例子
按需排序
總結(jié)
第8章 語(yǔ)言擴(kuò)展
選擇一種擴(kuò)展語(yǔ)言
Perl
安裝
連接
查詢處理
參數(shù)綁定
用戶自定義函數(shù)
聚合
Python
安裝
連接
查詢處理
參數(shù)綁定
用戶自定義函數(shù)
聚合
APSW(另一種Python接口)
Ruby
安裝
連接
查詢處理
參數(shù)綁定
用戶自定義函數(shù)
Java
安裝
連接
查詢處理
自定義函數(shù)和聚合
JDBC
Tcl
安裝
連接
查詢處理
用戶自定義函數(shù)
PHP
安裝
連接
查詢
用戶自定義函數(shù)和聚合
總結(jié)
第9章 iOS開(kāi)發(fā)中的SQLite
SQLite iOS開(kāi)發(fā)的先決條件
注冊(cè)成為Apple軟件開(kāi)發(fā)者
下載并安裝Xcode和iOS SDK
其他開(kāi)發(fā)環(huán)境
建立iSeinfeld iOS SQLite應(yīng)用
第一步:創(chuàng)建一個(gè)新的Xcode工程
第二步:將SQLite框架添加到工程
第三步:準(zhǔn)備Foods數(shù)據(jù)庫(kù)
第四步:為食品數(shù)據(jù)創(chuàng)建類
第五步:訪問(wèn)和查詢SQLite數(shù)據(jù)庫(kù)
第六步:最后包裝和配置iSeinfeld應(yīng)用程序
運(yùn)行iSeinfeld
iOS中處理大型SQLite數(shù)據(jù)庫(kù)
總結(jié)
第10章 Android開(kāi)發(fā)中的SQLite
SQLite Android開(kāi)發(fā)的先決條件
檢查先決條件和JDK
下載和安裝Android SDK Starter包
下載和安裝Android開(kāi)發(fā)工具
添加Android平臺(tái)和組件
Android SQLite類和接口
使用基礎(chǔ)幫助類:SQLiteOpenHelper
SQLiteDatabase類
在實(shí)際中應(yīng)用SQLiteOpenHelper和SQLiteDatabase
使用SQLiteQueryBuilder類查詢SQLite數(shù)據(jù)庫(kù)
搭建Seinfeld Android SQLite應(yīng)用程序
創(chuàng)建新的Android工程
將Seinfeld SQLite數(shù)據(jù)庫(kù)添加到工程
查詢Food數(shù)據(jù)庫(kù)表
定義用戶接口
連接數(shù)據(jù)和用戶接口
查看完成的Seinfeld應(yīng)用程序
SQLite Android應(yīng)用程序的注意事項(xiàng)
Android數(shù)據(jù)庫(kù)的備份
Android系統(tǒng)處理大型SQLite數(shù)據(jù)庫(kù)
總結(jié)
第11章 SQLite內(nèi)部機(jī)制及新特性
B-tree和Pager模塊
數(shù)據(jù)庫(kù)文件格式
B-tree API
顯示類型、存儲(chǔ)類以及親緣性介紹
顯示類型
類型親緣性
親緣性和存儲(chǔ)
執(zhí)行中的親緣性
預(yù)寫日志
WAL工作原理
激活和配置WAL
WAL的優(yōu)缺點(diǎn)
啟用WAL時(shí)SQLite數(shù)據(jù)庫(kù)的操作問(wèn)題
總結(jié)
索引
章節(jié)摘錄
版權(quán)頁(yè):插圖:
編輯推薦
《SQLite權(quán)威指南(第2版)》:讀者朋友們:企業(yè)級(jí)計(jì)算之外,有一款數(shù)據(jù)庫(kù),它具備大量軟硬件需要的關(guān)系數(shù)據(jù)庫(kù)功能,同時(shí)沒(méi)有傳統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)的復(fù)雜配置、維護(hù),以及高昂的成本。它就是SQLite據(jù)庫(kù)——一款極其緊湊的可嵌入的數(shù)據(jù)庫(kù),一款能處理巨大數(shù)據(jù)量的數(shù)據(jù)庫(kù)。通過(guò)編程和開(kāi)發(fā),SQLite可以具備大量強(qiáng)大的特性。它也支持C、Java、Ped、PHP、Pvthon、Ruby、Td等語(yǔ)言。《SQLite權(quán)威指南(第二版)》包含了SQLite數(shù)據(jù)庫(kù)最新版本的全部?jī)?nèi)容,全面介紹SQLite的功能和API,同時(shí),以SQLite為基礎(chǔ),幫助新人開(kāi)啟數(shù)據(jù)庫(kù)開(kāi)發(fā)的第一次旅程。短時(shí)間內(nèi),您就能開(kāi)發(fā)應(yīng)用程序,諸如服務(wù)器端瀏覽器插件或者很有流行潛力的iPhone或Android應(yīng)用!您將會(huì)了解到SQLltc的C、Java、Pd、PHP、Python、Ruby以及Tcl展。您將會(huì)掌握SQLite內(nèi)核。您將會(huì)學(xué)習(xí)使用SQLitc開(kāi)發(fā)iOS(iPhone)和Android應(yīng)用。全世界范圍內(nèi),從移動(dòng)電話和GPS設(shè)備到機(jī)頂盒與Web瀏覽器,數(shù)以干計(jì)的產(chǎn)品選擇了SQLite數(shù)據(jù)庫(kù)。您可能每天都在不知不覺(jué)中使用SQLite?!瑐悾珿rant Allen和Mike Owens
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載