999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MySQL在凸度儀系統中的應用

2011-07-30 09:30:34郭肖靜苗積臣吳志芳
原子能科學技術 2011年10期
關鍵詞:數據庫檢測系統

郭肖靜,苗積臣,吳志芳

(清華大學 核能與新能源技術研究院,北京 100084)

在凸度儀系統中,檢測鋼板過程中會產生海量數據。對這些歷史數據,系統需進行存儲、查詢、檢索、顯示等功能。為此,必須使用數據庫管理軟件來完成以上功能。目前,市場上主要的數據庫管理軟件包括SQL Server、MySQL、DB2、Oracle等,其中,DB2和 Oracle均為大型商用數據庫,需支付高額的授權費用才可使用,且需專門的配置維護,開發上有諸多不便。SQL Server是微軟公司提供的數據庫軟件,只能在 Windows操作系統中使用,不具有跨平臺的能力。MySQL是當前最流行的開放源碼SQL數據庫管理系統,它由MySQL AB公司開發、發布并支持,具有多平臺支持、靈活架構、免費使用等特點。且當前很多網站均采用MySQL作為其后臺數據庫支撐,其穩定性和可靠性得到了充分驗證。因此,在凸度儀系統中,擬使用MySQL對檢測的鋼板數據進行管理,完成系統的功能。

1 MySQL概述

MySQL是當前應用最為廣泛的數據庫管理系統之一,具有強大的跨平臺能力(可運行于Windows、Linux、Unix等操作系統上)和豐富的開發接口(可與PHP、VC、VB、Delphi等語言實現接口,便于嵌入到多種應用中)。MySQL具有快速、可靠和易于使用的特點,當前使用Linux+PHP+Apache+MySQL已成為中小型網站提供Web服務的主流模式。此外,MySQL還是一種開放源代碼的軟件,非常便于研究和開發[1]。

MySQL采用客戶端/服務器模式,由支持不同后端的1個多線程SQL服務器、數種不同的客戶端程序和庫、眾多管理工具和廣泛的應用編程接口API組成。此外,MySQL還支持多種數據類型,包括帶符號/無符號整數,1、2、3、4、8 字 節 長,FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、SET、ENUM等,便于各種數據高效率存儲[2]。

綜合以上特點,在凸度儀系統中,選擇MySQL作為數據庫管理系統,與凸度儀其他模塊配合,實現完整的數據存儲、檢索、排序、顯示等功能,完成設計要求。

2 凸度儀系統中數據庫的設計

2.1 凸度儀系統簡介

凸度儀系統的結構如圖1所示。

圖1 凸度儀系統結構Fig.1 Structure of instantaneous profile gauge system

在圖1中,采集模塊采集到原始的檢測數據,交給運算模塊進行處理;運算模塊通過差值、補償等方法,計算鋼板橫斷面上每個采樣點的厚度、溫度等信息,并將這些數據發送到顯示模塊;顯示模塊將這些數據進行實時顯示,并進一步計算凸度、楔度等相關數據,同時還將這些數據按一定格式存儲到數據庫中,且能按用戶要求,對這些歷史數據進行檢索、排序和顯示。

2.2 功能需求分析

由于數據庫只與顯示模塊存在接口,因此,只需分析顯示模塊對數據庫的功能需求。

1)數據存儲

當顯示模塊收到運算模塊發送的鋼板數據后,應實時地將這些數據存儲到數據庫中。在鋼板掃描過程中,對數據庫只有存儲操作,沒有檢索和讀取操作。

2)數據檢索

在實際的應用環境中,將檢測大量鋼板,得到海量數據,如何快速檢索到所需的鋼板數據成為一重要問題。在本系統中,使用一些標記性參數作為檢索條件,如檢測時間、鋼板類型、編號、鋼板厚度、鋼板凸度等指標,且這些檢索條件可進一步進行邏輯組合,如與、或等操作。數據庫應將滿足檢索條件的所有鋼板編號返回給顯示模塊,用戶在其中選定某個鋼板后,數據庫再將該鋼板的完整數據傳送給顯示模塊。

3)數據讀取和顯示

當用戶選定某個鋼板后,數據庫應將該鋼板相關的所有數據都發送到顯示模塊中,顯示模塊應根據需要,對整個鋼板信息或局部信息進行顯示。在顯示過程中,不再與數據庫發生數據交換。

2.3 數據類型分析

根據上面的需求,將存儲在數據庫中的數據分為3類。1)實際檢測數據,包括鋼板的厚度、寬度、溫度、傾角等實際檢測到的數據。這些數據的數據量極大,代表鋼板的原始情況,一般只用于顯示,而不用于檢索。2)后處理數據,包括凸度、楔度等數據,是由實際檢測數據經某些運算后得到的指標,用來表示鋼板的檢測結果。這些數據直觀反映了被檢鋼板是否合格,既用于顯示,也用于檢索。3)鋼板特征數據,包括檢測時間、鋼板編號、金屬類型、標稱值等。這些數據表示1塊鋼板的整體屬性,既用于顯示,也用于索引。

2.4 表的設計

數據庫設計的核心是表的設計。數據庫由若干個表組成,表中每1行代表1組記錄,每1列代表1類數據。數據庫的表和表之間可有相同的列,不同表的數據通過這相同的列來實現關聯,從而獲得對數據的完整訪問[3]。

在本系統中,構造了2個表:1個用于存儲實際檢測數據,命名為PlateData;1個存儲鋼板特征數據和后處理數據,命名為PlateKey。兩個表的具體構造列于表1、2。

表1 PlateData表的構造Table 1 Structure of PlateData table

表2 PlateKey表的構造Table 2 Structure of PlateKey table

在表1中,每個鋼板有若干個橫斷面,每個橫斷面有N個探測點(本程序中N為256)。表中每1行表示1個橫斷面上的所有數據,具有相同鋼板編號的所有行表示1個鋼板的完整數據。該表只用于數據的存儲和讀取,不用于檢索。

在表2中,每1行代表1個鋼板的信息,其中前6項是鋼板的特征數據,后2項是鋼板的實測數據。該表主要用于數據的檢索和排序。

表1和表2中共有的列項目是鋼板編號,這也是本系統使用的數據庫的主鍵。通過該項目即可實現所有數據的關聯。

2.5 數據庫操作

1)數據庫連接與初始化

當凸度儀系統啟動后,應連接到數據庫管理系統,并選擇所需使用的數據庫。

2)數據的存儲

當鋼板開始檢測時,運算模塊先傳送1幀起始幀,表明開始1個新鋼板的檢測,該幀中應包含鋼板編號、合金類型、標稱厚度、標稱凸度等鋼板特征數據。顯示模塊將這些數據保存,但暫不寫入數據庫中。而后,運算模塊將每個橫斷面的數據打包成1幀發送過來,顯示模塊根據這些數據計算凸度、楔度等指標,并按表1的格式,將數據寫入數據庫中。當鋼板檢測結束后,運算模塊會發送1個結束幀,此時顯示模塊將前面收到的鋼板特征數據和計算得到的凸度、楔度等數據按表2的格式寫入數據庫中。

3)數據的檢索

數據的檢索在PlateKey表中進行,根據用戶給出的檢索條件,找到表中滿足條件的若干行。

4)數據的讀取

當用戶具體選擇了某1行記錄后,獲取該行的PlateNum值,并從PlateData表中提取數據。

3 數據庫的編程實現

3.1 C語言接口函數

在本凸度儀系統中,使用Visual C++作為編程語言。因此要和數據庫實現通信,必須使用MySQL提供的C++編程接口。在MySQL中,提供了 mysql.h、libmysql.lib和libmysql.dll。在C或C++文件中,只要包含“mysql.h”頭文件,即可使用libmysql.lib和libmysql.dll中的函數[4]。在本系統的實現中,主要使用了如下5個函數。

1)MYSQL *mysql_init(MYSQL *mysql)

該函數用于初始化mysql結構,為后面的函數操作提供指針。

2)MYSQL * mysql_real_connect(MYSQL*mysql,const char*host,const char*user,const char*passwd,const char*db,unsigned int port,const char*unix_socket,unsigned long client_flag)

該函數用于應用程序與數據庫管理系統的連接以及數據庫的選擇。在本系統中,當系統啟動時,調用該函數。

3)int mysql_real_query(MYSQL *mysql,const char*stmt_str,unsigned long length)

該函數用于向數據庫發送1條SQL指令。系統中,數據的存儲、查詢、讀取等指令均通過該函數傳遞到數據庫管理系統中。

4)MYSQL_RES *mysql_use_result(MYSQL*mysql)

該函數把數據庫相應SQL指令的輸出返回到應用程序中。通過該指令,即可得到數據庫查詢和讀取的結果。

5)void mysql_close(MYSQL*mysql)

該函數用于關閉數據庫。在本系統中,退出時要調用該函數。

3.2 功能測試

根據上述分析,利用MySQL的C API,實現對數據庫的訪問。使用 Microsoft Visual C++進行開發,并為數據庫檢索和讀取單獨設計了1個對話框,如圖2所示。在圖2左上方,列出了若干檢索條件,可進行與、或等檢索;下方是數據庫中滿足條件的所有記錄。當選定其中某1個鋼板時,在右側即顯示鋼板整體的厚度分布,以及橫縱兩個方向的厚度分布。從圖中可看出,數據庫的存儲、檢索和讀取功能均已實現,滿足系統設計的要求。

圖2 數據庫系統測試圖Fig.2 Dialog of database test

4 結論

本文介紹了凸度儀系統中數據庫管理系統的設計與實現。選擇MySQL數據庫,分析了凸度儀系統對數據庫應用的需求,從而提取了操作數據并設計了合理的表,保證了數據存儲的完整性和檢索的高效性。此外,分析了應用中所需的SQL指令及MySQL提供的C API中相關的函數,從而在使用Visual C++編程的凸度儀系統中,成功地嵌入了MySQL數據庫,實現了數據的存儲、檢索和讀取等功能。通過實際測試,達到了系統設計的要求。

[1]袁淵,曾文火.MySQL數據庫接口的VC實現與應用[J].華東船舶工業學院學報:自然科學版,2002,16(5):41-45.YUAN Yuan,ZENG Wenhuo.Realization and application of MySQL database interfaces based on Visual C++[J].Journal of East China Shipbuilding Institute: Natural Science Edition,2002,16(5):41-45(in Chinese).

[2]薛軍超.MySQL網絡數據庫開發[M].北京:人民郵電出版社,2001.

[3]蘭旭輝,熊家軍,鄧剛.基于MySQL的應用程序設計[J].計算機工程與設計,2004,25(3):442-443,468.LAN Xuhui,XIONG Jiajun,DENG Gang.Development of application program based on MySQL[J].Computer Engineering and Design,2004,25(3):442-443,468(in Chinese).

[4]Oracle.MySQL 5.1reference manual[S/OL].Redwood City,California:Oracle USA,2003[2011-2-25].http:∥dev.mysql.com/doc/refman/5.1/en/.

猜你喜歡
數據庫檢測系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 国产成人亚洲日韩欧美电影| 91精品网站| 久久99热这里只有精品免费看| 久久国产精品嫖妓| 日韩精品亚洲人旧成在线| 无码AV日韩一二三区| 天堂成人av| 欧美黄色网站在线看| 免费毛片a| 精品国产成人三级在线观看| 精品一区二区三区水蜜桃| 久久精品中文字幕少妇| 扒开粉嫩的小缝隙喷白浆视频| 亚洲AⅤ综合在线欧美一区| 国产亚洲一区二区三区在线| 色综合婷婷| 97超碰精品成人国产| 玖玖精品在线| 国产chinese男男gay视频网| 国产亚洲视频在线观看| 91在线播放国产| 在线一级毛片| 婷婷激情亚洲| 国产大片喷水在线在线视频| 十八禁美女裸体网站| 久热这里只有精品6| 中文字幕资源站| 亚洲美女视频一区| 手机成人午夜在线视频| 日韩精品毛片| 国产成人凹凸视频在线| 久久这里只有精品国产99| 日本欧美一二三区色视频| 一区二区三区精品视频在线观看| 97人人做人人爽香蕉精品| 国产九九精品视频| av尤物免费在线观看| 亚洲天堂.com| 欧美一级大片在线观看| 欧美精品v日韩精品v国产精品| 亚洲国产成人无码AV在线影院L| 国产成人三级| 91精品aⅴ无码中文字字幕蜜桃 | 一级毛片免费播放视频| 欧美亚洲激情| 69国产精品视频免费| 日本一本正道综合久久dvd | 欧美精品色视频| 在线免费观看a视频| 91在线播放免费不卡无毒| 中文天堂在线视频| 青青草国产在线视频| 成人亚洲国产| 91www在线观看| AV不卡无码免费一区二区三区| 欧美一区二区自偷自拍视频| 久久久久久久蜜桃| 精品国产福利在线| 成人a免费α片在线视频网站| 一本一道波多野结衣一区二区| 无码一区二区三区视频在线播放| 国产导航在线| 中文成人无码国产亚洲| 成·人免费午夜无码视频在线观看 | 丝袜无码一区二区三区| 中文字幕免费在线视频| 一级毛片免费观看久| 国产一区二区视频在线| 无码免费的亚洲视频| 国产福利在线观看精品| 国产精品亚洲欧美日韩久久| 996免费视频国产在线播放| 久久亚洲日本不卡一区二区| 亚洲视频三级| 国产美女精品在线| 色综合激情网| 国产福利影院在线观看| yy6080理论大片一级久久| 乱人伦视频中文字幕在线| 午夜日本永久乱码免费播放片| 亚洲中文字幕av无码区| 国产女人在线|