• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      SQLite在數(shù)據(jù)庫(kù)實(shí)驗(yàn)教學(xué)中的應(yīng)用探討*

      2010-11-01 07:10:40鄭州輕工業(yè)學(xué)院馬江濤劉放美
      河南科技 2010年5期
      關(guān)鍵詞:數(shù)據(jù)類(lèi)型源代碼命令

      鄭州輕工業(yè)學(xué)院 馬江濤 劉放美

      SQLite在數(shù)據(jù)庫(kù)實(shí)驗(yàn)教學(xué)中的應(yīng)用探討*

      鄭州輕工業(yè)學(xué)院 馬江濤 劉放美

      一、SQLite介紹

      SQLite的第一個(gè)Alpha版本誕生于2000年5月。SQLite是一款輕型數(shù)據(jù)庫(kù),也是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式系統(tǒng),而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了,它占用的系統(tǒng)資源非常低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存空間就夠了。它能夠支持Windows、Linux、Unix等主流操作系統(tǒng),同時(shí)能夠跟很多程序語(yǔ)言相結(jié)合,比如Tcl、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開(kāi)源世界著名的數(shù)據(jù)庫(kù)管理系統(tǒng),它的處理速度比他們都快。SQLite雖然很小巧,但是支持的SQL語(yǔ)句不會(huì)遜色于其他開(kāi)源數(shù)據(jù)庫(kù),它支持的SQL包括:ATTACHDATABASE,BEGINTRANSACTION,comment,COMMIT TRANSACTION,COPY,CREATE INDEX,CREATE TABLE,CREATE TRIGGER,CREATE VIEW,DELETE,DETACH DATABASE,DROP INDEX,DROP TABLE,DROP TRIGGER,DROP VIEW,END TRANSACTION,EXPLAIN,expression,INSERT,ON CONFLICT clause,PRAGMA,REPLACE,ROLLBACKTRANSACTION,SELECT,UPDATE。

      同時(shí),它還支持事務(wù)處理等功能。SQLite支持跨平臺(tái),操作簡(jiǎn)單,能夠使用很多語(yǔ)言直接創(chuàng)建數(shù)據(jù)庫(kù),如果是個(gè)很小型的應(yīng)用,或者想做嵌入式開(kāi)發(fā),可以考慮使用SQLite。目前,它的最新版本是6.20,發(fā)布時(shí)間是2009年11月4日。它的官方網(wǎng)站是http://www.sqlite.org或http://www.sqlite.com.cn,能在上面獲得源代碼和文檔。同時(shí),因?yàn)閿?shù)據(jù)庫(kù)結(jié)構(gòu)簡(jiǎn)單,系統(tǒng)源代碼也不是很多,也適合想做研究數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)的專(zhuān)業(yè)人士。

      SQLite的特性。ACID事務(wù)零配置指無(wú)需安裝和管理配置,儲(chǔ)存在單一磁盤(pán)文件中的一個(gè)完整的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)文件可以在不同字節(jié)順序的機(jī)器間自由的共享,比一些流行的數(shù)據(jù)庫(kù)在大部分普通數(shù)據(jù)庫(kù)操作要快和簡(jiǎn)單,同時(shí)通過(guò)Wrapper支持其他語(yǔ)言的綁定,良好注釋的源代碼,有著90%以上的測(cè)試覆蓋率,并且沒(méi)有額外的依賴(lài),Source完全Open使用,你可用于任何用途,且支持多種開(kāi)發(fā)語(yǔ)言,如C、PHP、Perl、Java、ASP.NET和Python等語(yǔ)言。

      二、SQLite的功能特點(diǎn)

      1.支持絕大多數(shù)的SQL92標(biāo)準(zhǔn)的關(guān)系型數(shù)據(jù)庫(kù),包括索引、限制、觸發(fā)和查看。通過(guò)數(shù)據(jù)庫(kù)的獨(dú)立性和共享鎖實(shí)現(xiàn)獨(dú)立事系處理。但不支持引用完整性的外鍵限制,其他不支持的方面在應(yīng)用時(shí)通過(guò)參考文獻(xiàn)查看。

      2.建立的每個(gè)數(shù)據(jù)庫(kù)分別存儲(chǔ)在一個(gè)獨(dú)立的不依賴(lài)其他文件的單一數(shù)據(jù)庫(kù)文件中。這符合嵌入式數(shù)據(jù)庫(kù)的文件數(shù)據(jù)庫(kù)要求,邊衡數(shù)據(jù)庫(kù)的發(fā)布。

      3.官方網(wǎng)站上的源程序提供了C和TCL語(yǔ)言接口,可通過(guò)第三方的接口程序?qū)崿F(xiàn)對(duì)其他語(yǔ)言的支持,如通過(guò)JDBC接口實(shí)現(xiàn)對(duì)Jova接口程序的支持。

      4.數(shù)據(jù)庫(kù)最大可以達(dá)到2TB,最小可以?xún)H幾百KB,甚至可以更小。

      5.提供了對(duì)事務(wù)功能和并發(fā)處理的支持。

      6.SQLite不同于Server數(shù)據(jù)庫(kù)。它和程序運(yùn)行在同一進(jìn)程中,運(yùn)行過(guò)程中沒(méi)有其他進(jìn)程的通信,所以速度快、體積小、易于分發(fā),適合在單機(jī)環(huán)境中運(yùn)行。

      三、傳統(tǒng)的教學(xué)實(shí)驗(yàn)?zāi)J椒椒?/h2>

      一般而言,計(jì)算機(jī)軟件實(shí)驗(yàn)的基本作用是對(duì)特定軟件系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)原則進(jìn)行示范。實(shí)驗(yàn)的輔助作用還有:對(duì)課堂教學(xué)中的結(jié)論進(jìn)行驗(yàn)證,對(duì)課堂教學(xué)中的方法進(jìn)行運(yùn)用,補(bǔ)充課堂教學(xué)的不足。

      傳統(tǒng)的數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)課程理想的支撐環(huán)境是:局域網(wǎng)(如Novell NetWare、Microsoft Windows NT Advanced Server等);支持ANSI/ISO SQL2及SQL1999(SQL3)標(biāo)準(zhǔn)的SQL RDBMS(如Oracle、IBM UDB DB2、InformixDynamicServer、Microsoft SQL Server 2000、Sybase Adaptive Server Enterprise、MySQL較新的版本等),并配置必要SQL交互接口;嵌入式SQL及預(yù)編譯器;ER/UML CASE工具和前端工具;等。若以上標(biāo)準(zhǔn)配置不能滿(mǎn)足需求,另有替代配置:提供SQL交互接口的RDBMS(如Microsoft Access、Visual FoxPro等)。

      四、Sqlite實(shí)驗(yàn)教學(xué)方式

      進(jìn)入系統(tǒng)開(kāi)始菜單后,運(yùn)行cmd命令,進(jìn)入C:Documents and SettingsAdministrator,進(jìn)入到E盤(pán)paper的sqlite子目錄下,數(shù)據(jù)庫(kù)管理系統(tǒng)sqlite3.exe以及數(shù)據(jù)庫(kù)first.db在此目錄下。在命令行輸入sqlite3.exe和first.db(它們之間必須有空格)就進(jìn)入sqlite數(shù)據(jù)庫(kù)管理系統(tǒng),會(huì)看到如下顯示:

      E:papersqlite>sqlite3.exe first.db

      SQLite version 3.6.10

      Enter“.help”for instructions

      Enter SQL statements terminated with a“;”

      此版本是sqlite的3.6.10,我們可以用.help來(lái)查看幫助信息。如果是關(guān)于sqlite的內(nèi)部命令則都是以開(kāi)始命令開(kāi)始,如果輸入的是SQL語(yǔ)句命令必須以結(jié)束命令結(jié)束。

      SQLite是無(wú)類(lèi)型的??梢员4嫒魏晤?lèi)型的數(shù)據(jù)到所想要保存的任何表的任何列中,無(wú)論這列聲明的數(shù)據(jù)類(lèi)型是什么。對(duì)于SQLite來(lái)說(shuō)對(duì)字段不指定類(lèi)型是完全有效的,字段類(lèi)型為主鍵時(shí)除外。如Create Table ex1(a,b,c),SQLite允許忽略數(shù)據(jù)類(lèi)型,但是仍然建議在你的Create Table語(yǔ)句中指定數(shù)據(jù)類(lèi)型。因?yàn)閿?shù)據(jù)類(lèi)型對(duì)于你和其他的程序員交流,或者你準(zhǔn)備換掉你的數(shù)據(jù)庫(kù)引擎。SQLite支持常見(jiàn)的數(shù)據(jù)類(lèi)型,如CREATE TABLE ex2(aVARCHAR(10)、bNVARCHAR(15)、cTEXT、d INTEGER、eFLOAT、fBOOLEAN、gCLOB、hBLOB、i TIMESTAMP,j NUMERIC(10,5),k VARYING CHARACTER(24),l NATIONAL VARYING CHARACTER(16))。我們可以使用SQLite的管理工具,如sqlitemanager來(lái)更好的使用SQLite數(shù)據(jù)庫(kù)。

      五、實(shí)驗(yàn)教學(xué)中應(yīng)注意的問(wèn)題

      SQLite作為一個(gè)開(kāi)源的嵌入式數(shù)據(jù)庫(kù)產(chǎn)品,具有系統(tǒng)體積小、檢索效率高的特性,對(duì)于嵌入式場(chǎng)合和工業(yè)控制過(guò)程中的數(shù)據(jù)存儲(chǔ),實(shí)現(xiàn)管理、執(zhí)行、維護(hù)的簡(jiǎn)單化。在Windows應(yīng)用程序的開(kāi)發(fā)中,由于SQLite零配置的特性,生成的Windows應(yīng)用程序不需要進(jìn)行數(shù)據(jù)庫(kù)各程操作,同時(shí)具有廣闊的應(yīng)用范圍,目前已廣泛應(yīng)用于中小型網(wǎng)站的后臺(tái)數(shù)據(jù)庫(kù)和內(nèi)存數(shù)據(jù)庫(kù)中。

      和傳統(tǒng)的數(shù)據(jù)庫(kù)原理實(shí)驗(yàn)相比,SQLite入門(mén)比較簡(jiǎn)單,學(xué)生操作起來(lái)所見(jiàn)即所得,學(xué)生可以根據(jù)自己的應(yīng)用需求來(lái)設(shè)計(jì)相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng),且占用系統(tǒng)資源小,學(xué)生可以把數(shù)據(jù)庫(kù)發(fā)在郵箱里面,可以實(shí)現(xiàn)隨時(shí)隨地都能設(shè)計(jì)使用數(shù)據(jù)庫(kù)的效果。但是在實(shí)驗(yàn)中應(yīng)該注意,某些學(xué)生對(duì)基于命令行的語(yǔ)句輸入不太熟悉,需要加強(qiáng)DOS命令的練習(xí)。另外,SQLite源代碼開(kāi)放,學(xué)生在學(xué)習(xí)的同時(shí),還可以進(jìn)行深入地研究,自行開(kāi)發(fā)適合某種特定需求的數(shù)據(jù)庫(kù)管理系統(tǒng)。

      河南省科技攻關(guān)項(xiàng)目“嵌入式數(shù)據(jù)庫(kù)系統(tǒng)”(0424220008)。

      猜你喜歡
      數(shù)據(jù)類(lèi)型源代碼命令
      人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
      只聽(tīng)主人的命令
      詳談Java中的基本數(shù)據(jù)類(lèi)型與引用數(shù)據(jù)類(lèi)型
      基于TXL的源代碼插樁技術(shù)研究
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類(lèi)型
      軟件源代碼非公知性司法鑒定方法探析
      移防命令下達(dá)后
      揭秘龍湖產(chǎn)品“源代碼”
      這是人民的命令
      藍(lán)色命令
      临城县| 穆棱市| 田东县| 吉木萨尔县| 安庆市| 天门市| 大余县| 嘉定区| 延吉市| 区。| 旺苍县| 靖边县| 蕲春县| 沙洋县| 左云县| 霍州市| 特克斯县| 汝南县| 金塔县| 富锦市| 桐柏县| 潮州市| 海淀区| 邹城市| 蒲城县| 金山区| 驻马店市| 崇文区| 江津市| 永福县| 平和县| 新竹市| 康定县| 崇礼县| 射洪县| 泾川县| 亳州市| 大安市| 永定县| 阜新| 开阳县|