![邊干邊學(xué)數(shù)據(jù)庫應(yīng)用_第1頁](http://file4.renrendoc.com/view/e7c323ccca1f83e5ab000c255b059038/e7c323ccca1f83e5ab000c255b0590381.gif)
![邊干邊學(xué)數(shù)據(jù)庫應(yīng)用_第2頁](http://file4.renrendoc.com/view/e7c323ccca1f83e5ab000c255b059038/e7c323ccca1f83e5ab000c255b0590382.gif)
![邊干邊學(xué)數(shù)據(jù)庫應(yīng)用_第3頁](http://file4.renrendoc.com/view/e7c323ccca1f83e5ab000c255b059038/e7c323ccca1f83e5ab000c255b0590383.gif)
![邊干邊學(xué)數(shù)據(jù)庫應(yīng)用_第4頁](http://file4.renrendoc.com/view/e7c323ccca1f83e5ab000c255b059038/e7c323ccca1f83e5ab000c255b0590384.gif)
![邊干邊學(xué)數(shù)據(jù)庫應(yīng)用_第5頁](http://file4.renrendoc.com/view/e7c323ccca1f83e5ab000c255b059038/e7c323ccca1f83e5ab000c255b0590385.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一時(shí)間想到的解決方案是用文件的方式(也只能把數(shù)據(jù)存成文件了)。在使用文件迚行數(shù)據(jù)與管IO函數(shù)中,幵沒有提供現(xiàn)成的查詢函線性查找的時(shí)間復(fù)雜度為O(N),所以當(dāng)數(shù)據(jù)量逐漸增大時(shí),這將是一個(gè)非常可怕的過程。這個(gè)不可逾越的迫使我不得不再次考慮使用數(shù)據(jù)庫。我放棄了剛買的新書,打開了LabVIEW數(shù)據(jù)庫工具包的用戶手冊和范例程序,尋找著我期望的數(shù)據(jù)保存,修改,初除和查詢功能。到下班的時(shí)候,Everythinggoeswell,基本掌握了用LabVIEW回想起這段歷程,突然有種想與家一起的沖動(dòng)—不懂?dāng)?shù)據(jù)庫的工程師也可以玩數(shù)據(jù)庫究復(fù)雜的關(guān)系模型、抽象的關(guān)系代數(shù)、艱深的數(shù)據(jù)庫設(shè)計(jì)…助bIW據(jù)庫工包(taeoeiiytokt可以在應(yīng)的層,方便操庫相關(guān)的基本概念,然后在LabVIEW平臺上一邊學(xué)習(xí),一邊實(shí)踐如何、管理和查詢數(shù)據(jù)。
2060年代,第一個(gè)數(shù)據(jù)庫管理系統(tǒng)(DBMS)發(fā)明以前,數(shù)據(jù)記錄主要是通過磁盤或穿孔卡管理和共享數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)應(yīng)運(yùn)而生。第一個(gè)數(shù)據(jù)庫是通用電氣公司Baan等人在1961年開發(fā)成功的IDS(IntegratedDataStore)隨后,在1970年,IBM的研究員E.F.Codd博士在《CommunicationoftheACM》上了一篇名為“ARelationalModelofDataforLargeSharedDataBanks”的,提出了關(guān)系模型的概念,奠定了關(guān)系模型的理論基礎(chǔ)。這篇被普遍認(rèn)為是數(shù)據(jù)庫系統(tǒng)歷史上具有劃時(shí)代意義的里程碑。Codd的心愿是為數(shù)據(jù)庫建立一個(gè)優(yōu)美的數(shù)據(jù)模型,后來Codd又陸續(xù)多篇文章,論述了范式理論和衡量關(guān)系系統(tǒng)的12條標(biāo)準(zhǔn),用數(shù)學(xué)理論奠定了關(guān)系數(shù)據(jù)庫的基礎(chǔ)。1974年,IBMRayBoyceDonChamberlinCodd關(guān)系數(shù)據(jù)庫的12條準(zhǔn)則的數(shù)學(xué)定義以簡單的關(guān)鍵字語法表現(xiàn)出來,提出了具有里程碑意義的SQL(StructuredQueryLanguage)語言。SQL語言的功能包括查詢、、定義和控制,是一個(gè)綜合的、通用的關(guān)系數(shù)據(jù)庫語言,同時(shí)又是一種高度非過程化的語言,只要求用戶做什么而不需要怎么做。SQL語言的這個(gè)特點(diǎn)使乊現(xiàn)今,數(shù)據(jù)庫技術(shù)已經(jīng)發(fā)展的比較成熟了,著名的數(shù)據(jù)庫管理系統(tǒng)有SQLServer、Oracle、DB2、SybaseASE、VisualForPro、Access等。Access是在Windows環(huán)境下非常流行的桌面型數(shù)據(jù)庫管理系統(tǒng),它作為office組件乊一,安裝和使用都非常方便,幵且支持SQL語言,所以本文將基于Access來介紹數(shù)據(jù)庫的操作。AccessLabVIEW數(shù)據(jù)庫工具包只能操作而不能創(chuàng)建數(shù)據(jù)庫,所以必須借助第數(shù)據(jù)庫管理系統(tǒng),比Access,來創(chuàng)建數(shù)據(jù)庫。本文的大型數(shù)據(jù)庫范例程序是測試,所以先建立一個(gè)名Data.mdb2.1
2.1AccessLabVIEW數(shù)據(jù)庫工具包操作數(shù)據(jù)庫乊前,需要先連接數(shù)據(jù)庫,這就像操作文件乊前,先要LabVIEW數(shù)據(jù)庫工具包基于ODBC(OpenDatabaseConnectivity)技術(shù),如圖2.2所示,在使用ODBCAPIDSN(DataSourceNames)才能連接到實(shí)際數(shù)據(jù)庫,所以我們需要首先創(chuàng)建DSN。2.2LabVIEWODBC【背景知識】【背景知識】ODBC(OpenDatabaseConnectivity,開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,WindowsOpenServicesArchitecture)中有關(guān)數(shù)據(jù)庫的一個(gè)組成部分,它建立了一組規(guī)范, 的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口。這些API利用SQL來完成其大部分仸務(wù)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。在“Windows控制面板”中雙擊“管理工具 ”,然后雙擊“數(shù)據(jù)源” ,迚入ODBC數(shù)據(jù)源管理器,如圖2.3所示。2.3ODBCUserDSN(用戶數(shù)據(jù)源名)選項(xiàng)卡下建立的數(shù)據(jù)源名只有本用戶才能,SystemDSN(系統(tǒng)數(shù)據(jù)源名)選項(xiàng)卡下建立的數(shù)據(jù)源名在該系統(tǒng)下的所有用戶都可以。UserDSN選項(xiàng)卡下點(diǎn)擊按鈕,會(huì)彈出數(shù)據(jù)源驅(qū)動(dòng)選擇框,然后選擇AccessDriver(*.mdb),如圖2.4所示。圖2.4數(shù)據(jù)源驅(qū)動(dòng)選擇點(diǎn)擊“Finish”按鈕后,會(huì)彈出ODBC AccessSetup窗口,在DataSourceName填入一個(gè)名字,比 Data,然后在Database欄中單擊Select按鈕選擇先前已經(jīng)建立好Data.mdbOK2.5圖2.5ODBCAccessSetup窗UserDSNDSNOKDNS的建立。打開隨本文的程序:ConnectionExample.viDSNName中填入剛建好的DSN名幵運(yùn)行,如圖2.6所示。2.6DSNDSN連接數(shù)據(jù)庫需要考慮移植問題,當(dāng)你把代碼發(fā)布到其它機(jī)器上時(shí),需要手動(dòng)為其重新建立一個(gè)DSN。設(shè)計(jì)的ODBC標(biāo)準(zhǔn)只能關(guān)系型數(shù)據(jù)庫,對非關(guān)系型數(shù)據(jù)庫則為力。為解決這個(gè)問題,還提供了另一種技術(shù):Active數(shù)據(jù)對象ADO(ActiveXDataObjects)技術(shù)。ADO是應(yīng)用程序接口(API)用以實(shí)現(xiàn)關(guān)系或非關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)。ADO使用通用數(shù)據(jù)連接UDL(UniversalDataLink)來獲得數(shù)據(jù)庫信息以實(shí)現(xiàn)數(shù)據(jù)庫連接。在Data.mdb所在的文件夾下點(diǎn)擊鼠標(biāo)右鍵->新建-> DataLink,如圖2.7所示,Data.udl2.7UDL雙擊 Jet4.0OLEDBProvider2.8Next>>Connection選項(xiàng)卡中,選擇已建立好的數(shù)據(jù)庫文件,然后點(diǎn)擊TestConnection按鈕,如果沒有什么問題的話,會(huì)彈出TestConnectionsucceeded的框,如圖2.9所示。UDL后,打開隨本文的程序:ConnectionExample.viDSNName;EverythingafterthislineisanOLEDBinitstring Datamdb;PersistSecurity分號(;)后面的內(nèi)容是注釋可以不用搭理。DataSource后面是數(shù)據(jù)庫的絕對路徑,所以,當(dāng)數(shù)據(jù)庫我們可以直接把“Data.udl”文件中的信息重新生成,然后傳給DBToolsOpenConnection.vi,如圖2.11所示。具體的實(shí)現(xiàn)可以參看本文附帶的范例。在后面的程序中,本 將使用GetDBPath.vi來獲得數(shù)據(jù)庫的位置信息,然后傳給DBToolsOpenConnection.vi。2.12Access打開一個(gè)數(shù)據(jù)庫文件來錄中的一項(xiàng)內(nèi)容,比如測試時(shí)間。能夠唯一標(biāo)識表中某一行的屬性或?qū)傩越M,叫主鍵(PrimaryKey),2.13columncolumninformationDatatype設(shè)置部分,LabVIEW的數(shù)據(jù)類型有許多種,而這DatatypeLabVIEWColumninformationDatatype的對應(yīng)關(guān)系,如表2.1所示。2.1LabVIEWStringorPictureNotI/O2.14所示,具體代碼請參考CreateTable.vi。與數(shù)據(jù)庫表格創(chuàng)建相對應(yīng)的是數(shù)據(jù)庫表格初除,由實(shí)現(xiàn)。將需要初除的數(shù)據(jù)的名字告訴DBToolsDropTable.vi即可完成數(shù)據(jù)庫表格的初除操作。具體實(shí)現(xiàn)如圖2.15所示?!尽咎砑右粭l記錄由來實(shí)現(xiàn),DBToolsInsertData.vi需要三個(gè)主要的參數(shù):table(數(shù)據(jù)表名)告訴DBToolsInsertData.vi往數(shù)據(jù)庫里的哪個(gè)表格插入數(shù)據(jù);data,告訴DB添加記錄的范例程序如圖2.16所示。LabVIEW數(shù)據(jù)庫工具包提供了一個(gè)工具VI,可以把指定數(shù)據(jù)表的column是,我們只需要告訴DBToolsSelectData.vi 哪個(gè)數(shù)據(jù)表格,DBToolsSelectData.vi就會(huì)把該表格中的所有數(shù)據(jù)讀出來,如圖2.17所示。LabVIEW數(shù)據(jù)庫工具包完全支持SQL語言,在的optionalclause輸入端按照SQL語法輸入條件語句,即可讀出感的數(shù)據(jù)。SQL語言非常簡單,如果從來沒有接觸過SQL語言,可以花一點(diǎn)時(shí)間學(xué)下。LabVIEW數(shù)據(jù)庫工具包的用戶手冊附錄A上有SQL的快速參考手冊。SQL的條件查詢語法格式如圖2.18所示。SELECToptionalclause輸入端加WHERE2.19TestResultTestTime等于字符串20088-2716:24:34”的記錄讀出來。圖2.19讀出感的數(shù)范圍運(yùn)算符(表達(dá)式值是否在指定的范圍):BETWEEN…AND…NOTBETWEEN…AND…列表運(yùn)算符(刞斷表達(dá)式是否為列表中的指定項(xiàng)):IN1,2……NOTIN(1,2……)模式匹配符(刞斷值是否與指定的字符通配格式相符):LIKE、NOTLIKE據(jù)等操作。由于這些操作幵沒有現(xiàn)成的VI,所以需要借助SQL語言來實(shí)現(xiàn)。DBMSSQL語言,LabVIEWSQLSQLSQL語言封裝了起來,以方便他們使用。0節(jié)的操作都是基于已封裝好的VI。如圖2.20所示,DBToolsSelectData.vi先創(chuàng)建了SQL語句,然后用來執(zhí)行SQL語句,以此實(shí)現(xiàn)對數(shù)據(jù)庫的操作。SQL2.21
2.21SQL通過查閱SQL參考手冊,我們知道初除一條記錄的語句是“de DELETEFROMtableDELETEFROMtablenameWHEREcolumn_name=some_value
“dee”語句僅能初除記錄,不能初除表本身;初除表要用“drop”LabVIEWVIDropTable提供了一個(gè)壓縮數(shù)據(jù)庫的方法,請參考HowToCompactAccessDatabaseThroughADO。其基本思想是,使用ADO的擴(kuò)展:JetOLEDBProviderandReplicationObjects(JRO)中的方法:CompactDatabase。Jet對象在文件Msjro.dll里面,如圖2.23下面將簡單介紹一下在LabVIEW中Jet對象的方法面板上放一個(gè),在右鍵菜單中選擇”SelectActivess”->”Browse…”,如圖2.24所示。2.24JetSelectObjectFromTypeLibraryBrowse2.24所示的路徑選2.25就實(shí)現(xiàn)了在LabVIEW中調(diào)用Jet對象的CompressDatabase方法。替代原數(shù)據(jù)庫文件。詳細(xì)實(shí)現(xiàn)請參考AccessFileCompressDatabase.vi。SQL中,修改一條記錄的語句是update,SETcolumn_name=new_valueWHEREcolumn_name=some_valueLabVIEW平臺下的實(shí)現(xiàn)方法。SQL語言是一種數(shù)據(jù)庫操作的通用語言,不僅在LabVIEW數(shù)據(jù)庫工具包中可以用到,在其它語言(如VB,VC)平臺下也可以使用。希望大家通過上面的操作不僅學(xué)習(xí)了LabVIEW數(shù)據(jù)庫工具包,也熟悉了SQL語言。測試的Power是否合格測試耳機(jī)的THD曲線測試的觸摸屏測試麥克風(fēng)的聲壓級圖3.1測試界具體代碼可以參考隨本文的范例:DatabaseExample.lvprjUDL文件等問題。在生成可執(zhí)行文件的過程中唯一需要注意的是把所用到的數(shù)據(jù)庫文件添到到可執(zhí)行文件的支持文件(Supportfiles)中去。步驟二:在Buildspecification的Sourcefile選項(xiàng)中,把數(shù)據(jù)庫文件Data.mdb添加Supportfile中,這樣Data.mdb會(huì)被加入SupportDirectory。如圖3.4所示。LabVIEWMDAC2.5的安裝文件——mdac_typ.exemdac_typ.exeMDAC2.5步驟一:把mdac_typ.exe添加到工程中,如圖3.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)藥冷鏈運(yùn)輸服務(wù)合同
- 建筑工程人才中介合同
- 花店翻新墊資合同
- 行業(yè)專項(xiàng)作業(yè)指南 財(cái)務(wù)管理基礎(chǔ)
- 經(jīng)營用房租租賃合同書
- 印刷合同協(xié)議書
- 門衛(wèi)臨時(shí)聘用合同
- 軟件開發(fā)流程優(yōu)化與項(xiàng)目管理體系建立指南
- 員工離職后保密協(xié)議
- 購房協(xié)議和購房合同
- 高溫超高壓煤氣發(fā)電工程技術(shù)方案
- 帕金森病(英文版)課件
- 大學(xué)普通化學(xué)(第七版)課后答案
- 專題氧化還原反應(yīng)配平公開課課件
- 玉米栽培技術(shù)(培訓(xùn))
- 化工企業(yè)三違清單不安全安全行為清單
- 解析貝殼找房商業(yè)模式
- -復(fù)變函數(shù)的積分(復(fù)變函數(shù))
- Q∕GDW 12118.1-2021 人工智能平臺架構(gòu)及技術(shù)要求 第1部分:總體架構(gòu)與技術(shù)要求
- 蘋果樹春季修剪要點(diǎn)_種植技巧
- 鉆孔質(zhì)量驗(yàn)收表
評論
0/150
提交評論