薛慧君
內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院
Matlab數(shù)據(jù)庫開發(fā)及設(shè)計之研究
薛慧君
內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院
Matlab是一款功能強大的軟件系統(tǒng),借由Matlab語言可以有效的完成相關(guān)數(shù)據(jù)分析和計算工作,還能夠根據(jù)相關(guān)工作人員的具體需求,完成仿真模擬工作。而數(shù)據(jù)庫是諸多數(shù)據(jù)的存儲和管理的重要部分,具有極高的應(yīng)用價值,為了保障數(shù)據(jù)庫的功能性和可靠性,可以在Matlab環(huán)境下,運用Matlab語言完成對數(shù)據(jù)庫的開發(fā)和設(shè)計。以下本文就Matlab數(shù)據(jù)庫的開發(fā)和設(shè)計展開探討,并詳細(xì)的對Matlab數(shù)據(jù)庫的開發(fā)和設(shè)計的具體內(nèi)容進(jìn)行闡述,旨在為相關(guān)設(shè)計人員提供參考,推動Matlab數(shù)據(jù)庫的設(shè)計開發(fā)效率與質(zhì)量,保障數(shù)據(jù)庫的功能性,保障Matlab數(shù)據(jù)庫的合理運用,保障相關(guān)行業(yè)的持續(xù)健康發(fā)展。
Matlab 數(shù)據(jù)庫 開發(fā) 設(shè)計 研究
Matlab可以有效的完成對各類數(shù)據(jù)問題的處理和解決,其在實際的應(yīng)用中,主要能夠完成工程化的設(shè)計。僅管Matlab的功能性強大,數(shù)據(jù)處理能力可觀,但是,不能否認(rèn)的是的Matlab在數(shù)據(jù)庫開發(fā)方面的優(yōu)勢不是很明顯。用戶在進(jìn)行Matlab應(yīng)用中,希望在擴(kuò)展Matlab數(shù)據(jù)處理能力的基礎(chǔ)上,還需要完成對數(shù)據(jù)庫功能的開發(fā)。故此,針對Matlba的基本情況,選擇一種符合Matlab的數(shù)據(jù)庫開發(fā)及設(shè)計方式,為Matlab的數(shù)據(jù)庫開發(fā)提供幫助,優(yōu)化Matlab的數(shù)據(jù)處理能力,符合更多用戶的基本需求。
Matlab是一種集算法開發(fā)、數(shù)據(jù)可視化和數(shù)據(jù)分析這些能力,借由的Matlab特有的語言體系,完成諸多實際問題的解決。借由Matlab語言能夠?qū)?shù)學(xué)上一些近似值的求解。比如:管渠工程斷面特征水深的求解,由于傳統(tǒng)計算方式,求解效果不夠理想,誤差較大,借由Matlab語言應(yīng)用,可以減少復(fù)雜的計算過程,達(dá)到快速求解的目的。
Matlab是矩陣實驗室的簡稱,是一種強大的數(shù)學(xué)軟件,能夠完成矩陣運算、函數(shù)和數(shù)據(jù)的處理分析,與其他變成語言的連接等,可以廣泛的應(yīng)用到諸多領(lǐng)域中,是推動相關(guān)實際問題有效解決的快速途徑。
Matlab在實際的應(yīng)用中,可能存在數(shù)據(jù)庫開發(fā)方面優(yōu)勢不明顯的情況,為了增加Matlab產(chǎn)品的競爭能力,需要合理的展開數(shù)據(jù)庫模式的構(gòu)建,開發(fā)出符合用戶使用需求的數(shù)據(jù)庫及其相關(guān)數(shù)據(jù)部分,完成對數(shù)據(jù)的存儲。
結(jié)構(gòu)數(shù)組與單元數(shù)組是Matlab中,重要的數(shù)據(jù)類型,其中結(jié)構(gòu)數(shù)組能完成多個差異明顯的數(shù)組結(jié)合在一起的功能。較比單元數(shù)組,結(jié)構(gòu)數(shù)組是按照指針的形式完成數(shù)據(jù)的傳遞工作,可以將其的作用視作數(shù)據(jù)庫中的記錄部分。結(jié)構(gòu)數(shù)組具有靈活、動態(tài)擴(kuò)充、嵌套、不同字段之間的數(shù)據(jù)類型不需要雷同等特點。結(jié)構(gòu)數(shù)組對于Matlab開發(fā)設(shè)計具有十分重要的作用,為Matlab數(shù)據(jù)庫的開發(fā)提供了基礎(chǔ)。
Matlab數(shù)據(jù)庫開發(fā)中,合理的對結(jié)構(gòu)數(shù)組進(jìn)行應(yīng)用,變量和域名的連接主要是借由操作符“.”完成的。單元數(shù)組的創(chuàng)建,可以通過直接賦值法和利用Cell函數(shù)法完成。結(jié)構(gòu)數(shù)組在Matlab中的創(chuàng)建,可以采用直接引用和使用struct函數(shù)兩種形式。借由結(jié)構(gòu)數(shù)組,可以自由的展開的相關(guān)記錄和域名的刪減和增添。其具體方式為:

根據(jù)上述的添加方式,可以有效的完成對新的字段名的添加任務(wù),并由record生成一條記錄。另外,結(jié)構(gòu)數(shù)組中為了獲得數(shù)據(jù),可以合理的對的setfield與getfield這兩個函數(shù)命令進(jìn)行應(yīng)用,促使獲得準(zhǔn)確的數(shù)據(jù)情況。
以DBI的商品銷售數(shù)據(jù)庫開發(fā)設(shè)計為例,數(shù)據(jù)庫的程序中,sale和inf均代表了數(shù)據(jù)表,對所有商品的基本信息和銷售情況進(jìn)行表述。sale中,就有的price、in和out等字段,其中不同字段代表不同的意義。
將Matlab數(shù)據(jù)庫開發(fā)建立在的使結(jié)構(gòu)數(shù)組的基礎(chǔ)上,并通過結(jié)構(gòu)數(shù)組的構(gòu)建,保障數(shù)據(jù)庫的功能性。基于結(jié)構(gòu)數(shù)組構(gòu)建的數(shù)據(jù)庫具有結(jié)構(gòu)簡單,可以隨意變化等特點。不需要的展開引擎接口的編程工作,簡化了數(shù)據(jù)庫開發(fā)建設(shè)的具體流程。如上所述的DBI的商品銷售數(shù)據(jù)庫為例,通過對商品的編碼,按照具體方式,輸入到數(shù)據(jù)庫中,再將具體的商品銷售輸入到數(shù)據(jù)庫中,可以有效的完成對商品銷售總金額的計算和分析,完成對業(yè)績和銷售百分比的圖的輸出,為該企業(yè)的商品銷售和市場分析提供基礎(chǔ),增強該企業(yè)的市場競爭力。
僅管基于結(jié)構(gòu)數(shù)組的Matlab數(shù)據(jù)庫優(yōu)勢明顯,但是不可否認(rèn)的是,該數(shù)據(jù)庫也存在一定的劣勢。其中主要體現(xiàn)在:
(1)結(jié)構(gòu)數(shù)組數(shù)據(jù)庫的主要依存于的Matlab環(huán)境,如果離開這一環(huán)境,則不能完成數(shù)據(jù)庫的基本功能。
(2)數(shù)據(jù)庫受到變量名和字段名規(guī)則的影響,是不能采用中文的表述方式。
Matlab環(huán)境下,還可以采用在外部數(shù)據(jù)源的基礎(chǔ)上,完成對數(shù)據(jù)庫的建設(shè),外部數(shù)據(jù)源的Matlab數(shù)據(jù)庫可以為用戶提供一個優(yōu)秀的數(shù)據(jù)庫環(huán)境,并具備相關(guān)顯示和查詢功能,具有較高的應(yīng)用實踐價值。
(1)數(shù)據(jù)庫的配置,外部數(shù)據(jù)源在實際的應(yīng)用中,通常情況的下這些數(shù)據(jù)源均得到了整合與建立。Matlab需要完成與外部數(shù)據(jù)源的連接。實現(xiàn)對外部數(shù)據(jù)源的查詢、編輯和存儲等任務(wù)。外部數(shù)據(jù)源數(shù)據(jù)庫的開發(fā),需要預(yù)先完成對數(shù)據(jù)庫的配置工作,促使其能夠與Matlab數(shù)據(jù)庫之間完成連接,使得Matlab能夠完成接口訪問。
在實際的數(shù)據(jù)庫配置中,需要合理的對數(shù)據(jù)源橋接進(jìn)行使用,保障數(shù)據(jù)庫的功能性。以CDBC的配置為例,打開ODBC數(shù)據(jù)源管理器,完成相關(guān)配置。先選擇添加的和創(chuàng)建新的數(shù)據(jù)源,并對其的具體驅(qū)動程序進(jìn)選擇,再安裝“ODBC MS Access”并輸入目標(biāo)數(shù)據(jù)庫的名稱,并進(jìn)入數(shù)據(jù)庫,將外部數(shù)據(jù)源鏈接為源數(shù)據(jù)庫。再進(jìn)入到管理器中查看,是否添加成功,如果成功則確定退出。
(2)外部數(shù)據(jù)源與Matlab的連接,數(shù)據(jù)庫配置完成后,需要合理的展開有效的連接設(shè)置。
①超時設(shè)置,這部分設(shè)置,主要是對Matlab與ODBC橋接驅(qū)動建立的連接的最大時間限制,也就是保障數(shù)據(jù)庫能夠在這一時間內(nèi)完成連接。其中具體的設(shè)計方法為:
Timeout=logintimeout(Time,Driver)
這一方法中,括號內(nèi)部代表參數(shù),Time為時間參數(shù),Driver是JDBC驅(qū)動器。在實際的應(yīng)用中,如果出現(xiàn)的返回值為零,則表明沒有設(shè)置。如果驅(qū)動器和Matlab之間沒有連接成功,程序會自動停止,并重新連接。
②數(shù)據(jù)庫連接:通常上述的方式,完成驅(qū)動器和Matlab之間的連接,連接時,需要根據(jù)保障Driber及其他部門可以在驅(qū)動中找到相關(guān)的格式,并保障Instance是必須的部分,按照:Connect=database()。
③連接測試,Matlab與數(shù)據(jù)庫連接完成后,需要合理的展開連接測試,確定的連接的具體狀態(tài)信息。通常情況下可以采用:

完成對連接的測試。數(shù)據(jù)庫連接成功后,如果不在繼續(xù)使用,需要及時的對數(shù)據(jù)庫進(jìn)行連接斷開,進(jìn)而避免應(yīng)用程序的持續(xù)占用系統(tǒng)的進(jìn)程。
(3)建立數(shù)據(jù)庫的查詢部分,Matlab環(huán)境下的數(shù)據(jù)查詢,需要滿足SQL的基本需求,建立多個游標(biāo),保障數(shù)據(jù)能夠切實引入到的單元數(shù)組中,再完成對數(shù)據(jù)庫中具體的數(shù)據(jù)提取。數(shù)據(jù)提取的具體方法為:

(4)數(shù)據(jù)庫的記錄操作,記錄可以采用insrt這也命令完成對記錄的保存,并采用updata這一命令對數(shù)據(jù)庫的中的相關(guān)記錄值進(jìn)行變更和刪減,進(jìn)而完成數(shù)據(jù)庫激的記錄操作。
Matlab是一款功能強大的軟件,能夠完成諸多數(shù)學(xué)問題和實際問題的處理,并完成相關(guān)工程項目的仿真模擬,效果切實有效。但是,Matlab在實際數(shù)據(jù)庫方面存在一定的不足,與用戶的具體需求存在一定的出入,針對這種情況,需要合理的展開對Matlab數(shù)據(jù)庫的開發(fā)和設(shè)計。本本主要兩種數(shù)據(jù)庫開發(fā)和設(shè)計方式進(jìn)行參數(shù),其中主要有基于的結(jié)構(gòu)數(shù)組的Matlab數(shù)據(jù)庫和基于外部數(shù)據(jù)源的Matlab數(shù)據(jù)庫,兩種數(shù)據(jù)均具備一定的優(yōu)勢,符合用戶對數(shù)據(jù)庫需求,進(jìn)而使得的可以采用的Matlab語言完成對相關(guān)實際問題的處理。在實際的數(shù)據(jù)庫建設(shè)中,需要合理的對技術(shù)進(jìn)行選取,具體的技術(shù)如下:
(1)DAO方式,完成對數(shù)據(jù)庫引擎的訪問方式,在具體的應(yīng)用中,DAO方式主要適用于的單一的數(shù)據(jù)庫程序,對于較為復(fù)雜的數(shù)據(jù)庫程序,他的適應(yīng)性不夠理想。
(2)RDO方式,是推動數(shù)據(jù)庫和數(shù)據(jù)源有效連接的方式,也是完成Matlab數(shù)據(jù)庫開發(fā)和設(shè)計的關(guān)鍵技術(shù)之一。
(3)ADO方式,該技術(shù)是建立在的DAO方式和RDO方式的基礎(chǔ)上,可以有效的將計算機(jī)上所有的數(shù)據(jù)源進(jìn)行展示,是促使Matlab獲得數(shù)據(jù)的有效途徑。
[1]張倩. Matlab數(shù)據(jù)庫開發(fā)設(shè)計[J]. 信息與電腦:理論版, 2014(9)
[2]許平. Matlab數(shù)據(jù)庫的開發(fā)與實踐[J]. 信息與電腦:理論版, 2013(11)
[3]王君竹. 工業(yè)控制數(shù)據(jù)管理系統(tǒng)的設(shè)計與開發(fā)[D]. 大連理工大學(xué), 2010
[4]袁勇,池興穎.Matlab與VC++、Oracle數(shù)據(jù)庫接口技術(shù)研究及實現(xiàn)[J]. 遵義師范學(xué)院學(xué)報, 2014, 16(4):72-75
[5]吳迪,劉軍,徐朋,等.基于MATLAB及數(shù)據(jù)庫技術(shù)的實驗數(shù)據(jù)檢驗及存取研究[J]. 大學(xué)物理實驗, 2010, 23(4):67-69
[6]趙光磊. 基于Matlab的Oracle數(shù)據(jù)庫設(shè)計[J]. 電光系統(tǒng), 2010(2):39-41
[7]張瑞敏, 李亞洲. 基于MATLAB的數(shù)據(jù)庫開發(fā)[M]. 電子工業(yè)出版社, 2011
[8]石劍平, 姜麟, 徐潤林. Matlab數(shù)據(jù)庫工具箱在數(shù)學(xué)建模中的應(yīng)用[J]. 信息系統(tǒng)工程, 2010(9):82-83
薛慧君,女,內(nèi)蒙古呼和浩特市人,內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院計算機(jī)科學(xué)系教師,副教授,工學(xué)碩士。主要研究方向:數(shù)據(jù)挖掘、人工智能、軟件工程。