劉 洋, 任工昌, 王聰穎
(陜西科技大學機電工程學院, 陜西 西安 710021)
在當前,數(shù)據(jù)庫技術已廣泛應用于現(xiàn)代科學研究領域,與傳統(tǒng)的文件式存儲方式相比,數(shù)據(jù)庫存儲更能使數(shù)據(jù)的存儲結(jié)構化,不僅增加了存儲的效率,還使數(shù)據(jù)查詢更加高效.SQL Server是微軟公司推出的大型數(shù)據(jù)庫管理系統(tǒng),它建立在成熟而強大的關系模型基礎之上,可以很好的支持客戶機/服務器模式,能夠滿足各種類型的企事業(yè)單位的需求[1].在基于GPRS的分布式油田遠程監(jiān)控系統(tǒng)的設計過程中使用SQL Server 2005建立數(shù)據(jù)庫并對各類數(shù)據(jù)進行存儲,可達到操作簡單、功能強大、安全性高和性能穩(wěn)定的效果.
整個系統(tǒng)由現(xiàn)場終端設備、數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸部分和監(jiān)控中心組成.現(xiàn)場終端包括超聲波液位傳感器、報警傳感器、接近開關和紅外對射探測器,主要是對油田現(xiàn)場的防盜信號與計量數(shù)據(jù)進行實時采集.數(shù)據(jù)采集模塊主要包括數(shù)據(jù)采集板和鍵盤,它的主要任務是處理和存儲數(shù)據(jù),對數(shù)據(jù)進行打包發(fā)送等等.
圖1 系統(tǒng)總體方案
數(shù)據(jù)傳輸包括兩部分GPRS無線網(wǎng)絡和Internet網(wǎng)絡,其中主要是對GPRS模塊的選型,本系統(tǒng)選用工業(yè)級GPRS通信模塊BENQ M23,它主要是完成連接Internet網(wǎng)絡和GPRS的數(shù)據(jù)發(fā)送接收等工作.監(jiān)控中心則主要包括監(jiān)測管理軟件和監(jiān)控系統(tǒng)數(shù)據(jù)庫,其中數(shù)據(jù)庫設計占有相當重要的地位,它設計的合理與否直接影響到整個系統(tǒng)開發(fā)的成敗以及系統(tǒng)可維護性的高低.系統(tǒng)總體方案如圖1所示.
系統(tǒng)的工作過程是現(xiàn)場終端設備獲得油井的各種數(shù)據(jù),并將其傳給自行研制的數(shù)據(jù)采集器,采集器通過RS-485總線傳輸給GPRS通信模塊,GPRS無線網(wǎng)絡傳遞給Internet,數(shù)據(jù)包通過IP尋址和端口監(jiān)聽的方式找到監(jiān)控中心服務器,從而將下位機采集到的數(shù)據(jù)進行分類存放和處理,實現(xiàn)數(shù)據(jù)遠程的通訊.
數(shù)據(jù)庫是有組織的、在一定結(jié)構內(nèi)儲存的相關數(shù)據(jù)的集合,是現(xiàn)代化管理和自動化生產(chǎn)的基礎,也是實現(xiàn)信息集成、交換和共享的必要條件[2].現(xiàn)在比較流行的、常用的大型數(shù)據(jù)庫管理系統(tǒng)主要有Microsoft SQL Server、Oracle、Sybase、Informix和DB2.
Microsoft SQL Server是功能強大的數(shù)據(jù)庫管理系統(tǒng),它不僅擁有關系型數(shù)據(jù)庫應有的所有對象,如表、視圖、存儲過程、觸發(fā)器、函數(shù)、默認值、規(guī)則及限制等,同時還支持數(shù)據(jù)分發(fā)、復制、數(shù)據(jù)挖掘、聯(lián)機分析處理(OLAP)、索引視圖等多種特性功能,主要有如下優(yōu)點[3-6]:(1)具有可伸縮的商業(yè)解決方案,允許在多版本系統(tǒng)上運行,適合開發(fā)測試和不同客戶的選擇.(2)支持分布式處理結(jié)構.(3)提供方便靈活的數(shù)據(jù)轉(zhuǎn)換工具,可以將數(shù)據(jù)導出為多種格式.(4)SQL Server的SQL語言是基于ANSI-SQL92標準實現(xiàn)的,稱為Transact-SQL,它提供了許多ANSI規(guī)范中沒有提供的命令和函數(shù).(5)支持可擴展標記語言MxL,為應用程序、服務器及企業(yè)間數(shù)據(jù)交換提供靈活機制.(6)具有視圖索引功能,可以建立具體化視圖和分區(qū)視圖,大大提高查詢速度.(7)強大的數(shù)據(jù)倉庫功能Analysis Serviee.(8)支持Web分析,不需要自己的數(shù)據(jù)存儲需求.(9)支持多個數(shù)據(jù)庫版本,遷移簡單.(10)擁有直觀且易于使用的數(shù)據(jù)庫管理界面,使數(shù)據(jù)庫維護變得更加簡單.(11)總體費用低.
與SQL Server相比,其它大型關系型數(shù)據(jù)庫在開放性/可移植性、處理性能、并行能力、軟件質(zhì)量與可靠性、數(shù)據(jù)完整與可管理性、異構平臺支持、擴展性能和成本方面都存在一定不足之處,因此我們選擇Microsoft SQL Server作為數(shù)據(jù)庫管理系統(tǒng).
目前比較流行的數(shù)據(jù)庫設計方法是運用軟件工程的思想,提出各種設計準則和規(guī)程的規(guī)范設計方法.在這些規(guī)范設計法中比較著名的有新奧爾良方法[7],它將數(shù)據(jù)庫設計分為需求分析、概念設計、邏輯結(jié)構設計和物理結(jié)構設計4個階段.其中在數(shù)據(jù)庫設計的不同階段支持實現(xiàn)的具體技術和方法主要有基于E-R(Entity-Relationship)模型的數(shù)據(jù)庫設計方法、基于范式理論的設計方法和基于抽象語義的設計方法等等.我們采用新奧爾良方法,按照過程迭代和逐步求精的思想對油田監(jiān)控系統(tǒng)數(shù)據(jù)庫進行設計.
在進行數(shù)據(jù)庫設計之前,我們首先必須對油田監(jiān)控部門的需求進行分析.數(shù)據(jù)庫需求分析是數(shù)據(jù)庫設計的第一個階段,也是非常重要的一個階段.需求分析的重點是使用多種方法進行數(shù)據(jù)的收集,并對需要存儲的數(shù)據(jù)進行分析整理,組織建立完整的數(shù)據(jù)集,主要包括以下3方面:
(1)數(shù)據(jù)項.包括名稱、含義、類型、取值范圍、長度以及其它數(shù)據(jù)項之間的邏輯關系.
(2)數(shù)據(jù)結(jié)構.它是若干個數(shù)據(jù)項的有意義的集合,包括名稱、含義以及組成數(shù)據(jù)結(jié)構的數(shù)據(jù)項.
(3)數(shù)據(jù)流.指數(shù)據(jù)庫中數(shù)據(jù)的處理過程,包括輸入、處理和輸出.
對油田監(jiān)控系統(tǒng)數(shù)據(jù)庫需求分析后,得到主要數(shù)據(jù)項和數(shù)據(jù)結(jié)構如下:
(1)油寨信息表.包括油寨標識、油寨位置、井場標識、原儲油量、現(xiàn)儲油量、含水率、投產(chǎn)時間、生產(chǎn)層次、大隊、泵徑、泵深和沖程.
(2)日報表信息表.包括開始查詢時間、結(jié)束查詢時間、油寨標識、油寨位置、儲油量、含水率、報表標題、打印時間、打印人員和備注.
(3)紅外對射探測儀信息表.包括型號、感應速度、警戒距離、消耗電流、光速數(shù)、探測方式、電源電壓、環(huán)境溫度、光源、報警輸出和接點電容.
(4)液位傳感器信息表.包括電源電壓、電流、測量范圍、量程、盲區(qū)、波束角、極性保護、工作溫度、短路保護、動作指示和防護等級.
(5)接近開關信息表.包括電源電壓、輸出電流、輸出電壓降、反應頻率、漏電流、波束角、尺寸、工作溫度和連接方式.
(6)GPRS模塊信息表.包括GPRS標識、連接狀態(tài)、安裝位置、產(chǎn)品型號、產(chǎn)品名稱、輸入電壓、輸出功率、SIM卡號、傳輸速率、出廠日期、出廠編號等.
E-R[8]方法是一種用來在數(shù)據(jù)庫概念設計過程中表示數(shù)據(jù)庫系統(tǒng)結(jié)構的方法,它的主導思想是使用實體(Entity)、實體的屬性(Attribution)和實體之間的關系(Relationship) 來表示數(shù)據(jù)庫系統(tǒng)的結(jié)構.在E-R模型圖中,用方框表示實體,用菱形表示聯(lián)系,用橢圓表示屬性.
在上面需求分析的基礎上,我們繪制出油田監(jiān)控系統(tǒng)數(shù)據(jù)庫的E-R圖,用E-R模型表示數(shù)據(jù)及其相互間的聯(lián)系,并準確地描述應用領域的信息,支持各種應用.系統(tǒng)數(shù)據(jù)庫的具體E-R圖如圖2所示.
圖2 E-R圖
圖3 E-R圖轉(zhuǎn)化后的邏輯模式
數(shù)據(jù)庫邏輯設計的任務是把數(shù)據(jù)庫概念設計階段產(chǎn)生的數(shù)據(jù)庫概念模式(E-R圖)轉(zhuǎn)化為數(shù)據(jù)庫邏輯模式.進行數(shù)據(jù)庫邏輯設計,首先要將概念設計中所得到的E-R圖轉(zhuǎn)化為等價的關系模式,然后再進行邏輯模式的性能優(yōu)化和規(guī)范化,使形成的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)表滿足用戶的完整性和安全性要求.
2.5.1 E-R圖到關系模式的轉(zhuǎn)化
在完成了E-R模型圖以后,就可以將模型圖轉(zhuǎn)換成真正的數(shù)據(jù)表結(jié)構了.在E-R模型圖向數(shù)據(jù)表轉(zhuǎn)換的過程中,首先需要將實體轉(zhuǎn)換為一個獨立的數(shù)據(jù)表,然后將實體的屬性轉(zhuǎn)換為數(shù)據(jù)表中的字段,最后根據(jù)實體之間的關系建立數(shù)據(jù)表之間的關聯(lián).以油田日報表信息為例,其E-R圖轉(zhuǎn)化得到的數(shù)據(jù)表如圖3所示.
2.5.2 邏輯模式的性能優(yōu)化和規(guī)范化
由E-R圖得到的數(shù)據(jù)庫邏輯模型還只是邏輯模式的雛形,要成為邏輯模式,還需要對數(shù)據(jù)庫性能、存儲空間的優(yōu)化,主要包括:提高數(shù)據(jù)庫的性能,減少連接運算和減少關系的大小和數(shù)據(jù)量等;節(jié)省存儲空間,減少每個屬性所占的空間,采用假屬性來減少重復數(shù)據(jù)所占的存儲空間.
數(shù)據(jù)庫邏輯模型需要根據(jù)五大范式理論來進行規(guī)范化.數(shù)據(jù)庫范式理論是數(shù)據(jù)庫設計的一種理論指南和基礎,是數(shù)據(jù)庫設計過程中要依據(jù)的準則[9].在GPRS油田遠程監(jiān)控系統(tǒng)數(shù)據(jù)庫設計過程中,對所得到的邏輯模式進行性能優(yōu)化和規(guī)范化處理,最終得到的數(shù)據(jù)庫邏輯模式如圖4所示(圖中后面帶鑰匙形狀的字段代表該字段是數(shù)據(jù)表中的主鍵).
圖4 規(guī)范化后的數(shù)據(jù)庫邏輯模式
數(shù)據(jù)庫物理設計的任務是在數(shù)據(jù)庫邏輯設計的基礎上,為每個關系模式選擇合適的存儲結(jié)構和存儲路徑.
(1)選擇存儲結(jié)構.設計存儲結(jié)構的目的是確定如何在磁盤上存儲關系、索引等數(shù)據(jù)庫文件,使空間利用率最大而數(shù)據(jù)庫操作的開銷最小.
(2)選擇存儲方法.選擇存取方法的目的是使事務能快速存取數(shù)據(jù)庫中的數(shù)據(jù).任何數(shù)據(jù)庫管理系統(tǒng)都提供多種存取方法,其中最常用的是索引方法.根據(jù)索引設計原則和GPRS油田遠程監(jiān)控系統(tǒng)數(shù)據(jù)庫的功能,在下面表結(jié)構中標有邊框的字段上建立索引.
本文針對GPRS油田遠程監(jiān)控系統(tǒng)的特點,依循數(shù)據(jù)庫建立的原則,分析研究了主鍵、索引的建立原則和數(shù)據(jù)的管理方法,建立了一整套的數(shù)據(jù)庫系統(tǒng).目前,該系統(tǒng)已經(jīng)在成功的應用中,可以方便、及時、準確地對數(shù)據(jù)庫輸入、存儲、分析和管理,能夠?qū)τ吞锏挠嬃亢头辣I進行實時動態(tài)管理.大大提高了油田管理自動化的水平,產(chǎn)生了可觀的經(jīng)濟和社會效益.
參考文獻
[1] 程有娥,錢冬云.SQL Sever 2000數(shù)據(jù)庫管理系統(tǒng)[M].上海:華東師范大學出版社,2007.
[2] 王 瑞,于 速,張 雨.Visual C++數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[M].北京:人民郵電出版社,2006.
[3] 劉福利.基于SQL Server數(shù)據(jù)庫的批發(fā)管理系統(tǒng)[M].青島:中國海洋大學,2006.
[4] 閃四清.SQL Server 實用簡明教程(第二版)[M].北京:清華大學出版社,2005.
[5] 高 超,基于SQL Server數(shù)據(jù)庫安全性的研究[J].長沙醫(yī)學院學報,2009,3(15):53-55.
[6] 張予民,萬洪彬.淺談SQL Server數(shù)據(jù)庫應用技巧[J].科技廣場,2009,(5):64-66.
[7] 劉越表,劉 拓,趙治國.數(shù)據(jù)庫建設與創(chuàng)新研究[J].包鋼科技,2008,34(4) :96-98.
[8] 李曉吏,張 巍.數(shù)據(jù)庫應用系統(tǒng)開發(fā)與實例[M].北京:人民郵電出版社,2003.
[9] 黃開枝,康會光,于永軍,等.SQL Sever 2005中文版基礎教程[M].北京:清華大學出版社,2007.