97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠(yuǎn)見教育科技集團(tuán) >> 新聞動(dòng)態(tài) >> Android資料 >> Android開發(fā)之SQLite數(shù)據(jù)庫簡介  
 
Android開發(fā)之SQLite數(shù)據(jù)庫簡介
分享到:

在Android平臺(tái)上,集成了一個(gè)嵌入式關(guān)系型數(shù)據(jù)庫—SQLite。SQLite3支持NULL、INTEGER、REAL(浮點(diǎn)數(shù)字)、TEXT(字符串文本)和BLOB(二進(jìn)制對(duì)象)數(shù)據(jù)類型,雖然它支持的類型只有5種,但實(shí)際上它也接受varchar(n)、char(n)、decimal(p,s) 等數(shù)據(jù)類型,只不過在運(yùn)算或保存時(shí)會(huì)轉(zhuǎn)換成對(duì)應(yīng)的5種數(shù)據(jù)類型。

SQLite簡介

SQLite是Android所帶的一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫,它是在2000年由D.Richard Hipp發(fā)布的支持SQL語句的輕量級(jí)的嵌入式數(shù)據(jù)庫。SQLite數(shù)據(jù)庫特點(diǎn):更加適用于嵌入式系統(tǒng),嵌入使用它的應(yīng)用程序中;占用內(nèi)存非常少,運(yùn)行高效可靠,可移植性好;提供了零配置(zero-configuration)運(yùn)行模式。SQLite數(shù)據(jù)庫不僅提高了運(yùn)行效率,而且屏蔽了數(shù)據(jù)庫使用和管理的復(fù)雜性,程序僅需要進(jìn)行基本的數(shù)據(jù)操作,其他操作可以交給程序內(nèi)部的數(shù)據(jù)庫引擎完成。

SQLite數(shù)據(jù)庫具有很強(qiáng)的移植性,可以運(yùn)行在Windows、Linux、BSD、Mac OS X和一些商用UNIX系統(tǒng),比如,Oracle的Solaris、IBM的AIX等;SQLite數(shù)據(jù)庫也可以工作在許多嵌入式操作系統(tǒng)下,例如,QNX、VxWorks、Android、Symbian和Windows Phone等。

SQLite的核心大約有3萬行標(biāo)準(zhǔn)C語言代碼,并且其源代碼開放,代碼中95%有較好的注釋,加上其模塊化的設(shè)計(jì)使這些代碼更加易于理解。

SQLite數(shù)據(jù)庫的模塊化設(shè)計(jì),由8個(gè)獨(dú)立的模塊構(gòu)成,這些獨(dú)立模塊又構(gòu)成了三個(gè)主要的子系統(tǒng):編譯器、核心模塊及后端,模塊將復(fù)雜的查詢過程分解為細(xì)小的工作進(jìn)行處理。模塊結(jié)構(gòu)圖如圖7-8所示。


圖7-8 SQLite數(shù)據(jù)庫模塊化設(shè)計(jì)

接口由SQLite C API組成,該API簡單易用,無論是應(yīng)用程序、腳本,還是庫文件,終都是通過接口與SQLite交互。

由圖可以看出,編譯器由分詞器、分析器和代碼生成器組成。分詞器和分析器對(duì)SQL語句進(jìn)行語法檢查分析后,將SQL語句轉(zhuǎn)化為對(duì)于底層來說能夠更方便處理的分層的數(shù)據(jù)結(jié)構(gòu),這種分層的數(shù)據(jù)結(jié)構(gòu)稱為“語法樹”,生成的語法樹傳遞給代碼生成器,由代碼生成器進(jìn)行處理,生成一種針對(duì)SQLite的匯編代碼,該部分代碼后交與虛擬機(jī)執(zhí)行。

SQLite數(shù)據(jù)庫體系結(jié)構(gòu)中核心的部分便是虛擬機(jī),也稱為虛擬數(shù)據(jù)庫引擎(Virtual Database Engine,VDBE)。與Java虛擬機(jī)相似,虛擬機(jī)用來解釋執(zhí)行字節(jié)代碼。虛擬機(jī)的字節(jié)代碼由128個(gè)操作碼構(gòu)成,這些操作碼主要用于操作數(shù)據(jù)庫,每一條指令都可以完成特定的數(shù)據(jù)庫操作,或以特定的方式處理?xiàng)5膬?nèi)容。

后端由B-樹、頁緩存和操作系統(tǒng)接口構(gòu)成。B-樹的主要功能就是索引,它維護(hù)著各個(gè)頁面之間的復(fù)雜關(guān)系,便于快速找到所需數(shù)據(jù);頁緩存主要就是通過操作系統(tǒng)接口在B-樹和磁盤之間傳遞頁面;B-樹和頁緩存共同對(duì)數(shù)據(jù)進(jìn)行管理。

 更多相關(guān)文章

·Android開發(fā)之SharedPreferences數(shù)據(jù)存儲(chǔ)方式
·Android開發(fā)之SharedPreferences示例
·Android開發(fā)之Intent解析
·Android開發(fā)之使用Intent隱式啟動(dòng)Activity
·Android開發(fā)中Intent屬性詳解