真人一对一直播,chinese极品人妻videos,青草社区,亚洲影院丰满少妇中文字幕无码

0
首頁(yè) 精品范文 數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)

時(shí)間:2022-10-17 08:12:12

開(kāi)篇:寫(xiě)作不僅是一種記錄,更是一種創(chuàng)造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇數(shù)據(jù)庫(kù)設(shè)計(jì),希望這些內(nèi)容能成為您創(chuàng)作過(guò)程中的良師益友,陪伴您不斷探索和進(jìn)步。

數(shù)據(jù)庫(kù)設(shè)計(jì)

第1篇

關(guān)鍵詞:數(shù)據(jù)庫(kù);課程教學(xué);案例數(shù)據(jù)庫(kù)設(shè)計(jì)

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)31-0001-02

Optimal Design of Case Database in Database Course Teaching

HUANG Xin

(Jiaxing Technician College Department of Trade and Tourism,Jiaxing 314036, China)

Abstract:Aiming at the problem of selecting the teaching cases in, we analysis and research the case database designed int the domestic and mainstream textbook of database course. We propose a forum database named “simpleforumdb” as teaching and laboratorial case, and the detailed design of this database is given at the mean time.

Key words:database;course teaching;case database design

數(shù)據(jù)庫(kù)技術(shù)是現(xiàn)代IT技術(shù)的重要支撐技術(shù),是構(gòu)建各類(lèi)信息系統(tǒng)與應(yīng)用系統(tǒng)的核心技術(shù)和重要基礎(chǔ)[1]。教育部的相關(guān)文件指出“當(dāng)代大學(xué)生應(yīng)具備利用數(shù)據(jù)庫(kù)技術(shù)對(duì)信息進(jìn)行管理、加工和處理的意識(shí)與能力,用以解決本專(zhuān)業(yè)領(lǐng)域中的問(wèn)題的能力”[2]。

國(guó)內(nèi)主流數(shù)據(jù)庫(kù)課程教材在組織內(nèi)容時(shí),雖然有的側(cè)重?cái)?shù)據(jù)庫(kù)實(shí)現(xiàn)原理的介紹,有的以某一數(shù)據(jù)庫(kù)管理系統(tǒng)(如Oracle、MySQL等)為平臺(tái)介紹數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用,有的兼顧理論和技術(shù),但無(wú)一例外都引入了一個(gè)或多個(gè)數(shù)據(jù)庫(kù)教學(xué)項(xiàng)目作為貫穿全書(shū)各章節(jié)、演示數(shù)據(jù)庫(kù)關(guān)鍵概念和技術(shù)的案例。許多在教學(xué)中廣泛使用的案例數(shù)據(jù)庫(kù)較為簡(jiǎn)單,與實(shí)際工程項(xiàng)目相差較大,不能很好地覆蓋數(shù)據(jù)庫(kù)課程所有知識(shí)點(diǎn),導(dǎo)致學(xué)生在未來(lái)工作中遇到實(shí)際項(xiàng)目時(shí)無(wú)法快速上手。如何設(shè)計(jì)合理的教學(xué)案例數(shù)據(jù)庫(kù)已成為數(shù)據(jù)庫(kù)課程教學(xué)亟待解決的重要課題。

1 主流數(shù)據(jù)庫(kù)課程教材使用的案例數(shù)據(jù)庫(kù)分析

下面從本專(zhuān)科兩個(gè)教學(xué)層次,選取兩本主流數(shù)據(jù)庫(kù)課程教材中引入的案例數(shù)據(jù)庫(kù)加以分析各自的優(yōu)點(diǎn)和不足。

1.1 圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)

由南京師范大學(xué)鄭阿奇教授主編的數(shù)據(jù)庫(kù)課程系列教材被列為普通高等學(xué)校國(guó)家級(jí)規(guī)劃教材,在職業(yè)院校和應(yīng)用型本科院校的數(shù)據(jù)庫(kù)課程教學(xué)中廣泛使用。該教材以圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)作為教學(xué)案例[3]。

1.1.1 圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)

圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)[3]如下:

1)管理員表:Administrator(角色名,密碼,備注)

2)讀者表:TReader(借書(shū)證號(hào),密碼,姓名,性別,出生時(shí)間,專(zhuān)業(yè),借書(shū)量,照片,備注,聯(lián)系方式)

3)圖書(shū)表:TBook(ISBN,書(shū)名,作譯者,出版社,出版年月,價(jià)格,復(fù)本量,庫(kù)存量,分類(lèi)號(hào),內(nèi)容提要,封面照片)

4)借閱表:TLend(借書(shū)證號(hào),ISBN,圖書(shū)ID,借書(shū)時(shí)間,應(yīng)還時(shí)間)

5)還書(shū)表:HLend(編號(hào),借書(shū)證號(hào),ISBN,圖書(shū)ID,借書(shū)時(shí)間,還書(shū)時(shí)間)

6)借出表:TBLend(圖書(shū)ID,ISBN,是否借出)

1.1.2 圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)分析

優(yōu)點(diǎn):圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)較為完整,學(xué)習(xí)者不難結(jié)合其他程序設(shè)計(jì)語(yǔ)言(如C#、JSP、等)構(gòu)造出一個(gè)實(shí)用的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)作為課程設(shè)計(jì)。另外,該案例數(shù)據(jù)庫(kù)的屬性較為豐富,可涵蓋SQL語(yǔ)言的主要數(shù)據(jù)類(lèi)型。

不足:第一,可能是為了方便數(shù)據(jù)查詢(xún),圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)上存在不規(guī)范問(wèn)題:部分表沒(méi)有達(dá)到3NF的規(guī)范化要求。例如在借閱表TLend中,存在非主屬性ISBN對(duì)碼(借書(shū)證號(hào), 圖書(shū)ID , 借書(shū)時(shí)間)的部分函數(shù)依賴(lài)[4]。還書(shū)表HLend也存在類(lèi)似問(wèn)題。改進(jìn)的方法是從借閱表TLend和還書(shū)表HLend中去除屬性ISBN,同時(shí)在TLend中加入“編號(hào)”屬性作為該表的主碼。第二,圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)存在冗余問(wèn)題,部分屬性屬于冗余屬性,可以從相關(guān)表中去除[4]。例如圖書(shū)表TBook中每本書(shū)的“復(fù)本量”和“庫(kù)存量”可通過(guò)對(duì)借出表TBLend中相關(guān)記錄進(jìn)行聚集函數(shù)查詢(xún)(使用函數(shù)count)得到,所以這兩個(gè)屬性應(yīng)該從圖書(shū)表Tbook中去除(如果存在,為了維護(hù)數(shù)據(jù)完整性系統(tǒng)將付出很大的性能代價(jià))。第三,和企業(yè)實(shí)際工程項(xiàng)目相比,圖書(shū)管理系統(tǒng)數(shù)據(jù)庫(kù)略顯簡(jiǎn)單。

1.2 學(xué)生選課數(shù)據(jù)庫(kù)

由中國(guó)人民大學(xué)王珊和薩師煊兩位教授編著的《數(shù)據(jù)庫(kù)系統(tǒng)概論》一書(shū)引入的案例數(shù)據(jù)庫(kù)――學(xué)生選課數(shù)據(jù)庫(kù)在國(guó)內(nèi)多數(shù)本科院校授課時(shí)廣泛采用[5]。《數(shù)據(jù)庫(kù)系統(tǒng)概論》也是國(guó)內(nèi)第一部介紹數(shù)據(jù)庫(kù)的教材,一直被國(guó)內(nèi)大多數(shù)本科院校作為課程教材和主要教學(xué)參考書(shū)。

1.2.1 學(xué)生選課數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)

第2篇

[關(guān)鍵詞]ORACLE數(shù)據(jù)庫(kù) 環(huán)境調(diào)整 優(yōu)化設(shè)計(jì) 方案

中圖分類(lèi)號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2008)0720043-01

ORACLE數(shù)據(jù)庫(kù)中數(shù)據(jù)存取性能的改善,可以進(jìn)行調(diào)整級(jí)別,第一級(jí)調(diào)整是操作系統(tǒng)級(jí)包括硬件平臺(tái),第二級(jí)調(diào)整是ORACLE RDBMS級(jí)的調(diào)整,第三級(jí)是數(shù)據(jù)庫(kù)設(shè)計(jì)級(jí)的調(diào)整,最后一個(gè)調(diào)整級(jí)是SQL級(jí)。通常依此四級(jí)調(diào)整級(jí)別對(duì)數(shù)據(jù)庫(kù)進(jìn)行調(diào)整、優(yōu)化,數(shù)據(jù)庫(kù)的整體性能會(huì)得到很大的改善。

一、數(shù)據(jù)庫(kù)優(yōu)化自由結(jié)構(gòu)OFA(Optimal flexible Architecture)

數(shù)據(jù)庫(kù)的邏輯配置對(duì)數(shù)據(jù)庫(kù)性能有很大的影響,為此,ORACLE公司對(duì)表空間設(shè)計(jì)提出了一種優(yōu)化結(jié)構(gòu)OFA。使用這種結(jié)構(gòu)進(jìn)行設(shè)計(jì)會(huì)大大簡(jiǎn)化物理設(shè)計(jì)中的數(shù)據(jù)管理。優(yōu)化自由結(jié)構(gòu)OFA,簡(jiǎn)單地講就是在數(shù)據(jù)庫(kù)中可以高效自由地分布邏輯數(shù)據(jù)對(duì)象,因此首先要對(duì)數(shù)據(jù)庫(kù)中的邏輯對(duì)象根據(jù)他們的使用方式和物理結(jié)構(gòu)對(duì)數(shù)據(jù)庫(kù)的影響來(lái)進(jìn)行分類(lèi),這種分類(lèi)包括將系統(tǒng)數(shù)據(jù)和用戶(hù)數(shù)據(jù)分開(kāi)、一般數(shù)據(jù)和索引數(shù)據(jù)分開(kāi)、低活動(dòng)表和高活動(dòng)表分開(kāi)等等。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果應(yīng)當(dāng)符合幾個(gè)準(zhǔn)則:把以同樣方式使用的段類(lèi)型存儲(chǔ)在一起;按照標(biāo)準(zhǔn)使用來(lái)設(shè)計(jì)系統(tǒng);存在用于例外的分離區(qū)域;最小化表空間沖突;將數(shù)據(jù)字典分離。

二、充分利用系統(tǒng)全局區(qū)域SGA(SYSTEM GLOBAL AREA)

SGA是Oracle數(shù)據(jù)庫(kù)的心臟。用戶(hù)的進(jìn)程對(duì)這個(gè)內(nèi)存區(qū)發(fā)送事務(wù),并且以這里作為高速緩存讀取命中的數(shù)據(jù),以實(shí)

現(xiàn)加速的目的。正確的SGA大小對(duì)數(shù)據(jù)庫(kù)的性能至關(guān)重要。SGA包括以下幾個(gè)部分:一個(gè)是數(shù)據(jù)塊緩沖區(qū)(data block buffer cache)是SGA中的一塊高速緩存,占整個(gè)數(shù)據(jù)庫(kù)大小的1%-2%,用來(lái)存儲(chǔ)從數(shù)據(jù)庫(kù)重讀取的數(shù)據(jù)塊(表、索引、簇等),因此采用least recently used (LRU,最近最少使用)的方法進(jìn)行空間管理。一個(gè)是字典緩沖區(qū)。該緩沖區(qū)內(nèi)的信息包括用戶(hù)賬號(hào)數(shù)據(jù)、數(shù)據(jù)文件名、段名、盤(pán)區(qū)位置、表說(shuō)明和權(quán)限,它也采用LRU方式管理。一個(gè)是重做日志緩沖區(qū)。該緩沖區(qū)保存為數(shù)據(jù)庫(kù)恢復(fù)過(guò)程中用于前滾操作。還有一個(gè)是SQL共享池。保存執(zhí)行計(jì)劃和運(yùn)行數(shù)據(jù)庫(kù)的SQL語(yǔ)句的語(yǔ)法分析樹(shù)。也采用LRU算法管理。如果設(shè)置過(guò)小,語(yǔ)句將被連續(xù)不斷地再裝入到庫(kù)緩存,影響系統(tǒng)性能。

三、規(guī)范與反規(guī)范設(shè)計(jì)數(shù)據(jù)庫(kù)

第一,規(guī)范化。對(duì)于范式是符合某一級(jí)別的關(guān)系模式的集合,根據(jù)約束條件的不同,一般有1NF、2NF、3NF三種范式。規(guī)范化理論是圍繞這些范式而建立的。規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴(lài)中不合適的部分,使模式中的各關(guān)系模式達(dá)到某種程度的“分離”,即采用“一事一地”的模式設(shè)計(jì)原則,因此,所謂規(guī)范化實(shí)質(zhì)上就是概念的單一化。數(shù)據(jù)庫(kù)中數(shù)據(jù)規(guī)范化的優(yōu)點(diǎn)是減少了數(shù)據(jù)冗余,節(jié)約了存儲(chǔ)空間,相應(yīng)邏輯和物理的I/O次數(shù)減少,同時(shí)加快了增、刪、改的速度。但是一個(gè)完全規(guī)范化的設(shè)計(jì)并不總能生成最優(yōu)的性能,因?yàn)閷?duì)數(shù)據(jù)庫(kù)查詢(xún)通常需要更多的連接操作,從而影響到查詢(xún)的速度。故有時(shí)為了提高某些查詢(xún)或應(yīng)用的性能而有意破壞規(guī)范規(guī)則,即反規(guī)范化。

第二,反規(guī)范化。在數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中有時(shí)故意保留非規(guī)范化約束,或者規(guī)范化以后又反規(guī)范,這樣做通常是為了改進(jìn)數(shù)據(jù)庫(kù)的查詢(xún)性能,加快數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)速度。反規(guī)范化的好處是降低連接操作的需求、降低外碼和索引數(shù)目,減少表的個(gè)數(shù),從而提高查詢(xún)速度,這對(duì)于性能要求相對(duì)較高的數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說(shuō),能有效地改善系統(tǒng)的性能,但相應(yīng)的問(wèn)題是可能影響數(shù)據(jù)的完整性,加快查詢(xún)速度的同時(shí)降低修改速度。

所以,規(guī)范與反規(guī)范都是建立在實(shí)際的操作基礎(chǔ)之上的約束,脫離了實(shí)際兩者都沒(méi)有意義。只有把兩者合理地結(jié)合在一起,才能相互補(bǔ)充,發(fā)揮各自的優(yōu)點(diǎn)。

四、索引Index的優(yōu)化設(shè)計(jì)

第一,管理組織索引。索引可以大大加快數(shù)據(jù)庫(kù)的查詢(xún)速度,索引把表中的邏輯值映射到安全的RowID,因此索引能進(jìn)行快速定位數(shù)據(jù)的物理地址。對(duì)一個(gè)建有索引的大型表的查詢(xún)時(shí),索引數(shù)據(jù)可能會(huì)用完所有的數(shù)據(jù)塊緩存空間,ORACL不得不頻繁地進(jìn)行磁盤(pán)讀寫(xiě)來(lái)獲取數(shù)據(jù),因此在對(duì)一個(gè)大型表進(jìn)行分區(qū)之后,可以根據(jù)相應(yīng)的分區(qū)建立分區(qū)索引。DBA創(chuàng)建索引時(shí),應(yīng)盡量保證該索引最可能地被用于where子句中,如果對(duì)查詢(xún)只簡(jiǎn)單地制定一個(gè)索引,并不一定會(huì)加快速度,因?yàn)樗饕仨氈付ㄒ粋€(gè)適合所需的訪(fǎng)問(wèn)路徑。

第二,聚簇的使用。Oracle提供了另一種方法來(lái)提高查詢(xún)速度,就是聚簇(Cluster)。所謂聚簇,簡(jiǎn)單地說(shuō)就是把幾個(gè)表放在一起,按一定公共屬性混合存放。聚簇根據(jù)共同碼值將多個(gè)表的數(shù)據(jù)存儲(chǔ)在同一個(gè)Oracle塊中,這時(shí)檢索一組Oracle塊就同時(shí)得到兩個(gè)表的數(shù)據(jù),這樣就可以減少需要存儲(chǔ)的Oracle塊,從而提高應(yīng)用程序的性能。

五、使用最優(yōu)的數(shù)據(jù)庫(kù)連接和SQL優(yōu)化方案

第一,使用直接的OLE DB數(shù)據(jù)庫(kù)連接方式。通過(guò)ADO可以使用兩種方式連接數(shù)據(jù)庫(kù),一種是傳統(tǒng)的ODBC方式,一種是OLE DB方式。ADO是建立在OLE DB技術(shù)上的,為了支持ODBC,必須建立相應(yīng)的OLE DB到ODBC的調(diào)用轉(zhuǎn)換,而使用直接的OLE DB方式則不需轉(zhuǎn)換,從而提高處理速度。

第二,使用Connection Pool機(jī)制。在數(shù)據(jù)庫(kù)處理中,資源花銷(xiāo)最大的是建立數(shù)據(jù)庫(kù)連接,而且用戶(hù)還會(huì)有一個(gè)較長(zhǎng)的連接等待時(shí)間。解決的辦法就是復(fù)用現(xiàn)有的Connection,也就是使用Connection Pool對(duì)象機(jī)制。Connection Pool的原理是:IIS+ASP體系中維持了一個(gè)連接緩沖池,這樣,當(dāng)下一個(gè)用戶(hù)訪(fǎng)問(wèn)時(shí),直接在連接緩沖池中取得一個(gè)數(shù)據(jù)庫(kù)連接,而不需重新連接數(shù)據(jù)庫(kù),因此可以大大地提高系統(tǒng)的響應(yīng)速度。

第三,高效地進(jìn)行SQL語(yǔ)句設(shè)計(jì)。通常情況下,可以采用一些方法優(yōu)化SQL對(duì)數(shù)據(jù)操作的表現(xiàn)。首先,減少對(duì)數(shù)據(jù)庫(kù)的查詢(xún)次數(shù),即減少對(duì)系統(tǒng)資源的請(qǐng)求,使用快照和顯形圖等分布式數(shù)據(jù)庫(kù)對(duì)象可以減少對(duì)數(shù)據(jù)庫(kù)的查詢(xún)次數(shù)。其次,盡量使用相同的或非常類(lèi)似的SQL語(yǔ)句進(jìn)行查詢(xún),這樣不僅充分利用SQL共享池中的已經(jīng)分析的語(yǔ)法樹(shù),要查詢(xún)的數(shù)據(jù)在SGA中命中的可能性也會(huì)大大增加。還可以限制動(dòng)態(tài)SQL的使用,雖然動(dòng)態(tài)SQL很好用,但是即使在SQL共享池中有一個(gè)完全相同的查詢(xún)值,動(dòng)態(tài)SQL也會(huì)重新進(jìn)行語(yǔ)法分析。

總之,提高系統(tǒng)性能需要一種系統(tǒng)的整體的方法,在對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化時(shí),應(yīng)對(duì)應(yīng)用程序、I/O子系統(tǒng)和操作系統(tǒng)(OS)進(jìn)行相應(yīng)的優(yōu)化。優(yōu)化是有目的地更改系統(tǒng)的一個(gè)或多個(gè)組件,使其滿(mǎn)足一個(gè)或多個(gè)目標(biāo)的過(guò)程。對(duì)Oracle來(lái)說(shuō),優(yōu)化是進(jìn)行有目的的調(diào)整組件級(jí)以改善性能,即增加吞吐量,減少響應(yīng)時(shí)間。DBA能從上述方面綜合考慮優(yōu)化方案,相信多數(shù)ORACLE應(yīng)用可以做到按最優(yōu)的方式來(lái)存取數(shù)據(jù)。

參考文獻(xiàn):

[1][美]Joe Greene,Advanced Information Systems,Inc.et al. Oracle 8 服務(wù)器技術(shù)精粹 [M].清華大學(xué)出版社,1999.

[2]甕正科、王新英,Oracle 8.X For Windows NT 實(shí)用教程[M].清華大學(xué)出版社,1999.

第3篇

關(guān)鍵詞:網(wǎng)絡(luò)安全 漏洞 數(shù)據(jù)庫(kù)

1 信息安全庫(kù)所面臨的挑戰(zhàn)

信息技術(shù)的發(fā)展帶動(dòng)了全球信息化的發(fā)展,從而使信息基礎(chǔ)設(shè)施成為社會(huì)基礎(chǔ)設(shè)施中必不可少的關(guān)鍵所在。信息網(wǎng)絡(luò)技術(shù)的應(yīng)用正日益普及和廣泛,應(yīng)用領(lǐng)域也從傳統(tǒng)的、小型業(yè)務(wù)系統(tǒng)逐漸向大型、關(guān)鍵業(yè)務(wù)系統(tǒng)擴(kuò)展,典型的如企事業(yè)單位信息系統(tǒng)、金融業(yè)務(wù)系統(tǒng)、企業(yè)商務(wù)系統(tǒng)等。伴隨網(wǎng)絡(luò)的普及,安全日益成為影響網(wǎng)絡(luò)效能的重要問(wèn)題,而Internet所具有的開(kāi)放性、國(guó)際性和自由性在增加應(yīng)用自由度的同時(shí),對(duì)安全提出了更高的要求,這主要表現(xiàn)在:

1.1 開(kāi)放性導(dǎo)致網(wǎng)絡(luò)的技術(shù)是全開(kāi)放的,任何一個(gè)人、團(tuán)體都可能獲得,因而網(wǎng)絡(luò)所面臨的破壞和攻擊可能是多方面的,例如:可能來(lái)自物理傳輸線(xiàn)路的攻擊,也可以對(duì)網(wǎng)絡(luò)通信協(xié)議和實(shí)現(xiàn)實(shí)施攻擊;可以是對(duì)軟件實(shí)施攻擊,也可以對(duì)硬件實(shí)施攻擊。

1.2 國(guó)際性意味著網(wǎng)絡(luò)的攻擊不僅僅來(lái)自本地網(wǎng)絡(luò)的用戶(hù),它可以來(lái)自Internet上的任何一個(gè)機(jī)器,也就是說(shuō),網(wǎng)絡(luò)安全所面臨的是一個(gè)國(guó)際化的挑戰(zhàn)。

1.3 自由性意味著網(wǎng)絡(luò)最初對(duì)用戶(hù)的使用并沒(méi)有提供任何的技術(shù)約束,用戶(hù)可以自由地訪(fǎng)問(wèn)網(wǎng)絡(luò),自由地使用和各種類(lèi)型的信息。

與此同時(shí),層出不窮的病毒、蠕蟲(chóng)和黑客攻擊給正常的網(wǎng)絡(luò)通信與信息資源帶來(lái)沉重的負(fù)荷和影響。

如近幾年來(lái)在全球肆虐的Code Red,Slammer,W32. Blaster等蠕蟲(chóng)病毒,除了對(duì)受害站點(diǎn)進(jìn)行DDos攻擊外,大量非正常數(shù)據(jù)包的泛洪還嚴(yán)重占用網(wǎng)絡(luò)帶寬,堵塞網(wǎng)絡(luò),并使大量服務(wù)器工作異常,具有很強(qiáng)的危害性。

2 安全信息數(shù)據(jù)庫(kù)的設(shè)計(jì)

該子庫(kù)主要存儲(chǔ)來(lái)自于信息偵察所收集到的并支持人工修正的目標(biāo)網(wǎng)絡(luò)的基本信息。其中,包含有配置信息表(CInfo)、服務(wù)信息表(SInfo)、漏洞信息表(VInfo)和安全依賴(lài)關(guān)系表(SDR)。

CInfo表的鍵是主機(jī)IP地址屬性;SInfo表的鍵是(主機(jī)IP地址、主機(jī)端口);VInfo表的鍵是(主機(jī)IP地址、主機(jī)漏洞ID);SDR表的鍵是(可能源主機(jī)IP,可能目的主機(jī)IP,主機(jī)漏洞ID)。CInfo與SInfo是一對(duì)多的關(guān)系,因?yàn)槊颗_(tái)主機(jī)可同時(shí)開(kāi)放多個(gè)端口;CInfo與VInfo是一對(duì)多的關(guān)系,每個(gè)節(jié)點(diǎn)可能有多個(gè)漏洞;SInfo與VInfo也是一對(duì)多的關(guān)系,每個(gè)運(yùn)行服務(wù)可能存在多個(gè)漏洞。CInfo與SDR,VInfo與SDR均是一對(duì)多的關(guān)系。

3 標(biāo)準(zhǔn)漏洞子庫(kù)設(shè)計(jì)

該子庫(kù)由漏洞信息表(VulInfo)和漏洞影響系統(tǒng)信息表(VulSys)組成。前者主要記錄了每個(gè)漏洞的BugID、/更新時(shí)間、漏洞類(lèi)別、具體描述、修復(fù)方法等等;后者記錄了每條漏洞所影響的操作系統(tǒng)或應(yīng)用軟件信息。

VulInfo表和VulSys的鍵值均是漏洞ID屬性,它們之間是一對(duì)多的關(guān)系,因?yàn)橥粋€(gè)漏洞可能影響多個(gè)系統(tǒng)。

在VulInfo表中,我們使用Bugtraq作為標(biāo)識(shí)漏洞的唯一ID,是因?yàn)锽ugtraq ID即將成為業(yè)界的統(tǒng)一標(biāo)準(zhǔn),各個(gè)軟件供應(yīng)商也已開(kāi)始將自己的產(chǎn)品漏洞公告映射為Bugtraq編號(hào),該編號(hào)提供了一個(gè)統(tǒng)一、一致、可比較的漏洞管理機(jī)制。

由于這兩個(gè)組織的漏洞數(shù)據(jù)庫(kù)都不提供直接的訪(fǎng)問(wèn),因此設(shè)計(jì)一個(gè)漏洞數(shù)據(jù)獲取插件。

根據(jù)各個(gè)漏洞信息的URL開(kāi)啟多個(gè)線(xiàn)程,發(fā)送相應(yīng)的HTTP GET請(qǐng)求,然后讀取Web Server端的響應(yīng)。由于漏洞數(shù)量相當(dāng)多,如果由每個(gè)線(xiàn)程同時(shí)完成讀取響應(yīng),分析數(shù)據(jù)并填寫(xiě)數(shù)據(jù)庫(kù),不但會(huì)消耗大量的系統(tǒng)資源,而且很可能導(dǎo)致大量GET請(qǐng)求失敗。因此,我們采取了實(shí)時(shí)線(xiàn)程獲取原始漏洞數(shù)據(jù)并以簡(jiǎn)單的格式存儲(chǔ),然后主線(xiàn)程進(jìn)行離線(xiàn)的數(shù)據(jù)分析,并完成寫(xiě)入數(shù)據(jù)庫(kù)的任務(wù)。另外,由于可能存在GET請(qǐng)求失效的情況,將導(dǎo)致某些漏洞的信息缺失或不完整。為了保證得到所有已有漏洞的信息,我們還采取了日志記錄機(jī)制,即,主線(xiàn)程開(kāi)啟一批線(xiàn)程抓取信息并等待其全部結(jié)束后,根據(jù)每個(gè)線(xiàn)程錄入的日志找出需要重新抓取的漏洞,重新開(kāi)啟一批線(xiàn)程,如此反復(fù),直到所有漏洞數(shù)據(jù)都被成功獲取。

由于目前實(shí)際情況的限制,只能在國(guó)際安全組織站點(diǎn)上被動(dòng)的更新漏洞庫(kù)。如果可以建立國(guó)內(nèi)統(tǒng)一的緊急相應(yīng)中心漏洞數(shù)據(jù)庫(kù),那么中心可以定期的向各個(gè)網(wǎng)絡(luò)風(fēng)險(xiǎn)評(píng)估管理系統(tǒng)的標(biāo)準(zhǔn)漏洞子庫(kù)漏洞更新數(shù)據(jù)。

可見(jiàn),執(zhí)行相應(yīng)的風(fēng)險(xiǎn)控制措施,使風(fēng)險(xiǎn)等級(jí)降低到可接受的水平。

參考文獻(xiàn):

[1]Information Assurance Technical Framework. IATF Document [EB/OL].Release 3.1.

[2]National Computer Security Center,Department of Defense Trusted Computer System Evaluation Criteria,DoD 5200.28-STD,December 1985

[3]David Moore,Vern Paxson,Stefan Savage etc. The Spread of the Sapphire/Slammer Worm[EB/OL].2003.

第4篇

數(shù)據(jù)庫(kù)設(shè)計(jì)系統(tǒng)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)習(xí)慣系統(tǒng)設(shè)計(jì)分為兩個(gè)部分,也可以說(shuō)是兩個(gè)階段,即數(shù)據(jù)庫(kù)設(shè)計(jì)與系統(tǒng)功能設(shè)計(jì)。構(gòu)建一個(gè)完善的系統(tǒng)需要這兩個(gè)階段的充分考量、周密設(shè)計(jì)、合理聯(lián)接以及密切配合。在這兩個(gè)設(shè)計(jì)階段中數(shù)據(jù)庫(kù)設(shè)計(jì)階段是整個(gè)系統(tǒng)設(shè)計(jì)的根基,數(shù)據(jù)庫(kù)設(shè)計(jì)關(guān)乎系統(tǒng)功能實(shí)現(xiàn)度、穩(wěn)定性、擴(kuò)展性等多個(gè)方面的內(nèi)容,其重要性可想而知。然而目前的情況是:從學(xué)校到社會(huì),從教師到學(xué)生,從思想到行動(dòng)都以實(shí)現(xiàn)功能,做上層的表面文章為主流。這不僅會(huì)為系統(tǒng)留下隱患,也將成為整個(gè)軟件開(kāi)發(fā)行業(yè)的隱患。

一、海量數(shù)據(jù)環(huán)境到來(lái)為數(shù)據(jù)庫(kù)設(shè)計(jì)提出的新高度

數(shù)據(jù)庫(kù)設(shè)計(jì)是近些年出現(xiàn)的技術(shù)領(lǐng)域。早期的時(shí)候,數(shù)據(jù)庫(kù)是以一個(gè)黑盒的方式,附屬到某個(gè)系統(tǒng)當(dāng)中的,開(kāi)發(fā)人員對(duì)它的關(guān)注很少。互聯(lián)網(wǎng)的時(shí)代,系統(tǒng)數(shù)據(jù)量呈幾何級(jí)數(shù)激增,數(shù)據(jù)存儲(chǔ)與表示也使用了TB,PB乃至ZB等單位。在這種情況下各種性能問(wèn)題日益凸顯,數(shù)據(jù)庫(kù)由于其載體與容器的身份承擔(dān)了其中的很大一部分。海量數(shù)據(jù)帶來(lái)的存儲(chǔ)、查詢(xún)速度以及容災(zāi)等方面的壓力是這一環(huán)境下的新問(wèn)題。無(wú)論是項(xiàng)目負(fù)責(zé)人、開(kāi)發(fā)人員還是DBA(Database Administrator),都不可回避地要面對(duì)這個(gè)問(wèn)題。

在這種大數(shù)據(jù)環(huán)境下人們對(duì)數(shù)據(jù)庫(kù)性能的優(yōu)劣俞發(fā)關(guān)注,對(duì)系統(tǒng)設(shè)計(jì)階段中的數(shù)據(jù)庫(kù)設(shè)計(jì)階段也提出了新的更高的要求,數(shù)據(jù)庫(kù)功能也正在從數(shù)據(jù)存儲(chǔ)工具的角色轉(zhuǎn)變成數(shù)據(jù)處理器的角色。因此,目前的系統(tǒng)設(shè)計(jì)中也總是將數(shù)據(jù)庫(kù)從系統(tǒng)設(shè)計(jì)中拿出來(lái)單獨(dú)進(jìn)行設(shè)計(jì)。一個(gè)數(shù)據(jù)庫(kù)性能的好壞,通常是在系統(tǒng)設(shè)計(jì)階段就決定了的。

二、好的數(shù)據(jù)庫(kù)設(shè)計(jì)所應(yīng)具備的基本條件

1.充分體現(xiàn)系統(tǒng)的需求

數(shù)據(jù)庫(kù)是為應(yīng)用服務(wù)的,好的數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該首先能滿(mǎn)足應(yīng)用系統(tǒng)的業(yè)務(wù)需求,能夠準(zhǔn)確表達(dá)數(shù)據(jù)間關(guān)系。

2.能夠保證數(shù)據(jù)的準(zhǔn)確性和一致性

通過(guò)主外鍵、非空、限制、唯一索引等保證數(shù)據(jù)的健壯。

3.提高數(shù)據(jù)的查詢(xún)效率

通過(guò)合理表結(jié)構(gòu),安排物理存儲(chǔ)分區(qū)、增加索引等方式,提高數(shù)據(jù)的讀取速度,提高查詢(xún)效率。

4.有好的擴(kuò)展性

好的數(shù)據(jù)庫(kù)設(shè)計(jì)在必要時(shí)應(yīng)能根據(jù)需求進(jìn)行數(shù)據(jù)結(jié)構(gòu)的擴(kuò)展。

三、重視不足的數(shù)據(jù)庫(kù)設(shè)計(jì)的具體體現(xiàn)

不良的數(shù)據(jù)庫(kù)設(shè)計(jì),必然會(huì)造成很多問(wèn)題,輕則增減字段,重則系統(tǒng)無(wú)法運(yùn)行。對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)重視不足在具體設(shè)計(jì)中可體現(xiàn)在很多方面,現(xiàn)列舉其中的部分內(nèi)容:

1.與需求不符

數(shù)據(jù)庫(kù)是需求的直觀(guān)反應(yīng)和表現(xiàn)。在數(shù)據(jù)庫(kù)設(shè)計(jì)之前對(duì)用戶(hù)需求沒(méi)有進(jìn)行詳細(xì)了解與必要的分析,在設(shè)計(jì)過(guò)程中也沒(méi)有同用戶(hù)及使用單位進(jìn)行必要的溝通。這樣往往造成數(shù)據(jù)庫(kù)在設(shè)計(jì)上的不實(shí)用。與用戶(hù)需求不符將使整個(gè)系統(tǒng)無(wú)法交付使用。

2.字段設(shè)計(jì)不合理

一是設(shè)計(jì)中缺少必要的字段,造成無(wú)法跟蹤數(shù)據(jù)變化、限制用戶(hù)操作或無(wú)法進(jìn)行數(shù)據(jù)分析。二是字段長(zhǎng)度過(guò)短或字段類(lèi)型過(guò)于明確,使可發(fā)揮、可拓展的空間太小。設(shè)計(jì)不合理的字段如果用于查詢(xún)將造成SQL查詢(xún)語(yǔ)句過(guò)于復(fù)雜,而使查詢(xún)無(wú)法順利進(jìn)行。

3.數(shù)據(jù)完整性喪失

通常指存儲(chǔ)大量數(shù)據(jù)的數(shù)據(jù)表之間的關(guān)聯(lián)過(guò)多,包含主外鍵關(guān)系的數(shù)據(jù)表之間的關(guān)聯(lián)字段設(shè)計(jì)方式不合理,或是多張數(shù)據(jù)表之間耦合度過(guò)高,更新與刪除操作后就容易造成程序出錯(cuò)。

除上述內(nèi)容之外,因?qū)?shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程重視不夠而非技術(shù)不足所造成影響還有很多,在此不一一列舉。需要相關(guān)人員明確的是系統(tǒng)設(shè)計(jì)如同所有項(xiàng)目一樣包括各個(gè)環(huán)節(jié)。例如,汽車(chē)制造過(guò)程包括圖紙?jiān)O(shè)計(jì)、模型制作、樣車(chē)制造、小批量生產(chǎn),最后是批量生產(chǎn)等環(huán)節(jié)。制造過(guò)程環(huán)環(huán)相扣,后一過(guò)程將建立在前一過(guò)程正確的前提基礎(chǔ)之上。很顯然越是初始環(huán)節(jié)出現(xiàn)問(wèn)題對(duì)整個(gè)項(xiàng)目帶來(lái)的打擊越大。在開(kāi)發(fā)順序上由于數(shù)據(jù)庫(kù)設(shè)計(jì)階段位于整個(gè)系統(tǒng)設(shè)計(jì)的前端,因此在此環(huán)節(jié)出現(xiàn)的問(wèn)題其影響是具大的。

四、如何培養(yǎng)良好的數(shù)據(jù)庫(kù)設(shè)計(jì)習(xí)慣

一般來(lái)說(shuō),在系統(tǒng)設(shè)計(jì)時(shí)間與任務(wù)量的安排上,數(shù)據(jù)庫(kù)設(shè)計(jì)至少應(yīng)占用整個(gè)項(xiàng)目開(kāi)發(fā)的60%以上。這樣才能保證系統(tǒng)的強(qiáng)壯、可靠與穩(wěn)定。從事系統(tǒng)設(shè)計(jì)的相關(guān)人員要養(yǎng)成良好的數(shù)據(jù)庫(kù)設(shè)計(jì)習(xí)慣主要應(yīng)從以下兩個(gè)方面著手。

1.轉(zhuǎn)變觀(guān)念

首先,很多計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生、教師以及真正的開(kāi)發(fā)設(shè)計(jì)人員受社會(huì)大環(huán)境的影響在學(xué)習(xí)與工作中沒(méi)有踏實(shí)與務(wù)實(shí)的作風(fēng)。再者,很多承擔(dān)專(zhuān)業(yè)教學(xué)的教師沒(méi)有真正的系統(tǒng)設(shè)計(jì)經(jīng)歷,很難給學(xué)生的系統(tǒng)設(shè)計(jì)習(xí)慣進(jìn)行正確的引導(dǎo)。還有,學(xué)習(xí)的動(dòng)力導(dǎo)致學(xué)習(xí)的效果。學(xué)生在學(xué)習(xí)前就已經(jīng)對(duì)各門(mén)專(zhuān)業(yè)課程進(jìn)行了“三六九等”的劃分。認(rèn)為各類(lèi)流行的語(yǔ)言與開(kāi)發(fā)工具是重要的,是簡(jiǎn)歷中的“添彩”之處,是今后工作必備的。其實(shí),各種語(yǔ)言一通則百通,并不需要面面俱到。因此,這就需要“產(chǎn)學(xué)研”人員都能轉(zhuǎn)變觀(guān)念,以培養(yǎng)正確的設(shè)計(jì)習(xí)慣。

2.增加大型系統(tǒng)開(kāi)發(fā)經(jīng)歷

大型系統(tǒng)開(kāi)發(fā)其交付后都能具有較高的實(shí)際應(yīng)用價(jià)值,其對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)的要求必然符合其應(yīng)有的地位。之所以在觀(guān)念上對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)存在重視不足的問(wèn)題同相關(guān)人員沒(méi)有大型系統(tǒng)開(kāi)發(fā)經(jīng)歷有一定的關(guān)系統(tǒng),開(kāi)發(fā)經(jīng)驗(yàn)總停留在模擬系統(tǒng)階段是無(wú)法真正認(rèn)識(shí)到數(shù)據(jù)庫(kù)設(shè)計(jì)的重要性的。

五、結(jié)語(yǔ)

綜上所述,可見(jiàn)數(shù)據(jù)庫(kù)設(shè)計(jì)在系統(tǒng)設(shè)計(jì)中的作用是舉足輕重的。對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)重要性的忽視必將為整個(gè)系統(tǒng)埋下隱患,對(duì)系統(tǒng)以及開(kāi)發(fā)人員而言所要付出的代價(jià)也將是巨大的。

參考文獻(xiàn):

[1]譚懷遠(yuǎn).讓Oracle跑得更快2――基于海量數(shù)據(jù)的數(shù)據(jù)庫(kù)設(shè)計(jì)與優(yōu)化.電子工業(yè)出版社,2011.

第5篇

【關(guān)鍵詞】數(shù)據(jù)庫(kù)設(shè)計(jì)程序 通用外掛式輔助 離散制造執(zhí)行系統(tǒng)

數(shù)據(jù)庫(kù)設(shè)計(jì)的優(yōu)劣和體現(xiàn)性能的高低對(duì)整個(gè)系統(tǒng)軟件的生命周期長(zhǎng)短具有重要的影響意義,其中輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序是軟件開(kāi)發(fā)和應(yīng)用最有效的輔助設(shè)計(jì)工具。現(xiàn)階段,數(shù)據(jù)庫(kù)設(shè)計(jì)發(fā)展常應(yīng)用的軟件技術(shù)和數(shù)據(jù)處理方式是SDE中間件技術(shù)。這種技術(shù)的應(yīng)用缺乏通用性和一般性,只能針對(duì)某一種具體的數(shù)據(jù)庫(kù)和軟件進(jìn)行設(shè)計(jì)。同時(shí),產(chǎn)品化軟件數(shù)據(jù)庫(kù)管理應(yīng)用程序只是簡(jiǎn)單化的數(shù)據(jù)管理系統(tǒng),不具有軟件設(shè)計(jì)和數(shù)據(jù)整理的基本功能。為此,集合數(shù)據(jù)庫(kù)輔助設(shè)計(jì)程序和軟件系統(tǒng)開(kāi)發(fā)為一體的輔助程序得到了越來(lái)越多人的研究和關(guān)注,文章為此對(duì)通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序進(jìn)行分析研究。

1 通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序

1.1 概念

通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序中的外掛式主要以用戶(hù)界面為基本呈現(xiàn)形式,借助這種界面實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)內(nèi)容的靈活處理,并在相應(yīng)軟件系統(tǒng)開(kāi)發(fā)的同時(shí),實(shí)現(xiàn)軟件和數(shù)據(jù)庫(kù)設(shè)計(jì)的開(kāi)發(fā)和自定義設(shè)計(jì)。

1.2 參數(shù)傳遞的含義

通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序不僅需要應(yīng)用輔數(shù)據(jù)庫(kù)設(shè)計(jì),而且還需要通過(guò)模塊化參數(shù)信息的傳遞來(lái)實(shí)現(xiàn)對(duì)軟件模塊化的設(shè)計(jì)。這種設(shè)計(jì)一般需要應(yīng)用函數(shù)的形式來(lái)充分展現(xiàn)模塊的功能,并借助各種不同的參數(shù)代號(hào)信息實(shí)現(xiàn)各種不同的操作,進(jìn)而滿(mǎn)足不同程序模塊的設(shè)計(jì)需求,具體的實(shí)現(xiàn)方式如下所示:

(1)Q代表另一個(gè)表字段的名稱(chēng),能夠?qū)⒈淼挠涗浶畔囊粋€(gè)字段傳遞到另一個(gè)字段上,且這種字段在新增窗體中顯示為一種隱藏字段。

(2)B代表本字段的編輯可以省略掉最后一項(xiàng)的內(nèi)容。基本含義為類(lèi)型、讀寫(xiě)字段、名稱(chēng)顯示、Where條件、Order排序等。

(3)R代表取值為主表傳入的字段值,基本含義為類(lèi)型、本表字段名稱(chēng)和父表字段的名稱(chēng)。

(4)R含義為類(lèi)型、表名、讀寫(xiě)字段、顯示名稱(chēng)、Select語(yǔ)句。

(5)S表示的是通用模塊中用戶(hù)自擬定義的字段。

(6)W表示不存在的表的字段。

1.3 通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序的特點(diǎn)

(1)能夠面向數(shù)據(jù)庫(kù)的管理進(jìn)行全方位詳細(xì)設(shè)計(jì)。這種詳細(xì)的設(shè)計(jì)包含視圖和存儲(chǔ)過(guò)程中數(shù)據(jù)庫(kù)設(shè)計(jì)常應(yīng)用的方法和技術(shù)。

(2)這種設(shè)計(jì)支持無(wú)代碼的程序開(kāi)發(fā),具體的自定義設(shè)計(jì)能力很強(qiáng),在模塊化思想的支撐下能夠以參數(shù)的形式將模塊功能進(jìn)行輸入。

(3)能夠進(jìn)行流程化的處理。流程化的處理具體是指能夠?qū)崿F(xiàn)對(duì)已經(jīng)建立好的數(shù)據(jù)庫(kù)表格在外掛式的數(shù)據(jù)庫(kù)設(shè)計(jì)程序中進(jìn)行統(tǒng)一化的管理。

(4)開(kāi)放式的數(shù)據(jù)管理。這種管理方式對(duì)數(shù)據(jù)庫(kù)的格式不限制,能夠?qū)W(wǎng)絡(luò)數(shù)據(jù)的設(shè)計(jì)和開(kāi)發(fā)進(jìn)行支持。

2 通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序的實(shí)現(xiàn)方法

在DMES的系統(tǒng)管理中,數(shù)據(jù)庫(kù)表越多、呈現(xiàn)的關(guān)系越復(fù)雜則是越難管理。在離散式制造業(yè)通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序復(fù)雜的情況下,通用外掛式輔助數(shù)據(jù)庫(kù)系統(tǒng)怎樣實(shí)現(xiàn)對(duì)各種軟硬件的管理是有關(guān)人員需要面臨的問(wèn)題。

2.1 程序框架結(jié)構(gòu)的設(shè)計(jì)

通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序系統(tǒng)主要由以下幾部分組成:

2.1.1 管理程序

管理程序主要是對(duì)車(chē)間內(nèi)部的生產(chǎn)和執(zhí)行問(wèn)題進(jìn)行全面的負(fù)責(zé)和管理。

2.1.2 計(jì)劃服務(wù)程序

計(jì)劃服務(wù)程序能夠?qū)?chē)間內(nèi)部任務(wù)的布置和計(jì)劃的調(diào)整進(jìn)行全面的整合。

2.1.3 通信程序

通信程序主要是對(duì)施工現(xiàn)場(chǎng)作業(yè)的數(shù)據(jù)信息進(jìn)行采集,并在信息采集的基礎(chǔ)上有效實(shí)現(xiàn)軟件系統(tǒng)和硬件系統(tǒng)數(shù)據(jù)信息的交互性應(yīng)用。

2.1.4 接口程序

接口程序主要是實(shí)現(xiàn)DMES系統(tǒng)和其他系統(tǒng)進(jìn)行有效整合的重要系統(tǒng)數(shù)據(jù),能夠?yàn)樯a(chǎn)車(chē)間的上層系統(tǒng)提供一種全面化的服務(wù),是各種數(shù)據(jù)進(jìn)行交流和溝通的重要通道。程序框架結(jié)構(gòu)的設(shè)計(jì)如圖1所示。

2.2 DMES軟件系統(tǒng)主要解決的問(wèn)題

(1)在協(xié)助數(shù)據(jù)庫(kù)資源系統(tǒng)進(jìn)行有效管理的同時(shí),輔助系統(tǒng)軟件的開(kāi)發(fā)。DMES軟件系統(tǒng)在對(duì)數(shù)據(jù)庫(kù)資源進(jìn)行有效管理的同時(shí),能夠應(yīng)用一種無(wú)代碼的開(kāi)發(fā)技術(shù)來(lái)實(shí)現(xiàn)對(duì)軟件模塊的開(kāi)發(fā),將軟件系統(tǒng)的開(kāi)發(fā)模式由原來(lái)單純的代碼開(kāi)發(fā)轉(zhuǎn)變?yōu)橐环N可配置的軟件開(kāi)發(fā)模式。

(2)利用可視化管理數(shù)據(jù)庫(kù)表字段的方式進(jìn)一步提升數(shù)據(jù)庫(kù)表及其字段的可視化程度。

(3)利用通用性的輸入條件函數(shù),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表格的關(guān)聯(lián)性操作,并利用不同的字母代表不同的操作模塊。

2.3 DMES軟件系統(tǒng)程序的實(shí)現(xiàn)

DMES軟件系統(tǒng)程序的實(shí)現(xiàn)應(yīng)用Delphi6.0進(jìn)行開(kāi)發(fā),并采用ini的方式來(lái)保存系統(tǒng)相應(yīng)的配置,提升對(duì)數(shù)據(jù)庫(kù)信息的靈活化應(yīng)用,實(shí)現(xiàn)對(duì)各種數(shù)據(jù)庫(kù)鏈接的統(tǒng)一化管理。

3 結(jié)束語(yǔ)

通過(guò)實(shí)踐研究證明,這種設(shè)計(jì)程序的開(kāi)發(fā)形式能夠在最大限度上縮短軟件程序的開(kāi)發(fā)時(shí)間,減少軟件開(kāi)發(fā)中的成本錯(cuò)誤問(wèn)題,方便了開(kāi)發(fā)人員的工作程序,提升了工作人員的工作效率。為此需要有關(guān)人員對(duì)通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序進(jìn)行更深一步的研究。

參考文獻(xiàn)

[1]鐘潤(rùn)陽(yáng),戴青云,周科,戴鑫波,王進(jìn).通用外掛式輔助數(shù)據(jù)庫(kù)設(shè)計(jì)程序[J].計(jì)算機(jī)輔助工程,2009,01:83-86.

[2]鐘潤(rùn)陽(yáng),戴青云,周科.基于外掛式通用數(shù)據(jù)庫(kù)輔助設(shè)計(jì)程序的實(shí)現(xiàn)[A].廣東省科學(xué)技術(shù)協(xié)會(huì)、香港理工大學(xué)、廣東省機(jī)械工程學(xué)會(huì).第十屆粵港機(jī)電工程技術(shù)與應(yīng)用研討會(huì)暨梁天培教授紀(jì)念會(huì)文集[C].廣東省科學(xué)技術(shù)協(xié)會(huì)、香港理工大學(xué)、廣東省機(jī)械工程學(xué)會(huì),2008(04).

作者簡(jiǎn)介

徐安令(1980-),男,云南省宣威市人。碩士學(xué)位。現(xiàn)為德宏師范高等專(zhuān)科學(xué)校講師。研究方向?yàn)閿?shù)據(jù)庫(kù)及程序設(shè)計(jì)。

第6篇

關(guān)鍵字:在線(xiàn)考試系統(tǒng);數(shù)據(jù)庫(kù);設(shè)計(jì);實(shí)現(xiàn)

中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)03-0508-04

The Design and Implementation of Database for Online Examination System

Liu Hong-jiang

(Aba Teachers’College, Aba 623002, China)

Abstract: With the continuous development of computer and network technology as well as test technologies and methods, online exami? nation can meet the requirements of paperless examination and become one of the most important means of examination. In this trend, da? tabase will been designed for the establishment of online examination system, all these works is to expand the areas of students’ knowledge and to ensure fairness of the examination to a certain extent and also to improve the modernization level of test administration. Online ex? amination system is a typical management information system (MIS), which runs on windows 2003 sever, using a powerful and easily to op? erate environment named Microsoft SQL server 2005 as its database development platform.

Key words: online examination system; database; design; implementation

21世紀(jì)是一個(gè)“知識(shí)爆炸”的時(shí)代,信息更新的速度達(dá)到空前。計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)越來(lái)越廣地應(yīng)用于社會(huì)的各個(gè)領(lǐng)域,它們?cè)诂F(xiàn)代高等教育中的應(yīng)用,是現(xiàn)代高等教育發(fā)展的需要,也是改革教育模式,提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段。基于網(wǎng)絡(luò)的在線(xiàn)考試和無(wú)紙化辦公一樣必然成為社會(huì)發(fā)展的趨勢(shì),在線(xiàn)考試是采用大規(guī)模試題庫(kù)的計(jì)算機(jī)網(wǎng)絡(luò)考試模式使得它顛覆了傳統(tǒng)的考試方式,使得考試出卷、答題方式以及成績(jī)管理發(fā)生著巨大的變革,考試過(guò)程變得方便、高效、快捷、公正。有趨勢(shì)表明,標(biāo)準(zhǔn)化的在線(xiàn)考試方式已當(dāng)今考試的發(fā)展方向,當(dāng)前國(guó)際上許多考試認(rèn)證如GRE,其出題、答卷以及評(píng)分都是在計(jì)算機(jī)上完成的。和傳統(tǒng)的考試方式相比,無(wú)紙化的在線(xiàn)考試有著其科學(xué)、及時(shí)、準(zhǔn)確、公平等優(yōu)點(diǎn),這是傳統(tǒng)考試形式無(wú)法替代和比擬的優(yōu)勢(shì)。

1需求分析

需求分析是數(shù)據(jù)庫(kù)設(shè)計(jì)的重要步驟之一,這一階段的主要工作是確定使用這一數(shù)據(jù)庫(kù)系統(tǒng)的用戶(hù),以及他們的業(yè)務(wù)活動(dòng)。管理員主要負(fù)責(zé)錄入開(kāi)課信息,教師和學(xué)生名單以及查詢(xún)學(xué)生試卷等工作。

教師主要負(fù)責(zé)錄入試題,修改試題,生成試卷和閱卷等工作。

學(xué)生主要完成在規(guī)定時(shí)間內(nèi)的答題任務(wù)。

2數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)于在線(xiàn)考試系統(tǒng)的開(kāi)發(fā)來(lái)說(shuō)是一個(gè)十分重要的環(huán)節(jié),數(shù)據(jù)庫(kù)設(shè)計(jì)質(zhì)量的優(yōu)劣直接影響到數(shù)據(jù)庫(kù)中數(shù)據(jù)的冗余度,一致性等問(wèn)題。下面就對(duì)數(shù)據(jù)庫(kù)的規(guī)范化設(shè)計(jì)進(jìn)行說(shuō)明。2.1關(guān)系數(shù)據(jù)理論及規(guī)范化

針對(duì)一個(gè)具體的數(shù)據(jù)庫(kù)應(yīng)用應(yīng)該構(gòu)造幾個(gè)關(guān)系模式?每個(gè)關(guān)系由哪些屬性組成?即如何構(gòu)造適合于它的數(shù)據(jù)模式,這是關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的問(wèn)題。為了解決上述問(wèn)題并使數(shù)據(jù)庫(kù)設(shè)計(jì)走向規(guī)范,1971年E.F.Cldd提出了規(guī)范化理論。關(guān)系數(shù)據(jù)理論就指導(dǎo)產(chǎn)生了一個(gè)具體確定的、好的數(shù)據(jù)庫(kù)模式的理論體系及范式理論。范式理論的具體內(nèi)容如下:

第一范式:如果關(guān)系模式R的每一個(gè)屬性都是不可分解的則R為第一范式的模式記為R∈1NF。

第二范式:如果關(guān)系模式R是第一范式,且每個(gè)非主屬性都完全函數(shù)依賴(lài)于關(guān)鍵字,則稱(chēng)R為滿(mǎn)足第二范式的模式,記為R∈2NF。

第三范式:如果關(guān)系模式R是第二范式,且沒(méi)有一個(gè)非關(guān)鍵字屬性石傳遞函數(shù)依賴(lài)于候選關(guān)鍵字屬性,則稱(chēng)R滿(mǎn)足第三范式的模式,記為R∈3NF。

擴(kuò)充第三范式:如果關(guān)系模式R是第三范式,且每一個(gè)決定因素都包含有關(guān)鍵字,則稱(chēng)R為滿(mǎn)足擴(kuò)充第三范式的模式,記為

R∈BCNF。

第四范式:如果關(guān)系模式R是第三范式,且每個(gè)非平凡多值依賴(lài)XY(Y不是X的子集),X都含有關(guān)鍵字,則稱(chēng)R為滿(mǎn)足第四范式的模式,記為R∈4NF

2.2數(shù)據(jù)庫(kù)設(shè)計(jì)

在線(xiàn)考試系統(tǒng)的各個(gè)功能模塊是否能夠緊密地結(jié)合在一起以及如何結(jié)合,,關(guān)鍵在于數(shù)據(jù)庫(kù)。因此對(duì)在線(xiàn)考試系統(tǒng)的數(shù)據(jù)庫(kù)進(jìn)行合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì)是關(guān)鍵。

2.2.1概念設(shè)計(jì)

這一部分的工作,主要是將需求分析階段得到的用戶(hù)需求抽象為信息世界的概念模型,采用自底向上的方法,進(jìn)行系統(tǒng)的概念設(shè)計(jì),得到以下實(shí)體及屬性的E-R圖。

教師實(shí)體包括教師編號(hào)、教師姓名用戶(hù)名和密碼四個(gè)屬性,其E-R圖如圖1所示。

圖1教師實(shí)體及屬性局部E-R圖

學(xué)生實(shí)體包括學(xué)號(hào)、姓名、性別和密碼四個(gè)屬性,其E-R圖如2圖所示。

圖2學(xué)生實(shí)體及屬性局部E-R圖

試題庫(kù)實(shí)體包括課程名稱(chēng)、題目?jī)?nèi)容、參考答案、題目類(lèi)型、難易度、備選答案A、備選答案B、備選答案C、備選答案D、備選答案E、備選答案F等屬性,其E-R圖如3圖所示。

圖3試題庫(kù)實(shí)體及屬性局部E-R圖

試卷組成實(shí)體包括試卷代碼、課程名稱(chēng)、試卷編號(hào)、考試日期等屬性,其E-R圖如4圖所示。

圖4試卷組成實(shí)體及屬性局部E-R圖

試卷實(shí)體包括試卷編號(hào)、課程名稱(chēng)、狀態(tài)、得分、大題號(hào)、小題號(hào)、試題庫(kù)中序號(hào)、學(xué)生學(xué)好、學(xué)生答案等屬性,其E-R圖如5圖所示。

圖5試卷實(shí)體及屬性局部E-R圖

根據(jù)需求分析,教師、題庫(kù)、學(xué)生和試卷四個(gè)實(shí)體之間的關(guān)系如圖6所示。

圖6考試局部E-R圖2.2.2邏輯設(shè)計(jì)

由于現(xiàn)在設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)都普遍采用關(guān)系模型的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),因此邏輯設(shè)計(jì)的主要工作是將概念設(shè)計(jì)得出的實(shí)體關(guān)系模型(E-R圖)轉(zhuǎn)化成關(guān)系模式。

具體如下:

教師(教師編號(hào),教師姓名,用戶(hù)名,密碼)

學(xué)生(學(xué)號(hào),姓名,性別,密碼)

試題庫(kù)(課程代碼,課程名稱(chēng),題目類(lèi)型,題目?jī)?nèi)容,被選答案A,被選答案B,被選答案C,被選答案D,參考答案,難易度)

試卷組成(試卷代碼,課程名稱(chēng),題號(hào)(大題)1,試題類(lèi)型1,小題數(shù)1,難題數(shù)1,中題數(shù)1,簡(jiǎn)單題數(shù)1,每小題分?jǐn)?shù)1,題號(hào)(大題)2,試題類(lèi)型2,小題數(shù)2,難題數(shù)2,中題數(shù)2,簡(jiǎn)單題數(shù)2,每小題分?jǐn)?shù)2,題號(hào)(大題)3,試題類(lèi)型3,小題數(shù)3,難題數(shù)3,中題數(shù)3,簡(jiǎn)單題數(shù)3,每小題分?jǐn)?shù)3,題號(hào)(大題)4,試題類(lèi)型4,小題數(shù)4,難題數(shù)4,中題數(shù)4,簡(jiǎn)單題數(shù)4,每小題分?jǐn)?shù)4,題號(hào)(大題)5,試題類(lèi)型5,小題數(shù)5,難題數(shù)5,中題數(shù)5,簡(jiǎn)單題數(shù)5,每小題分?jǐn)?shù)5,題號(hào)(大題)6,試題類(lèi)型6,小題數(shù)6,難題數(shù)6,中題數(shù)6,簡(jiǎn)單題數(shù)6,每小題分?jǐn)?shù)6,題號(hào)(大題)7,試題類(lèi)型7,小題數(shù)7,難題數(shù)7,中題數(shù)7,簡(jiǎn)單題數(shù)7,每小題分?jǐn)?shù))

試卷(試卷編號(hào),試卷名稱(chēng),大試題號(hào),小試題號(hào),試題庫(kù)中序號(hào),學(xué)號(hào),學(xué)生答案,得分)

成績(jī)(學(xué)號(hào),試卷編號(hào),課程名稱(chēng),成績(jī))

3數(shù)據(jù)庫(kù)表結(jié)構(gòu)的建立

數(shù)據(jù)庫(kù)表結(jié)構(gòu)的建立在邏輯設(shè)計(jì)階段得出的關(guān)系模型的基礎(chǔ)上,并對(duì)其進(jìn)行適當(dāng)?shù)膬?yōu)化,各關(guān)系轉(zhuǎn)化后的表結(jié)構(gòu)具體如下:

Teacher表(教師信息表):主要字段有教師編號(hào),用戶(hù)名,密碼及權(quán)限,其中教師編號(hào)為主鍵,由于教師對(duì)系統(tǒng)掌握的程度不同,故增加一個(gè)權(quán)限字段,管理員的權(quán)限為H,理工科教師為權(quán)限為M,文科藝體教師的權(quán)限為L(zhǎng)。

Student(學(xué)生信息表):主要字段有學(xué)號(hào)、姓名、性別和密碼,其中學(xué)號(hào)為主鍵。

Paper_lib(試題庫(kù)表):主要字段有標(biāo)識(shí)、題目類(lèi)型、題目?jī)?nèi)容、備選答案A、備選答案B、備選答案C、備選答案D、參考答案和難易度。其中增加一個(gè)標(biāo)識(shí)來(lái)作為主鍵,用于確定記錄的唯一性。在該表中,增加一個(gè)標(biāo)識(shí)來(lái)作為主鍵,確定記錄的唯一性。

Paper_comp (試卷組成表):主要字段有標(biāo)識(shí)、試卷名稱(chēng)、課程名稱(chēng)、試卷代碼、題號(hào)(大題)1、試題類(lèi)型1、小題數(shù)1、難題數(shù)1、中等題數(shù)1、簡(jiǎn)單題數(shù)1、……、題號(hào)(大題)7、試題類(lèi)型7、小題數(shù)7、難題數(shù)7、中等題數(shù)7、簡(jiǎn)單題數(shù)7、考試時(shí)間、考試狀態(tài)、考試學(xué)期,教學(xué)班號(hào),教師編號(hào)等。其中,教師編號(hào)為外鍵,與教師表建立關(guān)系。在該表中,增加一個(gè)標(biāo)識(shí)作為主鍵,確定記錄的唯一性。

Paper(試卷表):主要字段有標(biāo)識(shí)、試卷代碼、試卷編號(hào)、試題(大題)號(hào)、小題號(hào)、學(xué)生答案、試題庫(kù)中序號(hào)、學(xué)號(hào)、得分。其中學(xué)生學(xué)號(hào)為外鍵,與學(xué)生表建立關(guān)系;試卷代碼為外鍵,與試卷組成表建立關(guān)系。在該表中,增加一個(gè)標(biāo)識(shí)作為主鍵,確定記錄的唯一性

4數(shù)據(jù)庫(kù)的連接

4.1數(shù)據(jù)庫(kù)平臺(tái)選擇

只有選擇合適的數(shù)據(jù)庫(kù)系統(tǒng),然后根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)階段得出的表結(jié)構(gòu),用具體的數(shù)據(jù)庫(kù)語(yǔ)言來(lái)實(shí)現(xiàn)之后,才能實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。目前流行的數(shù)據(jù)庫(kù)系統(tǒng)有很多,例如SQL Server,MySQL,Sybase,Oracle等,這里我們選擇Microsoft的SQLserver 2005作為在線(xiàn)考試系統(tǒng)的數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái)。

4.2系統(tǒng)開(kāi)發(fā)平臺(tái)選擇

在線(xiàn)考試系統(tǒng)可以選擇的開(kāi)發(fā)平臺(tái)也很多,例如jsp,PHP,.Net或者是asp等。這里我們選擇一種輕量級(jí)而且開(kāi)源的開(kāi)發(fā)平臺(tái)PHP,PHP(Hypertext Preprocessor,超文本預(yù)處理器)是一種HTML內(nèi)嵌式的語(yǔ)言,混合了C、Java、Perl等多種語(yǔ)言的特點(diǎn),被廣泛應(yīng)用的開(kāi)源式的多用途腳本語(yǔ)言。PHP最重要的特征是它的數(shù)據(jù)庫(kù)集成層,完全支持SQL標(biāo)準(zhǔn),可以支持大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng),并且具有數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)速度快、運(yùn)行效率高、性能穩(wěn)定、操作簡(jiǎn)單等優(yōu)勢(shì)。PHP提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)接口,數(shù)據(jù)庫(kù)連接方便,兼容性強(qiáng);擴(kuò)展性強(qiáng);即可以用來(lái)開(kāi)發(fā)WEB應(yīng)用程序,也可用來(lái)開(kāi)發(fā)普通的應(yīng)用程序,應(yīng)用范圍非常廣.

4.3數(shù)據(jù)庫(kù)連接

PHP與SQL Server數(shù)據(jù)庫(kù)的連接有兩種方式,一種是PHP通過(guò)ODBC訪(fǎng)問(wèn)SQL Server 2005。ODBC(Open DataBase Connectivity)即開(kāi)放式接口,是由微軟主導(dǎo)的數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),目前所有的關(guān)系數(shù)據(jù)庫(kù)都提供了ODBC驅(qū)動(dòng)程序,所以O(shè)DBC已經(jīng)成為數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的業(yè)界標(biāo)準(zhǔn),并得到了廣泛應(yīng)用。另外一種是PHP直接訪(fǎng)問(wèn)SQL Server 2005時(shí),利用PHP提供的Mssql函數(shù)庫(kù)來(lái)創(chuàng)建連接。分為一般和永久兩種連接方式:

一般連接使用的函數(shù)是mssql_connect。

永久連接使用的函數(shù)是mssql_pconnect。

其語(yǔ)法如下:

int mssql_connect(string [servername],string [username], string [password]);

int mssql_pconnect(string [servername],string [username], string [password]);

在系統(tǒng)中,采用的是第一種方式使用mssql_connect函數(shù)進(jìn)行數(shù)據(jù)庫(kù)的連接,創(chuàng)建一個(gè)php與數(shù)據(jù)庫(kù)之間的連接文件,命名為conn_db.php來(lái)實(shí)現(xiàn)的。conn_db.php的代碼如下:

$dbconnected=@mssql_connect("數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng)或IP","用戶(hù)名","密碼")

or die("連接數(shù)據(jù)庫(kù)服務(wù)器失敗!");

mssql_select_db("database",$dbconnected);//選擇要操作的數(shù)據(jù)庫(kù)

?>

為了系統(tǒng)的安全,用@符號(hào)來(lái)屏蔽系統(tǒng)在客戶(hù)端瀏覽器顯示錯(cuò)誤提示,同時(shí)用die()函數(shù)來(lái)顯示連接數(shù)據(jù)庫(kù)服務(wù)器失敗的錯(cuò)誤提示并直接退出程序。

用mssql_close函數(shù)關(guān)閉連接,創(chuàng)建一個(gè)php與數(shù)據(jù)庫(kù)之間的斷開(kāi)文件,命名為close.php

@mssql_close($dbconnected);

?>

5結(jié)論

本文從需求分析、概要設(shè)計(jì)、邏輯設(shè)計(jì)及數(shù)據(jù)庫(kù)的實(shí)現(xiàn)及連接等方面進(jìn)行簡(jiǎn)單地闡述。對(duì)于在線(xiàn)考試系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)有一定的參考價(jià)值。

參考文獻(xiàn):

[1]申時(shí)凱,李海雁.數(shù)據(jù)庫(kù)應(yīng)用技術(shù)[M].2版.北京:中國(guó)鐵道出版社,2005.

[2]陳恭和.數(shù)據(jù)庫(kù)基礎(chǔ)與SQL應(yīng)用教程[M].北京:高等教育出版社,2003.

[3]石志國(guó).JSP網(wǎng)絡(luò)開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2007.

第7篇

關(guān)鍵詞:農(nóng)業(yè)信息數(shù)據(jù)庫(kù);設(shè)計(jì);探究

1. 農(nóng)業(yè)信息數(shù)據(jù)庫(kù)整體技術(shù)框架選用的分析

現(xiàn)階段,主要有兩類(lèi)技術(shù)框架可供選擇,一是.NET技術(shù),二是B/S結(jié)構(gòu)。NET技術(shù)是微軟設(shè)計(jì)并主推的一種技術(shù)框架,不僅在當(dāng)前獲得了一定的應(yīng)用,而且具有廣泛的應(yīng)用前景。相較其他技術(shù)框架而言,.NET技術(shù)優(yōu)勢(shì)明顯,表現(xiàn)如下:一,檢索功能強(qiáng)大,既快又準(zhǔn);二,并發(fā)處理數(shù)方面優(yōu)于其它;三,是微軟的主推項(xiàng)目,具有十分廣闊的發(fā)展前景及應(yīng)用前景;四,利用網(wǎng)絡(luò)便可有效處理數(shù)據(jù)中心的一系列外部擴(kuò)建問(wèn)題,既不需要客戶(hù)端軟件安裝,又不需要客戶(hù)端軟件升級(jí),還不需要相應(yīng)的跟蹤服務(wù),節(jié)省了大量運(yùn)營(yíng)成本。所謂B/S結(jié)構(gòu)指的是,瀏覽器與服務(wù)器結(jié)構(gòu),是一種基于C/S結(jié)構(gòu)的改良產(chǎn)品。[1]該種結(jié)構(gòu)將WWW瀏覽器作為操作者的工作界面,利用服務(wù)器端來(lái)完成對(duì)絕大部分關(guān)鍵事物邏輯的處理,并表現(xiàn)出“3-tier結(jié)構(gòu)”特點(diǎn)。B/S技術(shù)也具有一定的優(yōu)勢(shì),表現(xiàn)如下:一,在很大程度上,實(shí)現(xiàn)了對(duì)客戶(hù)端電腦載荷的有效精簡(jiǎn),進(jìn)而降低了使用者的總體成本;二,在實(shí)際應(yīng)用過(guò)程中,該結(jié)構(gòu)易于把握;三,不僅具有一次性開(kāi)發(fā)到位的特點(diǎn),而且在訪(fǎng)問(wèn)及操作方面,突破了時(shí)間、空間以及接入方式的諸多限制;四,可根據(jù)設(shè)置相應(yīng)的訪(fǎng)問(wèn)權(quán)限,從而保證整個(gè)數(shù)據(jù)庫(kù)具有較高的安全級(jí)別。在進(jìn)行農(nóng)業(yè)信息數(shù)據(jù)庫(kù)開(kāi)發(fā)環(huán)節(jié),建議采用如下技術(shù)手段:在技術(shù)框架方面選擇.NET2.0;在體系結(jié)構(gòu)方面選擇B/S。

2.農(nóng)業(yè)信息數(shù)據(jù)庫(kù)的設(shè)計(jì)要求

2.1數(shù)據(jù)庫(kù)的建設(shè)原則及其構(gòu)建風(fēng)格

2.1.1數(shù)據(jù)庫(kù)的建設(shè)原則

在建設(shè)數(shù)據(jù)庫(kù)的過(guò)程中,應(yīng)緊緊圍繞建設(shè)目標(biāo)進(jìn)行,既要做大,又要做強(qiáng),還要做精,另外,應(yīng)保證在整體風(fēng)格上趨于統(tǒng)一,還應(yīng)保證各個(gè)數(shù)據(jù)庫(kù)具有自己的特色,即做好統(tǒng)分布置[2]。

2.1.2數(shù)據(jù)庫(kù)的構(gòu)建風(fēng)格

在建設(shè)數(shù)據(jù)庫(kù)過(guò)程中,應(yīng)在遵循建設(shè)原則的基礎(chǔ)上,體現(xiàn)其主體風(fēng)格——清新簡(jiǎn)潔,一改傳統(tǒng)數(shù)據(jù)庫(kù)的諸多不足(拘謹(jǐn)以及繁雜等)。標(biāo)識(shí)由三大部分組成:一,數(shù)據(jù)庫(kù)全稱(chēng);二,數(shù)據(jù)庫(kù)英文拼寫(xiě);三,數(shù)據(jù)庫(kù)標(biāo)識(shí)。標(biāo)識(shí)顯示在數(shù)據(jù)庫(kù)系統(tǒng)的每一個(gè)頁(yè)面上,且顯示在操作頁(yè)的左上角位置。選擇淡藍(lán)色作為首頁(yè)的基準(zhǔn)色調(diào),并選用宋體字,無(wú)論是字體大小,還是內(nèi)容布局,均應(yīng)充分照顧到視覺(jué)感官的舒適性。值得一提的是,首頁(yè)的相關(guān)設(shè)計(jì)要保持相對(duì)固定,以為其它數(shù)據(jù)庫(kù)設(shè)計(jì)提供參照,另外,在設(shè)計(jì)其它數(shù)據(jù)庫(kù)的過(guò)程中,應(yīng)注意各自特點(diǎn)的體現(xiàn)。

2.2子數(shù)據(jù)庫(kù)的構(gòu)建方式闡述

2.2.1整體架構(gòu)

數(shù)據(jù)中心的建設(shè)是一個(gè)相對(duì)漫長(zhǎng)的過(guò)程,短則數(shù)年,多則數(shù)十年。在此過(guò)程中,數(shù)據(jù)庫(kù)在數(shù)量及容量方面也隨之不斷發(fā)展和擴(kuò)充,所以,要對(duì)體系結(jié)構(gòu)的整體性能進(jìn)行綜合考慮,包括穩(wěn)定性,包括安全性,包括長(zhǎng)遠(yuǎn)性,還包括運(yùn)營(yíng)成本等。總而言之,要保證整體架構(gòu)的科學(xué)性。

2.2.2后臺(tái)建設(shè)及應(yīng)用

數(shù)據(jù)庫(kù)后臺(tái)建設(shè)質(zhì)量的高低是至關(guān)重要的,和數(shù)據(jù)庫(kù)實(shí)際工作效率息息相關(guān)。所以,在后臺(tái)建設(shè)及應(yīng)用的過(guò)程中,應(yīng)特別注意以下幾點(diǎn):一,批量數(shù)據(jù)處理;二,數(shù)據(jù)格式規(guī)范化;三,防止同類(lèi)數(shù)據(jù)反復(fù)錄入等[3]。

3.農(nóng)業(yè)信息數(shù)據(jù)庫(kù)的建設(shè)內(nèi)容及其開(kāi)發(fā)設(shè)計(jì)

3.1農(nóng)業(yè)信息數(shù)據(jù)庫(kù)的建設(shè)目的

在農(nóng)業(yè)信息化進(jìn)程中,農(nóng)業(yè)信息數(shù)據(jù)庫(kù)是不可或缺的組成部分,將會(huì)對(duì)當(dāng)?shù)氐霓r(nóng)業(yè)發(fā)展及社會(huì)進(jìn)步產(chǎn)生至關(guān)重要的影響。所以,設(shè)計(jì)并構(gòu)建科學(xué)合理的農(nóng)業(yè)信息數(shù)據(jù)庫(kù)系統(tǒng)便成了當(dāng)務(wù)之急,是推動(dòng)我國(guó)農(nóng)業(yè)信息化不斷深入的一個(gè)重要手段。

3.2農(nóng)產(chǎn)品樹(shù)狀分類(lèi)數(shù)據(jù)倉(cāng)庫(kù)群

將初級(jí)農(nóng)業(yè)產(chǎn)品用作數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)基本分類(lèi)原則。利用樹(shù)狀結(jié)構(gòu)這一形式以實(shí)現(xiàn)對(duì)農(nóng)產(chǎn)品數(shù)據(jù)庫(kù)群的合理構(gòu)建。以“玉米樹(shù)狀分類(lèi)數(shù)據(jù)庫(kù)”為例。在該數(shù)據(jù)庫(kù)中,將玉米的一些基本信息(品種、栽培以及加工等)定義為一級(jí)結(jié)點(diǎn)。加工這一項(xiàng)可作進(jìn)一步細(xì)化,包括加工企業(yè),包括加工產(chǎn)品,還包括加工技術(shù)等,此為二級(jí)節(jié)點(diǎn)。加工產(chǎn)品這一項(xiàng)還可作進(jìn)一步細(xì)化,包括生產(chǎn)企業(yè),包括用途,還包括市場(chǎng)需求等,此為三級(jí)節(jié)點(diǎn)。這些不同級(jí)別的節(jié)點(diǎn)信息,最終構(gòu)建了一個(gè)相對(duì)完整的玉米樹(shù)狀分類(lèi)數(shù)據(jù)庫(kù)。

信息采集及存儲(chǔ)環(huán)節(jié),采用如下方式進(jìn)行編碼:信息類(lèi)別漢語(yǔ)拼音縮寫(xiě)+數(shù)字序號(hào)(例如,玉米品種1——ympzl)。該數(shù)據(jù)庫(kù)覆蓋范圍非常廣泛,涉及數(shù)百個(gè)基本品種,是一個(gè)極為豐富、系統(tǒng)的分類(lèi)數(shù)據(jù)庫(kù)群。第一期建設(shè)計(jì)劃主要包括以下15大種類(lèi):一,水稻;二,玉米;三,大豆;四,高粱;五,西紅柿;六,胡蘿卜;七,馬鈴薯;八,蘋(píng)果;九,桃;十,梨;十一,豬;十二,牛;十三,羊;十四,雞;十五,蛋。

數(shù)據(jù)采集方式屬于半自動(dòng)式,先對(duì)采集對(duì)象進(jìn)行人工界定,然后在抓取軟件的幫助下,對(duì)信息對(duì)象進(jìn)行采集,并儲(chǔ)存在本地,最終展開(kāi)相應(yīng)分析及整理。數(shù)據(jù)庫(kù)管理軟件的諸多功能如下:一,數(shù)據(jù)錄入;二,數(shù)據(jù)修改;三,數(shù)據(jù)刪除;四,數(shù)據(jù)查找;五,數(shù)據(jù)分析;六,數(shù)據(jù)統(tǒng)計(jì)。對(duì)數(shù)據(jù)資源進(jìn)行采集之前,應(yīng)確定采集方式:一,主要方式,包括網(wǎng)上收集,包括共享,還包括自由數(shù)據(jù)整理;二,輔助方式,包括購(gòu)置,還包括交換等。計(jì)劃采集100G的數(shù)據(jù)資源[4]。

3.3農(nóng)業(yè)決策支持系統(tǒng)

所謂農(nóng)業(yè)決策支持系統(tǒng)指的是,以政府機(jī)構(gòu)為主要服務(wù)對(duì)象的一個(gè)資源整合體系。在建設(shè)該系統(tǒng)的過(guò)程中,一方面應(yīng)以原有系統(tǒng)為基礎(chǔ)進(jìn)行優(yōu)化升級(jí),另一方面應(yīng)致力于系統(tǒng)集成軟件的有效開(kāi)發(fā),以實(shí)現(xiàn)對(duì)該系統(tǒng)的重新分層組建。

3.4農(nóng)業(yè)預(yù)警及其農(nóng)產(chǎn)品動(dòng)態(tài)信息監(jiān)控?cái)?shù)據(jù)庫(kù)

該數(shù)據(jù)庫(kù)能對(duì)農(nóng)業(yè)生產(chǎn)信息進(jìn)行采集和分析,能對(duì)農(nóng)村經(jīng)濟(jì)發(fā)展信息進(jìn)行采集和分析,進(jìn)而總結(jié)出符合實(shí)際情況的農(nóng)產(chǎn)品供求信息,還有價(jià)格行情。

該數(shù)據(jù)庫(kù)能以互聯(lián)網(wǎng)為通道,也能以電話(huà)網(wǎng)為通道,因而在數(shù)據(jù)采集方面具有一定的便捷性。另外,該系統(tǒng)建立了一套較為成熟的信息制度化與程序化的互動(dòng)機(jī)制,不僅能夠及時(shí)發(fā)出農(nóng)業(yè)預(yù)警,還能實(shí)現(xiàn)對(duì)農(nóng)產(chǎn)品動(dòng)態(tài)信息的有效監(jiān)控。

3.5農(nóng)業(yè)圖片資源及其文獻(xiàn)資源集成數(shù)據(jù)庫(kù)

對(duì)于農(nóng)業(yè)數(shù)據(jù)信息而言,圖片資源是不可或缺的組成部分。現(xiàn)階段,涉農(nóng)圖片不僅形式雜亂,而且較為分散,所以,主要采用以下方式進(jìn)行收集:一,征集;二,共享;三,網(wǎng)上收集;四,掃描加工;五,購(gòu)買(mǎi);六,自行拍攝。在設(shè)計(jì)圖片數(shù)據(jù)庫(kù)管理軟件的過(guò)程中,應(yīng)使其具備如下功能:一,圖片編輯;二,圖片分類(lèi);三,圖片錄入;四,圖片檢索等。另外,應(yīng)基于“分類(lèi)數(shù)據(jù)庫(kù)”這種形式,對(duì)圖片資源展開(kāi)相應(yīng)的集成處理。集成數(shù)據(jù)量200G。

4.結(jié)語(yǔ)

本文設(shè)計(jì)并構(gòu)建了一種現(xiàn)代化的農(nóng)業(yè)信息數(shù)據(jù)庫(kù)系統(tǒng),希望能夠?yàn)槲覈?guó)農(nóng)業(yè)經(jīng)濟(jì)的發(fā)展提供一些助益。(作者單位:成都理工大學(xué))

參考文獻(xiàn):

[1]張偉,歐吉順,周楚新.利用數(shù)據(jù)挖掘技術(shù)建設(shè)農(nóng)業(yè)智能綜合信息服務(wù)平臺(tái)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息.2011(08).

[2]夏斌,丁立,喬紅波,高瑞.中文農(nóng)業(yè)信息垂直搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)[J].河南農(nóng)業(yè)大學(xué)學(xué)報(bào).2010(06).

第8篇

一、成立數(shù)據(jù)小組

大型數(shù)據(jù)庫(kù)數(shù)據(jù)元素多,在設(shè)計(jì)上有必要成立專(zhuān)門(mén)的數(shù)據(jù)小組。由于數(shù)據(jù)庫(kù)設(shè)計(jì)者不一定是使用者,對(duì)系統(tǒng)設(shè)計(jì)中的數(shù)據(jù)元素不可能考慮周全,數(shù)據(jù)庫(kù)設(shè)計(jì)出來(lái)后,往往難以找到所需的庫(kù)表,因此數(shù)據(jù)小組最好由熟悉業(yè)務(wù)的項(xiàng)目骨干組成。

數(shù)據(jù)小組的職能并非是設(shè)計(jì)數(shù)據(jù)庫(kù),而是通過(guò)需求分析,在參考其他相似系統(tǒng)的基礎(chǔ)上,提取系統(tǒng)的基本數(shù)據(jù)元素,擔(dān)負(fù)對(duì)數(shù)據(jù)庫(kù)的審核。審核內(nèi)容包括審核新的數(shù)據(jù)庫(kù)元素是否完全、能否實(shí)現(xiàn)全部業(yè)務(wù)需求;對(duì)舊數(shù)據(jù)庫(kù)(如果存在舊系統(tǒng))的分析及數(shù)據(jù)轉(zhuǎn)換;數(shù)據(jù)庫(kù)設(shè)計(jì)的審核、控制及必要調(diào)整。

二、設(shè)計(jì)原則

1.規(guī)范命名。所有的庫(kù)名、表名、域名必須遵循統(tǒng)一的命名規(guī)則,并進(jìn)行必要說(shuō)明,以方便設(shè)計(jì)、維護(hù)、查詢(xún)。

2.控制字段的引用。在設(shè)計(jì)時(shí),可以選擇適當(dāng)?shù)臄?shù)據(jù)庫(kù)設(shè)計(jì)管理工具,以方便開(kāi)發(fā)人員的分布式設(shè)計(jì)和數(shù)據(jù)小組的集中審核管理。采用統(tǒng)一的命名規(guī)則,如果設(shè)計(jì)的字段已經(jīng)存在,可直接引用;否則,應(yīng)重新設(shè)計(jì)。

3.庫(kù)表重復(fù)控制。在設(shè)計(jì)過(guò)程中,如果發(fā)現(xiàn)大部分字段都已存在,開(kāi)發(fā)人員應(yīng)懷疑所設(shè)計(jì)的庫(kù)表是否已存在。通過(guò)對(duì)字段所在庫(kù)表及相應(yīng)設(shè)計(jì)人員的查詢(xún),可以確認(rèn)庫(kù)表是否確實(shí)重復(fù)。

4.并發(fā)控制。設(shè)計(jì)中應(yīng)進(jìn)行并發(fā)控制,即對(duì)于同一個(gè)庫(kù)表,在同一時(shí)間只有一個(gè)人有控制權(quán),其他人只能進(jìn)行查詢(xún)。

5.必要的討論。數(shù)據(jù)庫(kù)設(shè)計(jì)完成后,數(shù)據(jù)小組應(yīng)與相關(guān)人員進(jìn)行討論,通過(guò)討論來(lái)熟悉數(shù)據(jù)庫(kù),從而對(duì)設(shè)計(jì)中存在的問(wèn)題進(jìn)行控制或從中獲取數(shù)據(jù)庫(kù)設(shè)計(jì)的必要信息。

6.?dāng)?shù)據(jù)小組的審核。庫(kù)表的定版、修改最終都要通過(guò)數(shù)據(jù)小組的審核,以保證符合必要的要求。

7.頭文件處理。每次數(shù)據(jù)修改后,數(shù)據(jù)小組要對(duì)相應(yīng)的頭文件進(jìn)行修改(可由管理軟件自動(dòng)完成),并通知相關(guān)的開(kāi)發(fā)人員,以便進(jìn)行相應(yīng)的程序修改。

三、設(shè)計(jì)技巧

1.分類(lèi)拆分?jǐn)?shù)據(jù)量大的表。對(duì)于經(jīng)常使用的表(如某些參數(shù)表或代碼對(duì)照表),由于其使用頻率很高,要盡量減少表中的記錄數(shù)量。例如,銀行的戶(hù)主賬表原來(lái)設(shè)計(jì)成一張表,雖然可以方便程序的設(shè)計(jì)與維護(hù),但經(jīng)過(guò)分析發(fā)現(xiàn),由于數(shù)據(jù)量太大,會(huì)影響數(shù)據(jù)的迅速定位。如果將戶(hù)主賬表分別設(shè)計(jì)為活期戶(hù)主賬、定期戶(hù)主賬及對(duì)公戶(hù)主賬等,則可以大大提高查詢(xún)效率。

2.索引設(shè)計(jì)。對(duì)于大的數(shù)據(jù)庫(kù)表,合理的索引能夠提高整個(gè)數(shù)據(jù)庫(kù)的操作效率。在索引設(shè)計(jì)中,索引字段應(yīng)挑選重復(fù)值較少的字段;在對(duì)建有復(fù)合索引的字段進(jìn)行檢索時(shí),應(yīng)注意按照復(fù)合索引字段建立的順序進(jìn)行。例如,如果對(duì)一個(gè)5萬(wàn)多條記錄的流水表以日期和流水號(hào)為序建立復(fù)合索引,由于在該表中日期的重復(fù)值接近整個(gè)表的記錄數(shù),用流水號(hào)進(jìn)行查詢(xún)所用的時(shí)間接近3秒;而如果以流水號(hào)為索引字段建立索引進(jìn)行相同的查詢(xún),所用時(shí)間不到1秒。因此在大型數(shù)據(jù)庫(kù)設(shè)計(jì)中,只有進(jìn)行合理的索引字段選擇,才能有效提高整個(gè)數(shù)據(jù)庫(kù)的操作效率。

3.?dāng)?shù)據(jù)操作的優(yōu)化。在大型數(shù)據(jù)庫(kù)中,如何提高數(shù)據(jù)操作效率值得關(guān)注。例如,每在數(shù)據(jù)庫(kù)流水表中增加一筆業(yè)務(wù),就必須從流水控制表中取出流水號(hào),并將其流水號(hào)的數(shù)值加一。正常情況下,單筆操作的反應(yīng)速度尚屬正常,但當(dāng)用它進(jìn)行批量業(yè)務(wù)處理時(shí),速度會(huì)明顯減慢。經(jīng)過(guò)分析發(fā)現(xiàn),每次對(duì)流水控制表中的流水號(hào)數(shù)值加一時(shí)都要鎖定該表,而該表卻是整個(gè)系統(tǒng)操作的核心,有可能在操作時(shí)被其他進(jìn)程鎖定,因而使整個(gè)事務(wù)操作速度變慢。對(duì)這一問(wèn)題的解決的辦法是,根據(jù)批量業(yè)務(wù)的總筆數(shù)批量申請(qǐng)流水號(hào),并對(duì)流水控制表進(jìn)行一次更新,即可提高批量業(yè)務(wù)處理的速度。另一個(gè)例子是對(duì)插表的優(yōu)化。對(duì)于大批量的業(yè)務(wù)處理,如果在插入數(shù)據(jù)庫(kù)表時(shí)用普通的Insert語(yǔ)句,速度會(huì)很慢。其原因在于,每次插表都要進(jìn)行一次I/O操作,花費(fèi)較長(zhǎng)的時(shí)間。改進(jìn)后,可以用Put語(yǔ)句等緩沖區(qū)形式等滿(mǎn)頁(yè)后再進(jìn)行I/O操作,從而提高效率。對(duì)大的數(shù)據(jù)庫(kù)表進(jìn)行刪除時(shí),一般會(huì)直接用Delete語(yǔ)句,這個(gè)語(yǔ)句雖然可以進(jìn)行小表操作,但對(duì)大表卻會(huì)因帶來(lái)大事務(wù)而導(dǎo)致刪除速度很慢甚至失敗。解決的方法是去掉事務(wù),但更有效的辦法是先進(jìn)行Drop操作再進(jìn)行重建。

4.?dāng)?shù)據(jù)庫(kù)參數(shù)的調(diào)整。數(shù)據(jù)庫(kù)參數(shù)的調(diào)整是一個(gè)經(jīng)驗(yàn)不斷積累的過(guò)程,應(yīng)由有經(jīng)驗(yàn)的系統(tǒng)管理員完成。以Informix數(shù)據(jù)庫(kù)為例,記錄鎖的數(shù)目太少會(huì)造成鎖表的失敗;邏輯日志的文件數(shù)目太少會(huì)造成插入大表失敗等,這些問(wèn)題都應(yīng)根據(jù)實(shí)際情況進(jìn)行必要的調(diào)整。

5.必要的工具。在整個(gè)數(shù)據(jù)庫(kù)的開(kāi)發(fā)與設(shè)計(jì)過(guò)程中,可以先開(kāi)發(fā)一些小的應(yīng)用工具,如自動(dòng)生成庫(kù)表的頭文件、插入數(shù)據(jù)的初始化、數(shù)據(jù)插入的函數(shù)封裝、錯(cuò)誤跟蹤或自動(dòng)顯示等,以此提高數(shù)據(jù)庫(kù)的設(shè)計(jì)與開(kāi)發(fā)效率。

6.避免長(zhǎng)事務(wù)。對(duì)單個(gè)大表的刪除或插入操作會(huì)帶來(lái)大事務(wù),解決的辦法是對(duì)參數(shù)進(jìn)行調(diào)整,也可以在插入時(shí)對(duì)文件進(jìn)行分割。對(duì)于一個(gè)由一系列小事務(wù)順序操作共同構(gòu)成的長(zhǎng)事務(wù)(如銀行交易系統(tǒng)的日終交易),可以由一系列操作完成整個(gè)事務(wù),但其缺點(diǎn)是有可能因整個(gè)事務(wù)太大而使不能完成,或者,由于偶然的意外而使事務(wù)重做所需的時(shí)間太長(zhǎng)。較好的解決方法是,把整個(gè)事務(wù)分解成幾個(gè)較小的事務(wù),再由應(yīng)用程序控制整個(gè)系統(tǒng)的流程。這樣,如果其中某個(gè)事務(wù)不成功,則只需重做該事務(wù),因而既可節(jié)約時(shí)間,又可避免長(zhǎng)事務(wù)。

第9篇

【關(guān)鍵詞】Hibernate;品種數(shù)據(jù)庫(kù);對(duì)象

Abstract:Introduces the principle and characteristics of Hibernate technology, as well as the design and application of the seed database, display the advantages of Hibernate technology, the seed of object logic hypothesis.

1、引言

近年來(lái),伴隨著生物信息技術(shù)的研究開(kāi)展以及品種數(shù)字化管理需求的上升,品種數(shù)據(jù)庫(kù)的研究與管理越來(lái)越顯得重要,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)對(duì)于表現(xiàn)相對(duì)獨(dú)立的品種表現(xiàn)尚可,但是對(duì)于表達(dá)具有遺傳、繼承、多態(tài)(生物多樣性)、突變等特性的種子特征則顯得無(wú)能為力。而最近在java技術(shù)領(lǐng)域異軍突起的hibernate技術(shù)則很完美的解決了這一問(wèn)題,它的“面向?qū)ο蟆奔夹g(shù)特征可以對(duì)種子品種的上述生物學(xué)特性進(jìn)行表達(dá),并可以進(jìn)行抽象的數(shù)據(jù)邏輯操作。

2、hibernate技術(shù)的基本原理與品種的數(shù)字表達(dá)

2.1hibernate的基本原理

Hibernate是一個(gè)輕量級(jí)的對(duì)象映射框架,它主要技術(shù)特點(diǎn)就是把數(shù)據(jù)庫(kù)的內(nèi)容對(duì)象化,使得每一條記錄都對(duì)應(yīng)一個(gè)對(duì)象的實(shí)例,而數(shù)據(jù)一旦變成了對(duì)象的實(shí)例,就自然而然的具備了對(duì)象的特征,即繼承、多態(tài)、封裝等。對(duì)于種子數(shù)據(jù)的操作自然就變成了”面向?qū)ο蟆钡牟僮鳌W鳛閿?shù)據(jù)對(duì)象的種子,具有狀態(tài),即對(duì)象的數(shù)據(jù)值。對(duì)象還有操作,就是對(duì)于對(duì)象本身數(shù)據(jù)值的操作。這樣科研人員就可以按照對(duì)自然事物的認(rèn)知習(xí)慣來(lái)對(duì)數(shù)據(jù)進(jìn)行操作,而不是按照機(jī)器的思維去研究自然事物。利用hibernate框架映射后臺(tái)數(shù)據(jù)處理類(lèi),把較為復(fù)雜的數(shù)據(jù)庫(kù)操作都封裝在DAO(data access object)中,由DAO提供一些數(shù)據(jù)訪(fǎng)問(wèn)接口,那么程序員只要調(diào)用這些接口,就實(shí)現(xiàn)了原本需要復(fù)雜的Structured Query Language(結(jié)構(gòu)化查詢(xún)語(yǔ)言)才能完成的功能。

2.2品種的數(shù)字表達(dá)

種子品種具有各種各樣的性狀,以水稻為例,以下為可用浮點(diǎn)數(shù)表示性狀參數(shù),生育日數(shù)、活動(dòng)積溫、株高、穗長(zhǎng)等;以邏輯數(shù)據(jù)類(lèi)型表示的是否抗倒伏特性;字符串類(lèi)型的數(shù)據(jù)如品種名稱(chēng)、配套栽培技術(shù)、母本等等。傳統(tǒng)的數(shù)據(jù)庫(kù)記錄方式只是將數(shù)據(jù)直接存儲(chǔ)到數(shù)據(jù)庫(kù)中供程序調(diào)用,如下所示:

(注:以上數(shù)據(jù)僅供舉例,具體數(shù)據(jù)可能有差異)

但是,經(jīng)過(guò)hibernate框架的映射處理,這些數(shù)據(jù)將會(huì)被映射為數(shù)據(jù)對(duì)象,由靜態(tài)數(shù)據(jù)變成具有多種狀態(tài)屬性及操作的動(dòng)態(tài)數(shù)據(jù)。

上述數(shù)據(jù)表格將會(huì)被映射成class rice。每個(gè)字段都將對(duì)應(yīng)class中的屬性,每個(gè)相對(duì)應(yīng)的屬性都有g(shù)et和set方法來(lái)獲得或者修改對(duì)象的屬性值。這樣,水稻就可以抽象為一個(gè)class rice,這個(gè)抽象的class具有所有水稻的一般特性,那么任何一個(gè)水稻品種都是繼承于rice這個(gè)抽象類(lèi),并且變異或者進(jìn)化出新的特性。

3、基于hibernate技術(shù)的品種數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)

3.1三層結(jié)構(gòu)設(shè)計(jì)

品種數(shù)據(jù)庫(kù)按照其功能劃分為表示層,業(yè)務(wù)邏輯層和數(shù)據(jù)層。表示層負(fù)責(zé)與用戶(hù)進(jìn)行交互,負(fù)責(zé)將數(shù)據(jù)傳輸?shù)綐I(yè)務(wù)邏輯層,并且將服務(wù)器處理完的數(shù)據(jù)回饋到用戶(hù)。業(yè)務(wù)邏輯層負(fù)責(zé)表達(dá)程序的主題思想,是核心部分,它負(fù)責(zé)將用戶(hù)數(shù)據(jù)處理后提交到數(shù)據(jù)層,或者將數(shù)據(jù)從數(shù)據(jù)庫(kù)中提出發(fā)送到表示層。數(shù)據(jù)層負(fù)責(zé)與數(shù)據(jù)庫(kù)打交道,所有與數(shù)據(jù)庫(kù)相關(guān)的操作都封裝在這一層,hibernate主要位于數(shù)據(jù)層與邏輯層之間,我們利用hibernate創(chuàng)建的DAO(數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象)就位于數(shù)據(jù)層,里面包含對(duì)品種數(shù)據(jù)庫(kù)的操作,例如增加、刪除、修改、查詢(xún)等等。

3.2品種數(shù)據(jù)庫(kù)應(yīng)用的關(guān)鍵步驟

3.2.1創(chuàng)建hibernate的配置文件和映射文件

這兩個(gè)文件可以由集成開(kāi)發(fā)環(huán)境自動(dòng)生成,這里就簡(jiǎn)單的說(shuō)一下它們的作用,Hibernate配置文件主要負(fù)責(zé)與數(shù)據(jù)庫(kù)進(jìn)行連接,其中包含數(shù)據(jù)庫(kù)所在服務(wù)器的ip端口,用戶(hù)名和密碼,以及應(yīng)用的數(shù)據(jù)庫(kù)方言等等,一般以xml后綴形式存在。映射文件主要的作用就是將數(shù)據(jù)庫(kù)中的表與實(shí)體類(lèi)相對(duì)應(yīng),例如水稻表就對(duì)應(yīng)水稻的class,玉米表就對(duì)應(yīng)玉米的class,該文件一般以hbm后綴存在。

3.2.2獲得數(shù)據(jù)工廠(chǎng)并存儲(chǔ)品種數(shù)據(jù)

sessionFactory=new AnnotationConfiguration().configure().buildSessionFactory();

public static SessionFactory getSessionFactory() {return sessionFactory;}

Session session=HibernateUtil.getSessionFactory().openSession();

tx=session.beginTransaction();

session.save(pinzhong);

mit();

}

3.2.3以dao(數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象)的方式提供數(shù)據(jù)接口

為了對(duì)三層結(jié)構(gòu)中的業(yè)務(wù)邏輯層提供數(shù)據(jù),Hibernate在品種數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象中提供創(chuàng)建和存儲(chǔ)接口、品種對(duì)象的修改和刪除接口、按照品種對(duì)象的唯一id查詢(xún)并獲得品種對(duì)象的接口、獲取全部品種對(duì)象的接口。這里面所說(shuō)的品種對(duì)象,就是由在3.2.1中提到的映射文件生成的實(shí)體類(lèi)對(duì)象、它們對(duì)應(yīng)著數(shù)據(jù)庫(kù)中記載著的品種記錄,品種的id用來(lái)保證每條記錄的唯一性。

3.3設(shè)計(jì)針對(duì)品種遺傳特性的邏輯運(yùn)算

由于數(shù)據(jù)經(jīng)由hibernate映射成為了對(duì)象,對(duì)象具有屬性和操作,那么在class的設(shè)計(jì)中就可以設(shè)計(jì)加載雜交操作,還是以水稻為例,水稻a,b,c都繼承于水稻這個(gè)class,水稻c=水稻b.add(水稻a),也就是說(shuō)水稻c的父本和母本分別是水稻b和水稻c,如果我們?cè)跀?shù)據(jù)庫(kù)中有父母本顯性基因和隱性基因的記錄,那么對(duì)這兩種基因進(jìn)行“邏輯與運(yùn)算”,我們就可以根據(jù)程序生成指定父母本雜交后代的大致估算結(jié)果。

4、結(jié)束語(yǔ)

將hibernate框架技術(shù)應(yīng)用到種子品種數(shù)據(jù)庫(kù)中,對(duì)于由眾多參數(shù)構(gòu)成的具有繼承變異等生物特性的品種數(shù)據(jù),實(shí)例證明,具有一定的優(yōu)勢(shì)和可行性。將“品種數(shù)據(jù)表”映射到“品種實(shí)體類(lèi)”使其具有“類(lèi)對(duì)象”功能,對(duì)于今后的種子品種研究工作是一個(gè)很好的鋪墊,具有一定的推廣意義。

參考文獻(xiàn)

[1]宋漢增,沈琳.利用Hibernate對(duì)象持久化服務(wù)簡(jiǎn)化Java數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)[J].計(jì)算機(jī)應(yīng)用,2003年12期

[2]朱慶偉,吳宇紅.一種對(duì)象/關(guān)系映射框架的分析和應(yīng)用[J].電子科技,2004年01期

第10篇

【關(guān)鍵詞】在線(xiàn)考試系統(tǒng) 數(shù)據(jù)庫(kù)

1 引言

隨著信息化社會(huì)的迅速發(fā)展,在線(xiàn)考試已經(jīng)逐漸在高校中流行起來(lái),數(shù)據(jù)庫(kù)作為在線(xiàn)考試系統(tǒng)功能實(shí)現(xiàn)的基礎(chǔ),做好數(shù)據(jù)庫(kù)的設(shè)計(jì)和應(yīng)用十分必要。

2 需求分析

本系統(tǒng)作為一個(gè)通用的高校在線(xiàn)考試系統(tǒng),可以滿(mǎn)足高校各科目的考試需求,因此在系統(tǒng)的分析設(shè)計(jì)階段需要充分考慮不同考試科目的公共特性,具備一定的可設(shè)置的彈性化設(shè)計(jì)空間。

本系統(tǒng)主要有教師、學(xué)生、監(jiān)考人員和管理員四種用戶(hù),其中教師主要完成試題庫(kù)管理、試卷管理等功能;學(xué)生主要完成在線(xiàn)考試功能;監(jiān)考人員主要完成監(jiān)控考場(chǎng)、啟動(dòng)考試、回收試卷等功能;管理員主要完成對(duì)用戶(hù)、權(quán)限、考試課程和考試等管理功能。

3 概念設(shè)計(jì)

E-R圖是一種用于描述靜態(tài)數(shù)據(jù)結(jié)構(gòu)的概念模型,提供表示實(shí)體類(lèi)型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。把該系統(tǒng)的需求說(shuō)明抽象為信息世界的概念模型,采用自底向上的方法,進(jìn)行系統(tǒng)的概念設(shè)計(jì),部分E-R圖1所示。

選擇題實(shí)體,包含編號(hào)、課程編號(hào)、題目、選項(xiàng)A、選項(xiàng)B、選項(xiàng)C、選項(xiàng)D、答案、章節(jié)、知識(shí)點(diǎn)、難易度等屬性;

一般題實(shí)體,包含編號(hào)、課程編號(hào)、題目、答案、章節(jié)、知識(shí)點(diǎn)、難易度等屬性;

試卷規(guī)則實(shí)體,包含規(guī)則編號(hào)、課程編號(hào)、單選題數(shù)量、多選題數(shù)量、填空題數(shù)量、判斷題數(shù)量、綜合題數(shù)量、單選題分值、多選題分值、填空題分值、判斷題分值、綜合題分值、總分和考試時(shí)間等屬性;

試卷實(shí)體,包含編號(hào)、學(xué)號(hào)、規(guī)則編號(hào)、題型、題目編號(hào)、題目序號(hào)、學(xué)生答案、是否正確、得分等屬性;

4 邏輯結(jié)構(gòu)設(shè)計(jì)

邏輯結(jié)構(gòu)設(shè)計(jì)就是把E-R圖中的實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為數(shù)據(jù)庫(kù)支持的關(guān)系模式,在轉(zhuǎn)化過(guò)程中,注意命名問(wèn)題、非原子屬性問(wèn)題和聯(lián)系轉(zhuǎn)換問(wèn)題,根據(jù)設(shè)計(jì)創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)表,具體如下:

管理員表(編號(hào)姓名,密碼);

教師表(編號(hào),姓名,密碼,系部,聯(lián)系方式);

學(xué)生表(學(xué)號(hào),姓名,密碼,年級(jí),班級(jí),聯(lián)系方式);

課程表(課程編號(hào),課程名稱(chēng));

班級(jí)表(班級(jí)編號(hào),班級(jí)名稱(chēng),系部,專(zhuān)業(yè));

上課班級(jí)表(編號(hào),課程編號(hào),班級(jí),上課教師編號(hào),出卷教師編號(hào),組卷規(guī)則編號(hào));

考場(chǎng)表(考場(chǎng)編號(hào),課程編號(hào),班級(jí),考場(chǎng)人數(shù),考試開(kāi)始時(shí)間,考試結(jié)束時(shí)間,監(jiān)考老師編號(hào),考場(chǎng)密碼,考場(chǎng)狀態(tài));

單選題表(編號(hào),課程編號(hào),題目,選項(xiàng)A,選項(xiàng)B,選項(xiàng)C,選項(xiàng)D,答案,章節(jié),知識(shí)點(diǎn),難易度);

多選題表(編號(hào),課程編號(hào),題目,選項(xiàng)A,選項(xiàng)B,選項(xiàng)C,選項(xiàng)D,選項(xiàng)E,答案,章節(jié),知識(shí)點(diǎn),難易度);

填空題表(編號(hào),課程編號(hào),題目,答案,章節(jié),知識(shí)點(diǎn),難易度);

判斷題表(編號(hào),課程編號(hào),題目,答案,章節(jié),知識(shí)點(diǎn),難易度);

綜合題表(編號(hào),課程編號(hào),題目,答案,章節(jié),知識(shí)點(diǎn),難易度);

試卷規(guī)則表(規(guī)則編號(hào),課程編號(hào),單選題數(shù)量,多選題數(shù)量,填空題數(shù)量,判斷題數(shù)量,綜合題數(shù)量,單選題分值,多選題分值,填空題分值,判斷題分值,綜合題分值,總分,考試時(shí)間);

題型表(題型編號(hào),題型名稱(chēng));

試卷表(編號(hào),學(xué)號(hào),規(guī)則編號(hào),題型,題目編號(hào),題目序號(hào),學(xué)生答案,正確答案,是否正確,得分)。

5 數(shù)據(jù)庫(kù)實(shí)現(xiàn)

本考試系統(tǒng)選擇SQL Server2005作為數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),為了充分利用數(shù)據(jù)庫(kù)優(yōu)勢(shì)提高系統(tǒng)運(yùn)行速度和效率,采用數(shù)據(jù)庫(kù)連接池技術(shù),連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是再重新建立一個(gè);釋放空閑時(shí)間超過(guò)最大空閑時(shí)間的數(shù)據(jù)庫(kù)連接來(lái)避免因?yàn)闆](méi)有釋放數(shù)據(jù)庫(kù)連接而引起的數(shù)據(jù)庫(kù)連接遺漏,能明顯提高對(duì)數(shù)據(jù)庫(kù)操作的性能。

系統(tǒng)部分功能如隨機(jī)組卷和客觀(guān)題自動(dòng)評(píng)閱功能將在數(shù)據(jù)庫(kù)端實(shí)現(xiàn)。隨機(jī)組卷功能將通過(guò)用戶(hù)設(shè)置的題型、分值、章節(jié)、知識(shí)點(diǎn)和難易程度等要求通過(guò)存儲(chǔ)過(guò)程完成,而客觀(guān)題的自動(dòng)評(píng)閱功能將通過(guò)在試卷表中建立觸發(fā)器來(lái)實(shí)現(xiàn),部分代碼如下:

create TRIGGER judgeAsr ON paper

FOR UPDATE

AS

select @mid=id,@rid=rid,@qid=qid,@questionid=questionid,@typeid=typeid,@stuAsr=stuAsr from inserted

if(@typeid=1)

begin

select @rightAsr=answer from singleQuestions where [id]=@questionid;

select @weight=singleScore from rule where rid=@rid;

end

--多選、判斷、填空題的代碼類(lèi)似,此處省略

if(@rightAsr=@stuAsr)

updatepaperManage set isRight='T',score=@weight where [id]=@mid

else

updatepaperManage set isRight='F',score=0 where [id]=@mid

6 小結(jié)

一個(gè)好的的在線(xiàn)考試系統(tǒng)離不開(kāi)數(shù)據(jù)庫(kù)的支持,所以,如何根據(jù)系統(tǒng)的需求分析設(shè)計(jì)出合理的數(shù)據(jù)庫(kù),對(duì)系統(tǒng)的后期實(shí)現(xiàn)有著十分重要的意義。

參考文獻(xiàn)

[1]鐘美鶯.在線(xiàn)考試系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)用研究[J].數(shù)據(jù)庫(kù)與信息管理,2015(21).

[2]劉洪江.在線(xiàn)考試系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2012(01).

[3]雷曉敏,網(wǎng)絡(luò)在線(xiàn)考試系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)[J].中小企業(yè)管理與科技,2011(11).

第11篇

關(guān)鍵詞:數(shù)據(jù)庫(kù)設(shè)計(jì);概念模型;邏輯模型;物理結(jié)構(gòu)

中圖分類(lèi)號(hào):G717 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2012)12-0244-02

數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì),重則會(huì)決定軟件系統(tǒng)的成敗,輕則也會(huì)直接影響系統(tǒng)運(yùn)行速度及系統(tǒng)的使用率。在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),不但要考慮存取速度,還要考慮數(shù)據(jù)的冗余和一致性等問(wèn)題。可以肯定的說(shuō):數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞,對(duì)將來(lái)程序的設(shè)計(jì)和系統(tǒng)的最終功能實(shí)現(xiàn)都起著非常重要的作用。數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步就是需求分析,即確定存儲(chǔ)哪些數(shù)據(jù),建立哪些應(yīng)用,常用的操作及對(duì)象有哪些。根據(jù)對(duì)系統(tǒng)的初步需求分析與調(diào)研,對(duì)學(xué)生管理系統(tǒng)的總體功能進(jìn)行如下設(shè)計(jì):信息管理模塊、考勤管理模塊、宿舍管理模塊、崗前實(shí)習(xí)管理模塊、有處分學(xué)生學(xué)習(xí)班管理模塊和系統(tǒng)管理模塊。

一、數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)

根據(jù)前面對(duì)系統(tǒng)功能的細(xì)化分析,設(shè)計(jì)系統(tǒng)的數(shù)據(jù)流圖,最后得到系統(tǒng)全局實(shí)體—關(guān)系模型。全局實(shí)體—關(guān)系模型必須滿(mǎn)足所有的系統(tǒng)需要,還要恰當(dāng)?shù)卣故疽粋€(gè)一致的數(shù)據(jù)庫(kù)模型。

二、數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)

實(shí)體—關(guān)系模型是對(duì)用戶(hù)需求的一種抽象的表達(dá)形式,它不能為任何一個(gè)具體的數(shù)據(jù)庫(kù)管理系統(tǒng)所支持,它是獨(dú)立于任何一種具體的數(shù)據(jù)模型的。為了能夠建立起最終的物理系統(tǒng),接下來(lái)的任務(wù)是:將概念結(jié)構(gòu)通過(guò)轉(zhuǎn)化規(guī)則轉(zhuǎn)化為本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu),然后根據(jù)數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn),選定的數(shù)據(jù)庫(kù)管理系統(tǒng)支持下的數(shù)據(jù)模型,最后通過(guò)優(yōu)化算法得到優(yōu)化的數(shù)據(jù)模型。這些模式在功能性、完整性和一致性約束及數(shù)據(jù)庫(kù)的可擴(kuò)充性等方面應(yīng)滿(mǎn)足用戶(hù)的各種要求。設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)有下面三個(gè)步驟:首先,將通過(guò)概念設(shè)計(jì)所得的實(shí)體—關(guān)系圖轉(zhuǎn)換為關(guān)系模型;就需要將實(shí)體、屬性和聯(lián)系轉(zhuǎn)換為相應(yīng)的關(guān)系模型;其次,將轉(zhuǎn)換來(lái)的關(guān)系模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;最后,優(yōu)化處理得到的關(guān)系模型。

(一)實(shí)體模型轉(zhuǎn)換為關(guān)系模型

鑒別數(shù)據(jù)庫(kù)中的數(shù)據(jù)元素、關(guān)系,以及定義所需的數(shù)據(jù)庫(kù)表和各個(gè)數(shù)據(jù)庫(kù)表中的項(xiàng)目這些初始工作之后,所做的細(xì)化的過(guò)程就是范化。任何數(shù)據(jù)庫(kù)的設(shè)計(jì)都需要滿(mǎn)足特殊的約定,這會(huì)使數(shù)據(jù)庫(kù)既簡(jiǎn)潔又結(jié)構(gòu)明晰,反之?dāng)?shù)據(jù)庫(kù)結(jié)果會(huì)非常混亂,所造成的直接后果是給數(shù)據(jù)的更新帶來(lái)麻煩,給數(shù)據(jù)庫(kù)帶來(lái)大量冗余信息,給編程人員帶來(lái)不便并造成不可避免的錯(cuò)誤。

(二)實(shí)體—關(guān)系圖模式向關(guān)系模式的轉(zhuǎn)換

數(shù)據(jù)庫(kù)表中的每一個(gè)屬性都是不可以再分解的,這些屬性(字段)由基本類(lèi)型構(gòu)成,包括數(shù)字類(lèi)型、日期時(shí)間類(lèi)型和字符串類(lèi)型。數(shù)據(jù)庫(kù)表部分設(shè)計(jì)如下:

①學(xué)生信息(學(xué)生編號(hào),密碼,曾用名,籍貫,戶(hù)籍性質(zhì),照片,家庭住址,郵政編碼,家庭座機(jī),學(xué)生手機(jī),父親姓名,父親手機(jī),母親姓名,母親手機(jī))

②專(zhuān)業(yè)信息(班級(jí)名稱(chēng),校區(qū),二級(jí)學(xué)院,所屬系,專(zhuān)業(yè),入學(xué)日期,學(xué)制)

③班級(jí)信息(班級(jí)名稱(chēng),學(xué)生編號(hào),班主任,學(xué)生姓名,性別,民族,身份證號(hào),出生日期,政治面貌,類(lèi)別,入學(xué)分?jǐn)?shù),是否住宿,輔導(dǎo)員,實(shí)習(xí)單位,處分標(biāo)志,在校情況)

④考勤處分極限(處分名稱(chēng),處分級(jí)別,違紀(jì)數(shù)量)

⑤考勤信息(教師編號(hào),學(xué)生編號(hào),學(xué)年,學(xué)期,日期,節(jié)次,違紀(jì)內(nèi)容,違紀(jì)數(shù)量)

……

另外還有課程管理庫(kù)表、教職工登錄庫(kù)表、崗前實(shí)習(xí)處分信息庫(kù)表、崗前實(shí)習(xí)處分極限庫(kù)表、崗前實(shí)習(xí)小結(jié)信息庫(kù)表、宿舍處分極限庫(kù)表、宿舍管理分配庫(kù)表、學(xué)生住宿分配庫(kù)表、宿舍違紀(jì)分值庫(kù)表、宿舍處分信息庫(kù)表、學(xué)生處分信息庫(kù)表、有處分學(xué)生學(xué)習(xí)班信息庫(kù)表,這里不再一一列舉。

(三)對(duì)關(guān)系模型進(jìn)行優(yōu)化處理

在以上的設(shè)計(jì)中,由于學(xué)生信息實(shí)體的信息量較大,而實(shí)際系統(tǒng)運(yùn)行時(shí),不是所有信息都需要,如果都調(diào)入內(nèi)存會(huì)占用系統(tǒng)資源,而且安全性也會(huì)遭到威脅。通過(guò)以上分析,特把“學(xué)生信息”數(shù)據(jù)庫(kù)表分為兩個(gè)數(shù)據(jù)庫(kù)表,即“學(xué)生登錄”數(shù)據(jù)庫(kù)表和“學(xué)生信息”數(shù)據(jù)庫(kù)表,“學(xué)生登錄”數(shù)據(jù)庫(kù)表具體設(shè)計(jì)如下:

學(xué)生登錄(學(xué)生編號(hào),密碼)

原“學(xué)生信息”表對(duì)應(yīng)減少密碼項(xiàng),避免發(fā)生數(shù)據(jù)冗余和數(shù)據(jù)的不一致性。

三、數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)

由于數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)是與開(kāi)發(fā)環(huán)境和選定的數(shù)據(jù)庫(kù)管理系統(tǒng)軟件產(chǎn)品有關(guān)的,因此數(shù)據(jù)庫(kù)的物理設(shè)計(jì)依賴(lài)具體的數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品。數(shù)據(jù)庫(kù)物理設(shè)計(jì)步驟如下圖,后面會(huì)給出詳細(xì)的解釋。不論是對(duì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)的確定,還是對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),必須滿(mǎn)足原始設(shè)計(jì)要求(需求分析),如果不滿(mǎn)足就需要退回重新設(shè)計(jì)或修改,直到設(shè)計(jì)出符合要求的具體數(shù)據(jù)庫(kù)。

(一)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)

1.確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。在物理結(jié)構(gòu)中,存儲(chǔ)記錄是數(shù)據(jù)的基本存取單位,存儲(chǔ)記錄結(jié)構(gòu)包括記錄的組成、數(shù)據(jù)項(xiàng)的類(lèi)型和長(zhǎng)度以及邏輯記錄到存儲(chǔ)記錄的映射。下面舉兩個(gè)例子來(lái)簡(jiǎn)要說(shuō)明存取時(shí)間、空間和維護(hù)代價(jià)是決定存儲(chǔ)結(jié)構(gòu)的主要因素:(1)假設(shè)現(xiàn)在需要查詢(xún)計(jì)算機(jī)技術(shù)系的所有學(xué)生名單,如果將同一個(gè)系的學(xué)生集中存放,則會(huì)顯著地減少訪(fǎng)問(wèn)磁盤(pán)的次數(shù)。聚簇后不必重復(fù)存儲(chǔ)的聚簇碼值,可以減少部分存儲(chǔ)空間。(2)任課教師要按課程更新學(xué)生上課考勤信息,操作涉及學(xué)生和教師關(guān)系的連接操作,為提高效率,可把具有教師關(guān)系和學(xué)生關(guān)系在物理上聚簇在一起。根據(jù)以上設(shè)計(jì)思想,做如下部分設(shè)計(jì):(1)學(xué)生基本信息、考勤處分極限、宿舍處分極限、崗前實(shí)習(xí)處分極限、教職工登錄、班級(jí)、課程管理、宿舍清單、宿舍的分配:在一定時(shí)間內(nèi)變動(dòng)不大,更新速度相對(duì)較慢,考慮到查找的方便性,進(jìn)行聚簇存儲(chǔ)。(2)考勤信息、宿舍處分信息、崗前實(shí)習(xí)處分信息、學(xué)生處分信息:最經(jīng)常的操作是查找、插入、刪除,為提高效率,考慮建立“B+樹(shù)”索引,則平均查找次數(shù)為“B+樹(shù)”的層數(shù),故對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)到有索引的物理存儲(chǔ)。

2.存取路徑的設(shè)計(jì)。為了提高系統(tǒng)的性能,根據(jù)應(yīng)用情況,如數(shù)據(jù)的異變部分和穩(wěn)定部分、存取效率較高和較低等進(jìn)行劃分,可以進(jìn)行如下設(shè)計(jì):(1)各種文件的存放位置設(shè)計(jì);(2)為保證讀寫(xiě)速度,考慮表和索引的存放;(3)設(shè)計(jì)大表存放形式,用以加快存取速度;(4)將不同學(xué)院的學(xué)生放在不同磁盤(pán)上,如果教師集中錄入考勤時(shí),速度不會(huì)影響太大。

3.數(shù)據(jù)存放位置的設(shè)計(jì)。通過(guò)數(shù)據(jù)存放位置的規(guī)劃來(lái)提高系統(tǒng)的性能,為保證讀寫(xiě)速度考慮表和索引的存放。如考勤信息、宿舍處分信息、學(xué)生處分信息表的索引。

4.系統(tǒng)配置的設(shè)計(jì)。數(shù)據(jù)庫(kù)管理系統(tǒng)的每個(gè)參數(shù)都有默認(rèn)值,我們一般很少對(duì)默認(rèn)初始值進(jìn)行設(shè)置。但是根據(jù)不同系統(tǒng)的特點(diǎn),這些默認(rèn)參考值不一定都很恰當(dāng),需要我們根據(jù)最初的需求分析和實(shí)際的數(shù)據(jù)庫(kù)表設(shè)計(jì),適當(dāng)調(diào)整參數(shù)的初始值,讓我們?cè)O(shè)計(jì)的系統(tǒng)占用空間最小,系統(tǒng)運(yùn)行速度最快。通常情況下,這些配置變量包括:同時(shí)打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象數(shù)量,使用的緩沖區(qū)長(zhǎng)度、個(gè)數(shù)、時(shí)間片大小、數(shù)據(jù)庫(kù)的大小、裝填因子、鎖的數(shù)目,等等。

我們對(duì)這些參數(shù)值重新設(shè)置后,就能最大限度的保證系統(tǒng)運(yùn)行效率。經(jīng)過(guò)初步設(shè)計(jì)后,在系統(tǒng)真正投入運(yùn)行或運(yùn)行一段時(shí)間后,根據(jù)系統(tǒng)實(shí)際運(yùn)行情況再做出調(diào)整,通過(guò)這種不斷地調(diào)整,使學(xué)生管理軟件系統(tǒng)的性能達(dá)到最優(yōu)狀態(tài)。(1)登錄系統(tǒng)的極限數(shù)值設(shè)計(jì)。新生入學(xué)時(shí),要求他們輸入自己的個(gè)人信息,設(shè)計(jì)要求最多可以有120人同時(shí)打開(kāi)學(xué)生基本信息庫(kù)進(jìn)行操作(通常打開(kāi)3個(gè)機(jī)房共學(xué)生使用);平時(shí)同時(shí)使用的數(shù)據(jù)庫(kù)還有考勤庫(kù)、處分庫(kù)等,考慮到老師們中午或下午課程結(jié)束后,可能會(huì)統(tǒng)一進(jìn)行考勤錄入,估算最多有200人同時(shí)打開(kāi)學(xué)生考勤庫(kù)進(jìn)行操作;有50人同時(shí)打開(kāi)學(xué)生處分庫(kù)進(jìn)行操作;對(duì)于其他數(shù)據(jù)庫(kù),由于同時(shí)操作的可能性不會(huì)太大,設(shè)計(jì)成最多可以有100人同時(shí)打開(kāi)相應(yīng)數(shù)據(jù)庫(kù)進(jìn)行操作;參考學(xué)院教職工和學(xué)生數(shù)。綜上所述,設(shè)置max_connecionts為300。(2)同時(shí)打開(kāi)數(shù)據(jù)庫(kù)表個(gè)數(shù)的最初參數(shù)非常重要,如鎖的數(shù)目等。本文設(shè)計(jì)的學(xué)生管理系統(tǒng)目前共涉及數(shù)據(jù)庫(kù)表的個(gè)數(shù)為17,設(shè)計(jì)初期可以使用系統(tǒng)默認(rèn)的數(shù)值。

(二)評(píng)價(jià)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)

系統(tǒng)運(yùn)行的效率、占用的空間、維護(hù)系統(tǒng)所花費(fèi)的代價(jià),都是我們?cè)谠O(shè)計(jì)系統(tǒng)的初期需要考慮的事情。

四、結(jié)束語(yǔ)

一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)需要反復(fù)幾次,才能達(dá)到比較理想的狀態(tài),這個(gè)反復(fù)的時(shí)間可能比最初設(shè)計(jì)系統(tǒng)的時(shí)間還要長(zhǎng),花費(fèi)還要多,這也正是軟件系統(tǒng)設(shè)計(jì)的規(guī)律。所以,在最初的調(diào)研階段,要真正做好需求分析,不同階段做好不同的文檔設(shè)計(jì),最后才可能得到性能高的數(shù)據(jù)庫(kù)。

參考文獻(xiàn):

[1]伯樂(lè).數(shù)據(jù)庫(kù)系統(tǒng)教程[M].北京:高等教育出版社,2003.

[2]羅宇.操作系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2005:319-352.

[3]薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2009.

第12篇

關(guān)鍵詞:灌區(qū);數(shù)據(jù)庫(kù);空間數(shù)據(jù)庫(kù)

中圖分類(lèi)號(hào):TP311.13 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007-9599 (2010) 07-0000-01

Shijin Irrigation-district Database Design and Construction

Zhang Yongzeng,Yang Ming

(Hebei Shijin Irrigation District,Administration Bureau,Shijiazhuang050051,China)

Abstract:Shijin Irrigation District as example,this paper study the design of the irrigation method and content of the database.While the establishment of the attribute database,spatial database been established,to provides a rich data base for the irrigation work,in large measure to improve work efficiency.

Keywords:Irrigation-district;Database;Spatial database

一、背景

石津灌區(qū)是國(guó)家大Ⅱ型灌區(qū),位于河北省中南部,骨干工程控制面積4144平方公里,耕地面積435萬(wàn)畝,設(shè)計(jì)灌溉面積250萬(wàn)畝,受益范圍包括石家莊、邢臺(tái)、衡水3個(gè)市的14個(gè)縣市區(qū),114個(gè)鄉(xiāng),其水源工程為崗南、黃壁莊兩座聯(lián)合運(yùn)營(yíng)的大型水庫(kù),興利庫(kù)容12.4億立方米。總干渠全長(zhǎng)134公里,干渠8條,總長(zhǎng)183公里。

石津灌區(qū)管理局成立于1949年,多年的信息記載模式大部分是紙質(zhì)或電子表格,而灌區(qū)涉及的信息量大而繁雜,還包括渠道、管理機(jī)構(gòu)、水工建筑物等空間數(shù)據(jù),傳統(tǒng)的信息管理模式記錄分散,查詢(xún)及管理甚為不便,而空間數(shù)據(jù)只能通過(guò)紙質(zhì)地圖查詢(xún),降低了信息的提取利用效率,甚至影響了用水管理決策的制定和生成。因此,建立一個(gè)包括空間數(shù)據(jù)庫(kù)在內(nèi)的完整的灌區(qū)數(shù)據(jù)庫(kù)是十分重要和必要的。

二、數(shù)據(jù)庫(kù)設(shè)計(jì)

(一)數(shù)據(jù)庫(kù)建設(shè)目標(biāo)

1.建立標(biāo)準(zhǔn)、規(guī)范的數(shù)據(jù)編碼系統(tǒng)

對(duì)灌區(qū)各類(lèi)基礎(chǔ)信息和空間信息進(jìn)行編碼,必須依據(jù)國(guó)家、行業(yè)有關(guān)標(biāo)準(zhǔn)(如河流編碼、水庫(kù)編碼等)有關(guān)編碼規(guī)定,尤其要遵從《全國(guó)大型灌區(qū)基礎(chǔ)數(shù)據(jù)庫(kù)建設(shè)指南》。

2.設(shè)計(jì)完善的數(shù)據(jù)庫(kù)結(jié)構(gòu),對(duì)數(shù)據(jù)進(jìn)行合理分類(lèi)

在空間數(shù)據(jù)庫(kù)中重點(diǎn)建設(shè)灌區(qū)空間數(shù)據(jù)與灌區(qū)基礎(chǔ)數(shù)據(jù)之間的關(guān)系,按照監(jiān)測(cè)點(diǎn)、全灌區(qū)兩種級(jí)別將專(zhuān)題數(shù)字矢量圖、專(zhuān)題數(shù)字柵格圖、試驗(yàn)觀(guān)測(cè)表格、專(zhuān)題聲像資料、專(zhuān)題文本等五種類(lèi)型進(jìn)行分類(lèi)結(jié)構(gòu)設(shè)計(jì),將灌區(qū)基礎(chǔ)數(shù)據(jù)庫(kù)和灌區(qū)專(zhuān)題數(shù)據(jù)庫(kù)進(jìn)行結(jié)構(gòu)設(shè)計(jì)和優(yōu)化,根據(jù)應(yīng)用需求再逐步補(bǔ)充、完善數(shù)據(jù)庫(kù),以滿(mǎn)足信息查詢(xún)、匯報(bào)演示的要求。

3.數(shù)據(jù)庫(kù)建庫(kù)與數(shù)據(jù)導(dǎo)入

實(shí)施基礎(chǔ)數(shù)據(jù)庫(kù)的建庫(kù),實(shí)施數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)建設(shè)和數(shù)據(jù)的導(dǎo)入。數(shù)據(jù)庫(kù)建庫(kù)包括空間數(shù)據(jù)庫(kù)建庫(kù)、多媒體數(shù)據(jù)庫(kù)建庫(kù)、實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)建庫(kù)和灌區(qū)屬性數(shù)據(jù)庫(kù)的建庫(kù),進(jìn)而根據(jù)數(shù)據(jù)類(lèi)型的不同,進(jìn)行矢量地圖數(shù)據(jù)和屬性表格數(shù)據(jù)的分類(lèi)入庫(kù)。

(二)空間數(shù)據(jù)庫(kù)設(shè)計(jì)

灌區(qū)空間基礎(chǔ)數(shù)據(jù)是指與灌區(qū)空間數(shù)據(jù)有關(guān)的基礎(chǔ)地圖類(lèi)數(shù)據(jù)。石津灌區(qū)空間數(shù)據(jù)庫(kù)包括基礎(chǔ)地理數(shù)據(jù)庫(kù)和灌區(qū)專(zhuān)題空間數(shù)據(jù)兩個(gè)部分。

基礎(chǔ)地理數(shù)據(jù)庫(kù):基礎(chǔ)地理空間數(shù)據(jù)是石津灌區(qū)所在區(qū)域的基本圖形或影像數(shù)據(jù),可為整個(gè)灌區(qū)提供電子底圖。已收集到的數(shù)據(jù)包括:河北省石家莊市、衡水市、邢臺(tái)市的1:10萬(wàn)地形圖、三市的行政區(qū)劃圖、水系分布圖、交通圖。圖上所有要素按照點(diǎn)、線(xiàn)、面要素進(jìn)行分層,各層信息嚴(yán)格按照數(shù)據(jù)分類(lèi)編碼體系規(guī)范化分類(lèi)編碼,以.shp文件的形式進(jìn)行存儲(chǔ)(灌區(qū)各GIS應(yīng)用軟件都是基于ArcGIS Engine組件開(kāi)發(fā)的)。

專(zhuān)題數(shù)據(jù)庫(kù):根據(jù)灌區(qū)的需求,我們將專(zhuān)題數(shù)據(jù)庫(kù)分為灌區(qū)工情數(shù)據(jù)庫(kù)(水工建筑物數(shù)據(jù)庫(kù))、水情信息數(shù)據(jù)庫(kù)、實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)庫(kù)、水費(fèi)征收數(shù)據(jù)庫(kù)。將這些點(diǎn)狀數(shù)據(jù)信息以shp文件的形式存儲(chǔ)。

1.工情數(shù)據(jù)庫(kù):包含了灌區(qū)的閘門(mén)、渠道、倒虹吸、渡槽等各類(lèi)水工建筑物,這些設(shè)施的數(shù)據(jù)是制定輸水、配水計(jì)劃的參考依據(jù),也為管理人員更好的了解灌區(qū)情況提供了數(shù)據(jù)基礎(chǔ)。

2.水情信息數(shù)據(jù)庫(kù):包含了灌區(qū)監(jiān)測(cè)點(diǎn)的閘位、水位、雨情、墑情和地下水的非實(shí)時(shí)數(shù)據(jù),可按時(shí)間或監(jiān)測(cè)點(diǎn)統(tǒng)計(jì)分析水情信息的變化,預(yù)測(cè)用水量等重要信息。

3.實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)庫(kù):包含了灌區(qū)監(jiān)測(cè)點(diǎn)的閘位、水位、雨情和墑情的實(shí)時(shí)數(shù)據(jù),通過(guò)建立接口,讀取灌區(qū)已建設(shè)好的水情遙測(cè)系統(tǒng)監(jiān)測(cè)到的最新數(shù)據(jù),一般是半個(gè)小時(shí)更新一次。

4.水費(fèi)征收數(shù)據(jù)庫(kù):包含了灌區(qū)所轄范圍內(nèi)各村的用水量及水費(fèi)征收數(shù)據(jù)。能以村為單位查詢(xún)歷年用水量及水費(fèi)收繳情況。

(三)屬性數(shù)據(jù)庫(kù)設(shè)計(jì)

灌區(qū)的屬性數(shù)據(jù)庫(kù)除了包含上述各空間數(shù)據(jù)所對(duì)應(yīng)的屬性數(shù)據(jù)以外,還包括了灌區(qū)各管理機(jī)構(gòu)的基本信息和社會(huì)、經(jīng)濟(jì)基礎(chǔ)資料等。在屬性數(shù)據(jù)庫(kù)當(dāng)中,需要把各要素的關(guān)鍵信息作為屬性字段存儲(chǔ),多媒體數(shù)據(jù)分別以圖像、聲音和視頻等字段類(lèi)型存儲(chǔ),各專(zhuān)題要素的對(duì)象鏈接包括文本、聲音、照片、動(dòng)畫(huà)等。與空間數(shù)據(jù)庫(kù)的鏈接通過(guò)關(guān)系數(shù)據(jù)表中的關(guān)鍵字段實(shí)現(xiàn)。

(四)元數(shù)據(jù)庫(kù)設(shè)計(jì)

元數(shù)據(jù)的英文名稱(chēng)是“Metadata“,它是“關(guān)于數(shù)據(jù)的數(shù)據(jù)”,在地理空間信息中,用于描述地理數(shù)據(jù)集的內(nèi)容、質(zhì)量、空間參考、表示方式、管理方式以及數(shù)據(jù)集的其他特征,它是實(shí)現(xiàn)地理空間信息共享的核心標(biāo)準(zhǔn)之一。元數(shù)據(jù)可以用來(lái)組織和管理空間信息,并挖掘空間信息資源,通過(guò)它可以在廣域網(wǎng)或因特網(wǎng)上準(zhǔn)確地識(shí)別、定位和訪(fǎng)問(wèn)空間信息,幫助數(shù)據(jù)使用者查詢(xún)所需空間信息;還可以用來(lái)建立空間信息的數(shù)據(jù)目錄和數(shù)據(jù)交換中心,通過(guò)數(shù)據(jù)目錄和數(shù)據(jù)交換中心等提供的空間元數(shù)據(jù)內(nèi)容,用戶(hù)可以共享空間信息、維護(hù)數(shù)據(jù)結(jié)果,以及對(duì)它們進(jìn)行優(yōu)化等等。

石津灌區(qū)的元數(shù)據(jù)庫(kù)按照《基礎(chǔ)地理信息數(shù)字產(chǎn)品元數(shù)據(jù)》(CH/T 1007-2001)規(guī)定進(jìn)行設(shè)計(jì),將空間元數(shù)據(jù)內(nèi)容分兩個(gè)層次:第一層是目錄信息,主要用于對(duì)數(shù)據(jù)集信息進(jìn)行宏觀(guān)描述,它適合在數(shù)字地球的國(guó)家級(jí)空間信息交換中心或區(qū)域以及全球范圍內(nèi)管理和查詢(xún)空間信息時(shí)使用。第二層是詳細(xì)信息,用來(lái)詳細(xì)或全面描述地理空間信息的空間元數(shù)據(jù)標(biāo)準(zhǔn)內(nèi)容,是數(shù)據(jù)集生產(chǎn)者在提供空間數(shù)據(jù)集時(shí)必須要提供的信息。

主站蜘蛛池模板: 八宿县| 阿拉善左旗| 双城市| 天镇县| 岑溪市| 灵武市| 独山县| 临城县| 哈尔滨市| 洪江市| 普宁市| 六枝特区| 高台县| 称多县| 托里县| 社会| 女性| 宁乡县| 康保县| 兴海县| 朝阳市| 英超| 开封县| 昌邑市| 潢川县| 安吉县| 石台县| 旺苍县| 景宁| 怀集县| 那曲县| 惠安县| 哈尔滨市| 北碚区| 汝州市| 南部县| 义马市| 漠河县| 长白| 新晃| 洪泽县|