數(shù)據(jù)庫設(shè)計范文
時間:2023-03-21 04:43:21
導(dǎo)語:如何才能寫好一篇數(shù)據(jù)庫設(shè)計,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
【關(guān)鍵詞】數(shù)據(jù)庫;關(guān)系數(shù)據(jù)庫;面向?qū)ο螅环?wù)器
1 背景分析
目前,產(chǎn)品化的數(shù)據(jù)庫管理系統(tǒng)是以關(guān)系型數(shù)據(jù)庫為主流,技術(shù)相對成熟。面向?qū)ο蟮臄?shù)據(jù)庫管理系統(tǒng)盡管技術(shù)上處于先進,數(shù)據(jù)庫易于研發(fā)、維護,但至今為止,還沒有成熟的產(chǎn)品。占主導(dǎo)位置的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)包括ORACLE、SYBASE、SQL Server、INFORMIX與INGRES,這些產(chǎn)品都支持UNIX、VMS、WINDOWS等不同平臺,但支持的程度不一樣。
通常系統(tǒng)的設(shè)計與研發(fā)階段,設(shè)計人員、研發(fā)人員與測試人員僅會把工作重點放在系統(tǒng)的功能實現(xiàn)上,而此時因為測試數(shù)據(jù)較小,難以衡量系統(tǒng)的運行性能的優(yōu)劣,然而如果系統(tǒng)進入實際運行階段,大量的業(yè)務(wù)數(shù)據(jù)通常會使系統(tǒng)的性能逐步降低,此時再來考慮怎樣提升性能則會花費更多的人力及財力。所以,設(shè)計出高質(zhì)量的數(shù)據(jù)庫結(jié)構(gòu)就變得特別關(guān)鍵。
2 數(shù)據(jù)庫服務(wù)器選擇
對于占主導(dǎo)位置的SQL Server、Oracle、SYBASE、DB2和INFORMIX數(shù)據(jù)庫,分別從性能、運用風(fēng)險、開放性、易維護性與價格等方面來分析比較。
2.1 性能
SQL Server老版本服務(wù)器多用戶時性能較差,新版本的性能有了顯著的提升,各項處理能力都有了顯著的提升,占有數(shù)項TPC-C(事務(wù)處理性能委員會)紀(jì)錄,并支持集群。Oracle數(shù)據(jù)庫性能最佳,占有Windows NT平臺下的TPC-D(基準(zhǔn)測試,衡量聯(lián)機事務(wù)處理系統(tǒng)的一個測試指標(biāo))及TPC-C的世界紀(jì)錄。SYBASE數(shù)據(jù)庫性能較好,滿足Sun、IBM、HP、Compaq及Veritas集群設(shè)施的性能,達(dá)到高可用性;性能比SQL Server稍差,然而在UNIX平臺下的并發(fā)性要高于SQL Server,適用于安全性要求較高的應(yīng)用系統(tǒng)。DB2適合于數(shù)據(jù)倉庫與在線事務(wù)處理,性能較好,支持胖客戶端和應(yīng)用模式。INFORMIX性能較好,支持集群,達(dá)到高可用性,適用于安全性要求極高的應(yīng)用系統(tǒng),特別是在金融業(yè)、證券行業(yè)的應(yīng)用。
2.2 運用風(fēng)險
SQL Server屬于完全重寫的代碼,性能及版本兼容性有了較大的改善,同Oracle、DB2的性能差距顯著減小。該產(chǎn)品的產(chǎn)生經(jīng)歷了大量用戶長期的測試,對產(chǎn)品的安全及穩(wěn)定進行了全面的檢測,安全穩(wěn)定性有了顯著的改善。Oracle長時期的研發(fā)經(jīng)驗,完全向下版本兼容,基本沒有風(fēng)險。能夠安全的進行系列產(chǎn)品的升級,在企業(yè)、政府中獲得普遍應(yīng)用。而且假如在WINNT平臺上不能滿足數(shù)據(jù)的要求,能夠安全的將數(shù)據(jù)轉(zhuǎn)移到UNIX平臺上來。SYBASE向下版本兼容,然而ct-library程序不易移植。研發(fā)周期較長,升級較為復(fù)雜,穩(wěn)定性較佳,數(shù)據(jù)安全有保障,風(fēng)險較小。在安全要求極高的金融、證券領(lǐng)域獲得了普遍應(yīng)用。DB2在巨型企業(yè)獲得普遍的應(yīng)用,向下版本兼容性較好,應(yīng)用風(fēng)險較小。INFORMIX研發(fā)周期較長,升級較為復(fù)雜,穩(wěn)定性較佳,數(shù)據(jù)安全有較高保障,應(yīng)用風(fēng)險較小。在安全要求極高的金融、證券領(lǐng)域中獲得了普遍應(yīng)用。
2.3 開放性
SQL Server僅能在Windows平臺上部署、運行,C/S結(jié)構(gòu),操作系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫是非常關(guān)鍵的。僅支持Windows平臺,能夠用ADO、DAO、OLEDB、ODBC、JDBC等網(wǎng)絡(luò)數(shù)據(jù)庫連接技術(shù)溝通。Windows平臺的可靠性和安全性通過了最高級別的C2認(rèn)證,在處理大數(shù)據(jù)量的重要業(yè)務(wù)時具備較好的性能。Oracle能在所有主流平臺上部署、運行(包含 Windows),完全支持目前所有的工業(yè)標(biāo)準(zhǔn)。利用完全開放策略,可以進行多層次網(wǎng)絡(luò)計算,對多種工業(yè)規(guī)范提供支持,能夠用ODBC、JDBC、OCI等網(wǎng)絡(luò)數(shù)據(jù)庫連接技術(shù)溝通。能夠使客戶選用最適合的解決方案,對開發(fā)商完全支持。SYBASE能在所有主流平臺上部署、運行,C/S結(jié)構(gòu),能夠用ODBC、JDBC、Jconnect、Ct-library等網(wǎng)絡(luò)數(shù)據(jù)庫連接技術(shù)溝通,在金融業(yè)中獲得了普遍的應(yīng)用。但因為早期Sybase同OS集成度不高,所以VERSION11.9.2以下版本需要較多OS及DB級補丁,在多平臺的混合環(huán)境下會產(chǎn)生一定問題。DB2能在所有主流平臺上部署、運行(包含windows)。有較佳的開放性,最適于海量數(shù)據(jù)。支持跨平臺能力和多層結(jié)構(gòu),支持ODBC、JDBC等類型應(yīng)用系統(tǒng),在大型的國際企業(yè)中獲得最為普遍的應(yīng)用。IINFORMIX僅運行于UNIX平臺,包括SUNOS(Sun的操作系統(tǒng)最初稱呼)和HPUX(Hewlett C Packard UNIX的縮寫,屬于惠普公司的UNIX操作系統(tǒng)),在金融業(yè)獲得普遍的應(yīng)用。
2.4 易維護性與價格
SQL Server從易維護性與價格上SQL Server占有較大優(yōu)勢?;贛icrosoft產(chǎn)品的一貫風(fēng)格,SQL Server的圖形管理界面導(dǎo)致了顯著的易用性,微軟的數(shù)據(jù)庫管理員培訓(xùn)工作相對充分,能夠輕松的找到技術(shù)較好的數(shù)據(jù)庫管理員,數(shù)據(jù)庫管理費用相對低,SQL Server的價格也是較低的。Oracle從易維護性與價格體來說,Oracle的價格是相對高的,管理相對復(fù)雜,因為Oracle的應(yīng)用相當(dāng)普遍,經(jīng)驗豐富的Oracle數(shù)據(jù)庫管理員能夠相對容易的找到,因而實現(xiàn)Oracle的良好管理。所以,Oracle的性價比在商用數(shù)據(jù)庫中是最佳的。SYBASE的價格是相對低的,然而SYBASE的在企業(yè)及政府中的應(yīng)用較少,較難找到經(jīng)驗豐富的管理員,運行管理費用偏高。DB2價格較高,管理員較少,在中國的應(yīng)用相對少,只在金融業(yè)獲得一定應(yīng)用,運行管理費用都非常高,比較適用于大型企業(yè)的數(shù)據(jù)倉庫應(yīng)用。INFORMIX價格在這些數(shù)據(jù)庫服務(wù)器中居于中間,同SYBASE類似,在企業(yè)及政府中應(yīng)用相對較少,只在金融業(yè)獲得了普遍的應(yīng)用。經(jīng)驗豐富的管理人員偏少,運行管理費用偏高。
3 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫結(jié)構(gòu)設(shè)計在該數(shù)據(jù)庫管理系統(tǒng)研發(fā)過程中占據(jù)非常關(guān)鍵的地位,下面從數(shù)據(jù)庫設(shè)計原則、數(shù)據(jù)庫設(shè)計方法與步驟、邏輯數(shù)據(jù)模型設(shè)計等三方面簡述該數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫設(shè)計。
3.1 數(shù)據(jù)庫設(shè)計原則
該數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫參照以下設(shè)計原則:
(1)數(shù)據(jù)庫設(shè)計要達(dá)到標(biāo)準(zhǔn)化與規(guī)范化。數(shù)據(jù)結(jié)構(gòu)的標(biāo)準(zhǔn)化與數(shù)據(jù)關(guān)系的規(guī)范化有助于消除冗余數(shù)據(jù)。
(2)表中數(shù)據(jù)類型的合理化。合理的數(shù)據(jù)類型有助于提升該數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫的運行性能。
(3)數(shù)據(jù)表命名的規(guī)范化。每個關(guān)系型數(shù)據(jù)庫對數(shù)據(jù)表的命名都有一定要求,在對數(shù)據(jù)表命名時利用大小寫敏感的形式,而且數(shù)據(jù)表命名長度不應(yīng)過長,這樣能夠使該數(shù)據(jù)庫管理系統(tǒng)可以應(yīng)用在多個不同的數(shù)據(jù)庫平臺。
(4)數(shù)據(jù)庫性能的完善。在運行環(huán)境已經(jīng)固定的因素下,數(shù)據(jù)庫的性能成為影響該人事數(shù)據(jù)庫管理系統(tǒng)運行性能的主要條件??梢岳脙蓚€步驟開展數(shù)據(jù)庫設(shè)計:先是進行邏輯設(shè)計,而后進行物理設(shè)計。邏輯設(shè)計要求消除所有的冗余字段,可以完整地說明數(shù)據(jù)庫表之間的關(guān)系。然而對于多表之間關(guān)聯(lián)的查詢,去除所有冗余會損耗系統(tǒng)性能,也會增大系統(tǒng)研發(fā)難度。因此,找到一個平衡點成為數(shù)據(jù)庫設(shè)計的關(guān)鍵,在物理設(shè)計中開發(fā)人員要分析關(guān)聯(lián)數(shù)據(jù)表的數(shù)據(jù)量大小與訪問頻率,并對數(shù)據(jù)表中用來關(guān)聯(lián)查詢的關(guān)鍵字段留存適當(dāng)?shù)娜哂啵蕴嵘龜?shù)據(jù)庫的性能。
3.2 數(shù)據(jù)庫設(shè)計方法與步驟
數(shù)據(jù)庫的建設(shè)分成概念數(shù)據(jù)模型設(shè)計、邏輯數(shù)據(jù)模型設(shè)計與物理數(shù)據(jù)結(jié)構(gòu)設(shè)計等三個階段,其目的是達(dá)到合理的數(shù)據(jù)表結(jié)構(gòu),使數(shù)據(jù)的存取操作更為有序,數(shù)據(jù)的編輯、查詢更為方便,從而實現(xiàn)該數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫的建設(shè)。
(1)概念數(shù)據(jù)模型設(shè)計。概念數(shù)據(jù)模型反映的是系統(tǒng)最終用戶對于數(shù)據(jù)存儲的觀點,代表了系統(tǒng)用戶綜合性的信息需求,它用數(shù)據(jù)類的方式表達(dá)企業(yè)級的數(shù)據(jù)需求,數(shù)據(jù)類描述了在業(yè)務(wù)環(huán)境中聚集起來的幾個重要的類別數(shù)據(jù)。概念數(shù)據(jù)模型包括主要的實體和實體之間的關(guān)系。描述概念數(shù)據(jù)模型最常用的是“實體-關(guān)系”圖(即E-R圖),E-R圖主要是由實體、屬性及關(guān)系等三個要素組成的。
(2)邏輯數(shù)據(jù)模型設(shè)計。邏輯數(shù)據(jù)模型是指系統(tǒng)分析師、設(shè)計師對數(shù)據(jù)存儲的見解、看法,是對前一階段概念數(shù)據(jù)模型的分解與細(xì)化。邏輯數(shù)據(jù)模型是按照業(yè)務(wù)規(guī)則決定的,是業(yè)務(wù)對象、業(yè)務(wù)對象的數(shù)據(jù)項以及業(yè)務(wù)對象之間關(guān)系的描述。邏輯數(shù)據(jù)模型包括所有的實體與關(guān)系,決定每個實體的屬性,指明每個實體的主鍵和外鍵。
(3)物理數(shù)據(jù)模型設(shè)計。物理數(shù)據(jù)模型是對真實數(shù)據(jù)庫的表達(dá)。數(shù)據(jù)庫對象包括表,視圖、字段、數(shù)據(jù)類型、長度、主鍵、外鍵、索引以及是否可為空,還有默認(rèn)值。概念數(shù)據(jù)模型到物理數(shù)據(jù)模型的轉(zhuǎn)換是將概念模型中的對象轉(zhuǎn)換為物理模型的對象。
4 總結(jié)
開發(fā)數(shù)據(jù)庫管理系統(tǒng)時,一個優(yōu)秀的數(shù)據(jù)庫服務(wù)器的選擇和好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計起到舉足輕重的地位。SQL Server屬于微軟公司研發(fā)的大型關(guān)系型數(shù)據(jù)庫系統(tǒng),功能相對全面,效率較高,管理與操作比較簡單、方便,整個系統(tǒng)的安全及穩(wěn)定也較高,并且性能價格比最好,節(jié)約企業(yè)資金,降低研發(fā)成本,是開發(fā)人員理想的選擇,能夠作為中型企業(yè)或單位的數(shù)據(jù)庫平臺。數(shù)據(jù)庫結(jié)構(gòu)設(shè)計在數(shù)據(jù)庫管理系統(tǒng)研發(fā)過程中同樣占據(jù)非常關(guān)鍵的地位,一個好的數(shù)據(jù)庫結(jié)構(gòu)是該數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ),數(shù)據(jù)結(jié)構(gòu)設(shè)計的優(yōu)劣將直接影響到該系統(tǒng)的效率以及所要達(dá)到的效果。
【參考文獻】
篇2
1數(shù)據(jù)庫設(shè)計概述
在數(shù)據(jù)庫應(yīng)用系統(tǒng)中,主要面對的核心問題就是設(shè)計出一個能滿足用戶需求,性能良好的數(shù)據(jù)庫,這就是數(shù)據(jù)庫設(shè)計。軟件開發(fā)的數(shù)據(jù)庫設(shè)計主要分為四個階段:需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計。而目前的軟件開發(fā)過程中,一般采用生命周期法,將數(shù)據(jù)庫分解為目標(biāo)獨立的若干階段:需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計、編碼階段、測試階段、運行階段和進一步修改階段。關(guān)于數(shù)據(jù)庫設(shè)計理念,主要是為了分析數(shù)據(jù)間內(nèi)在語義關(guān)聯(lián),在此基礎(chǔ)上建立一個數(shù)據(jù)的抽象模型。設(shè)計者根據(jù)實際情況,對某些共同特性和行為的對象可以抽象的作為一個實體。所以數(shù)據(jù)庫是由實體和屬性組成的,實體是通過主鍵表示,屬性是通過外鍵表示。在進行設(shè)計時,實體與屬性是相對而言的,同一事物在某一種環(huán)境中作為屬性,在另一種環(huán)境中,就必須作為實體。如圖1所示。
2軟件開發(fā)中數(shù)據(jù)庫設(shè)計的重要性
數(shù)據(jù)庫作為重要的數(shù)據(jù)處理技術(shù),大多數(shù)的軟件開發(fā)都必須運用到數(shù)據(jù)庫技術(shù),數(shù)據(jù)庫管理系統(tǒng)就是軟件開發(fā)的重要成果。它是一種系統(tǒng)軟件,分組數(shù)據(jù)庫中的數(shù)據(jù)組織、操縱、維護、控制及保護和數(shù)據(jù)服務(wù)等功能,特別是它可以定義視圖和進行強大的數(shù)值計算,能夠很好的控制數(shù)據(jù)庫的安全性、完整性以及對數(shù)據(jù)庫的故障進行校正、修復(fù)和監(jiān)控功能。所以它被應(yīng)用到世界各個領(lǐng)域的機械、醫(yī)療、教育等領(lǐng)域中。而且在開發(fā)軟件時,經(jīng)常要對很多數(shù)據(jù)線圖和表格進行查找,簡單的還可以進行人工查找,如果遇到復(fù)雜的數(shù)據(jù)查找,則會對設(shè)計人員造成許多的不便,也很容易出現(xiàn)錯誤,影響軟件產(chǎn)品的質(zhì)量。而如果運用數(shù)據(jù)庫管理編程,則可以存儲許多的數(shù)據(jù),當(dāng)需要時,數(shù)據(jù)庫管理系統(tǒng)則會為用戶使用數(shù)據(jù)中的數(shù)據(jù)提供方便的查詢、插入、修改以及刪除數(shù)據(jù)的功能。
3軟件開發(fā)中數(shù)據(jù)庫設(shè)計應(yīng)遵循的原則
1)一事一地。建表需描述兩個實體之間的聯(lián)系,避免出現(xiàn)大、雜的設(shè)計。如單個主題信息需獨立保存、分離,通過在表中分散不同的信息,使數(shù)據(jù)的維護、組織工作簡單化。同時,提高了應(yīng)用程序的性能。2)避免出現(xiàn)重復(fù)的字段。應(yīng)確保表中能切實放映與其他表的聯(lián)系,以及外部關(guān)鍵字。另外,要注意避免出現(xiàn)重復(fù)的字段,以減小數(shù)據(jù)冗余,防止刪除、插入、更新等操作時,導(dǎo)致數(shù)據(jù)不一致。3)規(guī)范化的命名。對于不同的數(shù)據(jù)庫產(chǎn)品的命名的要求也就不同,設(shè)計者在對各對象進行命名操作時,利用大小寫字母進行標(biāo)識,對于編寫后臺程序代碼也要如此,命名長度最好是控制在30字符以下。4)除了個別要求外,禁用游標(biāo)。如果對大的數(shù)據(jù)集合使用游標(biāo),很容易使得程序出現(xiàn)“漫長等待”或“死機”的現(xiàn)象。如果要使用游標(biāo),可以建立一個臨時的表,在表中輸入所需要的數(shù)據(jù),然后對臨時表進行游標(biāo)操作,這在很大程度能夠提高游標(biāo)的性能。5)對龐大的表使用索引。索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構(gòu),使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引分為聚簇索引和非聚簇索引兩種,聚簇索引是按照數(shù)據(jù)存放的物理位置為順序的,而非聚簇索引就不一樣了;聚簇索引能提高多行檢索的速度,而非聚簇索引對于單行的檢索很快。6)事務(wù)的使用。指作為單個邏輯工作單元執(zhí)行的一系列操作,它可以為非事物性單元單元內(nèi)之外的所有操作的順利完成提供保障,不斷的更新面向數(shù)據(jù)的資源。7)調(diào)整數(shù)據(jù)庫的性能。許多設(shè)計員會對數(shù)據(jù)庫設(shè)計采用以下兩種方法:其一,邏輯設(shè)計數(shù)據(jù)庫。調(diào)整性能以調(diào)整關(guān)系、減少連接運算,保持每個關(guān)系數(shù)量在合理的水平,從而使存取效率提高。時刻通過快照固定,以使查詢速度提高;其二,物理設(shè)計數(shù)據(jù)庫。主要調(diào)整內(nèi)部物理結(jié)構(gòu),合理選取存取的路徑,以增快訪問速度,提高存儲空間的利用率。8)合理的選擇數(shù)據(jù)類型。在實際的設(shè)計中,必須根據(jù)軟件開發(fā)的產(chǎn)品的規(guī)則和要求對數(shù)據(jù)類型進行選擇,從而提高數(shù)據(jù)庫的性能。
4軟件開發(fā)中的數(shù)據(jù)庫設(shè)計的理論分析
1)數(shù)據(jù)管理系統(tǒng)可在軟件開發(fā)系統(tǒng)中運行。軟件開發(fā)系統(tǒng)主要采用VisualC++系統(tǒng),可直接運行SQL語言。SQL語言是一種可程序設(shè)計、數(shù)據(jù)庫和結(jié)構(gòu)化查詢的語言,用于數(shù)據(jù)的查詢、存取機更新。同時,可作為腳本文件擴展名。開發(fā)應(yīng)用程序采用VisualC++,不僅進行數(shù)據(jù)庫訪問,還可作為開發(fā)前段的工具。VisualC++系統(tǒng)的程序開發(fā),能使遠(yuǎn)程訪問的復(fù)雜性大大降低,訪問效率大大提高。2)數(shù)據(jù)庫在軟件開發(fā)中的設(shè)計,對于數(shù)據(jù)模型的選擇應(yīng)慎重。數(shù)據(jù)庫中的數(shù)據(jù)模型可以將復(fù)雜的現(xiàn)實世界要求反映到計算機數(shù)據(jù)庫中的物理世界,而在設(shè)計時主要注意以下四個方面的因素:其一,數(shù)據(jù)模型因素。不同軟件產(chǎn)品的應(yīng)用需要不同,所以應(yīng)該根據(jù)實際的情況來選擇數(shù)據(jù)模型,大多數(shù)設(shè)計者一般都會采用關(guān)系模型,因為它是一種非過程性的模型,采用二維表來表示,二維表是由表框架和表的元組組成,當(dāng)用戶進行查詢信息時,不必對實際的物理存儲路徑進行考慮,就能很快、方便獲得準(zhǔn)確的結(jié)果。在大型的數(shù)據(jù)庫管理系統(tǒng)中,必須優(yōu)化查詢、提高關(guān)系模型的查詢效率;其二,數(shù)據(jù)庫結(jié)構(gòu)因素。數(shù)據(jù)模型中的數(shù)據(jù)結(jié)構(gòu)主要的目的是對數(shù)據(jù)的類型、性質(zhì)、內(nèi)容和數(shù)據(jù)間的聯(lián)系進行描述,它是數(shù)據(jù)模型的基礎(chǔ),不同是數(shù)據(jù)結(jié)構(gòu)操作與約束的也建立在數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上,因此必須根據(jù)具體數(shù)據(jù)結(jié)構(gòu)的實際情況分類數(shù)據(jù)模型;其三,數(shù)據(jù)約束因素。它主要是對數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、語義聯(lián)系進行描述,它們之間是制約和依存的關(guān)系,所以在具體設(shè)計中,應(yīng)該根據(jù)實踐情況和數(shù)據(jù)動態(tài)變化的規(guī)則,來保證適當(dāng)?shù)恼_、有效與相容;其四,數(shù)據(jù)操作因素。主要是對相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型、方式進行描述,所以在對數(shù)據(jù)庫進行操作時,應(yīng)該整體的處理圖形,根據(jù)實際情況的要求,使接口程序變得簡單、靈活,從而使指針占有的空間減小。
5軟件開發(fā)中的數(shù)據(jù)庫設(shè)計的實踐分析
軟件開發(fā)涉及了工業(yè)、醫(yī)療、教育等各個領(lǐng)域,筆者身為教師,也曾經(jīng)涉及過在線測試軟件的開發(fā)設(shè)計,下面就以在線測試軟件開發(fā)為依托,對其數(shù)據(jù)庫設(shè)計進行分析:1)對系統(tǒng)的總體設(shè)計應(yīng)引以重視。在對軟件進行編制時,系統(tǒng)的總體設(shè)計與軟件產(chǎn)品項目能否順利開展以及是否符合軟件開發(fā)預(yù)期的要求有著直接的關(guān)聯(lián),所以在對在線測試系統(tǒng)進行開發(fā)時,應(yīng)該根據(jù)常規(guī)軟件的開發(fā)流程來進行。2)描述從屬關(guān)系。分析在線測試中教師組卷、學(xué)生測試的信息,例如對學(xué)科試卷中分為單選題、多選題、填空題、判斷題,對這些對象進行系統(tǒng)數(shù)據(jù)庫的組織,從而使得測試題目和學(xué)科試卷之間的建立從屬的關(guān)系,同時,也使得各學(xué)科試卷之間建立了復(fù)雜的從屬關(guān)系。所以,建立從屬關(guān)系主要是考慮空間從屬關(guān)系和測試的時間順序。3)合理的實現(xiàn)文本框的窗體視圖。主要是利用以單文檔的方式來顯示表中的數(shù)據(jù),它即具有單獨使用的文檔窗體視圖風(fēng)格,而且當(dāng)輸入監(jiān)測點數(shù)據(jù)時,可以很好看到該監(jiān)測點的屬性窗口。同時,該軟件具有容錯功能,即當(dāng)用戶輸入或操作錯誤時,數(shù)據(jù)庫會自動的提示或取消操作。
6數(shù)據(jù)庫設(shè)計過程和實例分析
上面介紹了數(shù)據(jù)庫設(shè)計的原則,以“教學(xué)管理”數(shù)據(jù)庫為例,來分析數(shù)據(jù)庫設(shè)計的過程。1)需求分析階段。對用戶的需要進行分析主要包括三個方面的內(nèi)容:其一,信息需求。即用戶要從數(shù)據(jù)庫獲得的信息內(nèi)容。信息需求定義了數(shù)據(jù)庫應(yīng)用系統(tǒng)應(yīng)該提供的所有信息,注意描述系統(tǒng)中數(shù)據(jù)的數(shù)據(jù)類型;其二,處理要求,即滿足數(shù)據(jù)完成的處理功能、方式的需求,然后定義系統(tǒng)的數(shù)據(jù)處理操作。在操作執(zhí)行時,應(yīng)該考慮場合、操作、頻率等因素對數(shù)據(jù)的影響;其三,安全性、完整性的要求。在對信息、處理需求進行定義的同時,要保證安全性和完整性的約束。在分析過程中,主要是跟數(shù)據(jù)庫的使用人員進行交流,細(xì)心的了解現(xiàn)行業(yè)務(wù)處理流程,熟悉全部數(shù)據(jù)資料。例如可以對學(xué)校教學(xué)管理工作進行了解和分析,可以確定教學(xué)管理數(shù)據(jù)庫建立的目的是為了解決教學(xué)信息的組織和管理問題,主要是包括教師、學(xué)生信息管理和選課情況管理。2)概念設(shè)計階段。概念設(shè)計的目的是分析數(shù)據(jù)間內(nèi)在語義關(guān)聯(lián),在此基礎(chǔ)上監(jiān)理一個數(shù)據(jù)的抽象模型,主要是有兩種方法:其一,集中式模式設(shè)計法。它根據(jù)需求由一個統(tǒng)一機構(gòu)或人員設(shè)計一個綜合的全局模式,而且設(shè)計比較簡單,非常適用于小型或不復(fù)雜的單位和部門;其二,視圖集成設(shè)計法。主要是對一個單位進行分解,然后局部的設(shè)計分解后的每個部分,建立各個部分的視圖,以各視圖為基礎(chǔ)進行集成。例如,在教學(xué)管理中,以師生實體為聯(lián)系模型,明確學(xué)校各個部門的組成實體和屬性,然后描述學(xué)校各個年級的學(xué)籍管理和課程管理的局面環(huán)境,再將各個年級教學(xué)管理的環(huán)境進行集合,形成一個全局的視圖,從而使得數(shù)據(jù)庫能真實的反映學(xué)校的教學(xué)的管理。3)邏輯設(shè)計階段。它主要是對外模式關(guān)系視圖進行設(shè)計,主要表現(xiàn)在三個方面:其一,提供數(shù)據(jù)邏輯的獨立性。使應(yīng)用程序不受邏輯模式變化的影響,關(guān)系視圖則讓邏輯模式與應(yīng)用程序之間有隔離墻作用;其二,適應(yīng)用戶對數(shù)據(jù)的不同需求。每個數(shù)據(jù)庫有一個非常龐大的結(jié)構(gòu),它用關(guān)系視圖屏蔽用戶所不需要的模式,而僅將用戶感興趣的部分呈現(xiàn)出來;其三,有一定的保密功能。例如,在教學(xué)管理數(shù)據(jù)庫,如果有許多的老師和學(xué)生共同登錄,則采用用戶密碼登錄,互不影響,只看到自己所需要的信息數(shù)據(jù)。4)物理設(shè)計階段。它主要是對數(shù)據(jù)庫內(nèi)部物理結(jié)構(gòu)做調(diào)整并選擇合理的存儲路徑,而且一般采用索引設(shè)計、集簇和分區(qū)設(shè)計。例如,在教學(xué)管理數(shù)據(jù)庫中,它利用物理設(shè)計能夠很好的修改其中的數(shù)據(jù)和路徑。5)驗證設(shè)計階段。任何一個數(shù)據(jù)庫的設(shè)計和建立都必須經(jīng)過循環(huán)反復(fù)的驗證,一旦數(shù)據(jù)庫中的數(shù)據(jù)、步驟遭到破壞和出錯,就必須及時的進行校正恢復(fù)。在驗證階段,也為以后的運行和維護提供參考意見。6)軟件運行和維護階段。這是數(shù)據(jù)庫設(shè)計的最后環(huán)節(jié),主要是在軟件開發(fā)的數(shù)據(jù)正式運行后,對其要不斷調(diào)整和維護。
篇3
【 關(guān)鍵詞 】 數(shù)據(jù)庫;敏感數(shù)據(jù);安全加密系統(tǒng);設(shè)計
Database “Sensitive” Data Encryption System Design Research
Huang Nan
(Xinxiang Institute HenanXinxiang 453000 )
【 Abstract 】 This paper briefly expounds the data encryption technology, and then from the database " sensitive " data encryption system structure, function module and data encryption module design and the realization of three aspects of " sensitive " data security database encryption system design of related studies.
【 Keywords 】 sensitive data; database; security system; design
0 引言
隨著社會科技的不斷發(fā)展與進步,互聯(lián)網(wǎng)得到了飛速發(fā)展,計算機技術(shù)也得到了廣泛的應(yīng)用,但另一方面信息的安全問題卻日益突出,信息安全技術(shù)應(yīng)運而生并得到了極大的發(fā)展。信息安全技術(shù)的核心是數(shù)據(jù)加密技術(shù),它不僅能夠加解密數(shù)據(jù),而且還能夠鑒別、認(rèn)證數(shù)字簽名等,從而使在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)的完整性、確認(rèn)性及機密性得到了切實的保證。本文將DES算法和RSA算法的優(yōu)點結(jié)合起來,將一個數(shù)據(jù)加密系統(tǒng)設(shè)計了出來,同時將Java安全軟件包充分利用起來,實現(xiàn)了數(shù)字簽名。
1 數(shù)據(jù)加密技術(shù)
1.1 私鑰加密體制
私鑰加密體制指在加密和解密時所使用的密鑰是相同的,由兩種類型,分別是分組密碼和序列密碼。分組密碼對明文進行分組的依據(jù)是其固定的長度,用同一個密鑰加密每一個分組,從而促進等長的密文分組的產(chǎn)生。序列密碼又稱流密碼,因為它將明文數(shù)據(jù)一次加密一個字節(jié)或比特。和序列密碼相比,分組密碼使用于軟件實現(xiàn),并且具有較快的加密速度,因此在人們的日常工作和生活中得到了極為廣泛的運用。
1.2 公鑰加密體制
1976年,W.Diffie和Hellman最早提出了公鑰體制,利用兩個不同的密鑰分開加密和解密的能力是該體制最大的特點。公開密鑰在加密信息中得到了應(yīng)用,而使人密鑰則在解密信息中得到了應(yīng)用。通信雙方可以直接進行保密通信,而不需要事先交換密鑰。同時,在計算機上也不能實現(xiàn)從公開的公鑰或密文中將明文或密鑰分析出來。
2 數(shù)據(jù)庫“敏感”數(shù)據(jù)安全加密系統(tǒng)設(shè)計
2.1 數(shù)據(jù)庫“敏感”數(shù)據(jù)安全加密系統(tǒng)的體系結(jié)構(gòu)
該加密系統(tǒng)是在目前較為成熟的仿真網(wǎng)絡(luò)體系結(jié)構(gòu)HLA的基礎(chǔ)上發(fā)展起來的,由兩部分組成,分別是CA服務(wù)器端和客戶端。在聯(lián)邦成員中嵌入加密客戶端,可以對各聯(lián)邦成員之間的“敏感”數(shù)據(jù)進行加密,CA服務(wù)器則可以生成、分發(fā)及管理密鑰。聯(lián)邦成員和CA服務(wù)器之間及各個聯(lián)邦成員之間進行通訊的途徑是HLA-RTI接口。加密系統(tǒng)體系結(jié)構(gòu)如圖1所示。
2.2 數(shù)據(jù)庫“敏感”數(shù)據(jù)安全加密系統(tǒng)的功能模塊
CA服務(wù)器端與加密客戶端組成了加密系統(tǒng)的功能模塊。其中,CA服務(wù)器端的主要功能是認(rèn)證客戶端的身份、生成、存儲并分發(fā)RSA密鑰等。密鑰是在用戶口令字和大數(shù)分解理論的基礎(chǔ)上生成的,每次有一對密鑰(公鑰和私鑰)產(chǎn)生,用于對會話密鑰進行加密和數(shù)字簽名,也就是對稱加密算法AES或DES、 3DES算法的密鑰;將生成的密鑰對和申請者的用戶名聯(lián)系起來,促進一個關(guān)聯(lián)目錄的生成,以方便客戶端查找即是密鑰的存儲;依據(jù)客戶端的請求信息,在關(guān)聯(lián)目錄中將與之相匹配的信息查找出來,如果找到的話,就把密鑰向請求的客戶端發(fā)送即是密鑰的分發(fā)。
加密客戶端的主要功能是完成對文件的加密和解密、傳輸實時數(shù)據(jù)的加密和解密密文、管理和傳輸對稱加密算法的密鑰及和CA服務(wù)器交互等。其中,對稱加密算法AES或DES、 3DES及混沌序列加密算法的密鑰均在密鑰生成模塊生成;密鑰的加密傳輸模塊主要是使會話密鑰的安全得到切實的保障,也就是說,用公鑰密碼算法RSA的公鑰對會話密鑰進行加密,然后一起傳輸加密后的密鑰和密文,在解密端,為了得到會話密鑰,可以使用TSA的私鑰來進行解密;實時數(shù)據(jù)的加密和解密模塊的基礎(chǔ)是混沌特性,在加密或解密實時數(shù)據(jù)時利用混沌序列密碼算法。加密系統(tǒng)的功能模塊劃分如圖2所示。
2.3 數(shù)據(jù)加密模塊的設(shè)計與實現(xiàn)
混合加密體制是數(shù)據(jù)加密系統(tǒng)所使用的,它將對稱密碼算法具有的較快的賈母速度、較高的加密強度、較高效的加解密大量數(shù)據(jù)等能力進行了充分的運用;公鑰密碼算法具有較高的加密強度,密鑰便于管理。為了彌補傳統(tǒng)密碼算法中不便于傳遞密鑰的缺點,可以加密明文的密鑰。將二者結(jié)合起來,可以實現(xiàn)數(shù)據(jù)傳輸?shù)陌踩浴?/p>
2.3.1 3DES算法的設(shè)計與實現(xiàn)
目前,雖然DES具有較為廣泛的應(yīng)用范圍,并且人們可以很方便地從公開渠道獲取,但是因為DES只有56位的密鑰長度,易于攻擊,其加密強度已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足現(xiàn)代安全的需要,因此可以將兩個56位的密鑰混合起來使用來完成加解密,這樣密鑰就達(dá)到了112位的長度,從而大大增強了加密強度,這就是3DES。3DES的算法原理如圖3所示。
圖3中密鑰K1、K2是隨機產(chǎn)生的。
三重DES算法的實現(xiàn)主要包括DES類和THREE類兩個類。其中DES類的主要函數(shù)是public static byte [] encrypt(byte [] oword64 , int [] [] iSubKeys ) // 加密;public static byte [] decrypt (byte [] bCipher-text , int [] [] SubKeys ) // 解密。THREE類的主要函數(shù)是public static byte [] encrypt(byte [] oword , int [] [] SubKeys1 , int [] [] SubKeys2 ) // 解密;public static byte [] decrypt (byte [] sword , int [] [] SubKeys1, int [] [] SubKeys2) // 加密,返回明文。
2.3.2 RSA算法的設(shè)計與實現(xiàn)
大數(shù)分解是RSA的安全性賴以存在的基礎(chǔ)。公鑰和私鑰都是兩個大素數(shù)的函數(shù)。RSA算法的實現(xiàn)主要包括三個部分,即生成密鑰、加密數(shù)據(jù)和解密數(shù)據(jù)。在變量的定義方面,在對p、q、n、e、d、t進行定義時,利用Java中的大數(shù)BigInterger();在密鑰的生成方面,利用public boolean generatePQNTED(Stringe);在加密數(shù)據(jù)方面,利用public String Encrypt (String msg 、BigInteger pbkey 、BigIntiger n ) ,在加密的過程中,在對所要加密的字節(jié)數(shù)組進行分組時,可以利用轉(zhuǎn)換函數(shù)copyBytes();在解密數(shù)據(jù)的過程中,利用之前產(chǎn)生的公鑰n與私鑰d。把所要解密的數(shù)據(jù)與公鑰n與私鑰d作為參數(shù)向加密函數(shù)public String Decrypt (String msg , BigInteger prikey , BigInteger n ) 傳遞。
RSA只有在大數(shù)運算的基礎(chǔ)上才能實現(xiàn),只有這樣才能執(zhí)行大量的大數(shù)加減乘除和模逆、模冪運算。這就導(dǎo)致相對于其他特別是對稱密鑰算法來說,RSA的實現(xiàn)效率十分低下。本文設(shè)計的系統(tǒng)中生成的DES密鑰用RSA替代的原因也就是這種速度上的差異。
本文設(shè)計的數(shù)據(jù)庫“敏感”數(shù)據(jù)安全加密系統(tǒng),將數(shù)據(jù)的加密技術(shù)和簽名技術(shù)綜合了起來,一方面解決了密鑰的管理問題,另一方面也使數(shù)據(jù)的不可否認(rèn)性及完整性得到了切實的保障,同時也將該系統(tǒng)網(wǎng)絡(luò)通信的程序設(shè)計和界面設(shè)計方法提供了出來。本系統(tǒng)將集中主要的加密算法進行了具體的分類,使代碼的高效性、可擴展性等得到了有效地增強,有利于以后的再次開發(fā)。
參考文獻
[1]胡向東,魏琴芳.應(yīng)用密碼學(xué)[M].北京:電子工業(yè)出版社.2006.
[2]賀雪晨,陳林玲,趙琰.信息對抗與網(wǎng)絡(luò)安全[M].北京:清華大學(xué)出版社.2006.
[3]褚雄,王子敬,王勇.一種基于FPGA的DES加密算法實現(xiàn)[J].江南大學(xué)學(xué)報(自然科學(xué)版),2006,15(6):661—664.
[4]朱作付,徐超,葛紅美.基于DES和RSA算法的數(shù)據(jù)加密傳輸系統(tǒng)設(shè)計[J].通信技術(shù),2010,43(4).
[5]Compag,HewIett-Packard,InteI,Lucent,Microsoft,NEC,PhiIips.UniversaI Bus Specification(Revision 2. 0)[M]. InteI,2000.
[6] Teo Pock Chueng,et al. Implementation of Pipelined Data Encryption
Standard(DES)Using Altera CPLD[J]. IEEE,2OOO,O-78O3-6355-8:III-l7- III-2l.
篇4
【關(guān)鍵詞】數(shù)據(jù)庫 連接技術(shù) 連接類
1 前言
任何一個稍微有點規(guī)模的Web應(yīng)用都離不開后臺數(shù)據(jù)庫系統(tǒng)的支持。商業(yè)的數(shù)據(jù)庫系統(tǒng)主流有Oracle、DB2、MS SQL Server和Sybase等,而除了這些商業(yè)數(shù)據(jù)庫外還有一些開源免費的數(shù)據(jù)庫系統(tǒng)可以選擇,對數(shù)據(jù)庫的使用已經(jīng)成為一種常態(tài),本文著力于數(shù)據(jù)庫連接技術(shù)的探討,有助于電子商務(wù)應(yīng)用技術(shù)的發(fā)展。
2 數(shù)據(jù)庫連接的設(shè)計
在設(shè)計數(shù)據(jù)庫連接的時候我們可以應(yīng)用純JAVA的連接,如果應(yīng)用橋連接的方式效率會被大打折扣。我們可以通過設(shè)計專門的用來連接數(shù)據(jù)庫和進行相關(guān)數(shù)據(jù)庫操作的類。
數(shù)據(jù)庫的連接使用連接池來實現(xiàn),有了連接池以后就可以在連接請求來的時候分配給一個連接,當(dāng)連接用過之后就可以回收到連接池中,這樣就提高了效率。
連接池是配置在tomcat路徑下面的conf文件夾下面的server.xml文件里面,連接池的實現(xiàn)使用下面的代碼來進行的:
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="sa"
password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yidong"/>
其具體實現(xiàn)方式含有以下功能:
1)服務(wù)器的地址為localhost。
2)應(yīng)用的根路徑為webapps。
3)在元素下面指定了連接池的路徑為yidong。
4)文本路徑為yidong。
5)資源的名稱為jdbc/yidong。
6)連接池最大活動連接數(shù)為100。
7)最大等待時間為10秒。
8)連接數(shù)據(jù)庫的用戶名為sa。
9)密碼為sa。
10)驅(qū)動為:com.microsoft.jdbc.sqlserver.SQLServerDriver。
11)url為jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yidong。
3 數(shù)據(jù)庫連接類的實現(xiàn)
下面我們定義兩個方法,一個從連接池中獲取一個連接,另一個方法用來關(guān)閉連接,有兩個對象,分別為連接池對象:pool和數(shù)據(jù)庫連接對象:connection。
public class DbConnection {
static private DataSource pool = null; // 聲明連接池
private Connection connection = null; // 聲明一個連接
// 初始化連接池
public DbConnection(String dataSourceName) throws NamingException, SQLException {
//保證只有第一次使用才會建立連接池
if (pool == null) {
Context env = (Context) new InitialContext()
.lookup("java:comp/env");// 獲得當(dāng)前的JNDI對象
pool = (DataSource) env.lookup(dataSourceName);//獲得連接池
}
connection=pool.getConnection();//獲得一個數(shù)據(jù)庫連接
}
// 關(guān)閉連接
public void close() throws SQLException {
if (connection != null) {
connection.close();
}
}
public Connection getConnection() {
return connection;
}
4 前文總結(jié)
本文探討了數(shù)據(jù)庫連接技術(shù)的實現(xiàn),給出了一種效率很高的數(shù)據(jù)庫的連接技術(shù),可以在各行各業(yè)的電子商務(wù)應(yīng)用中被采用。
作者簡介
夏小翔(1973-),男,湖北省鄂州市人,鄂州職業(yè)大學(xué)計算機系講師,碩士,研究方向為群體智能算法。
篇5
主要包括按模擬企業(yè)、時間、商品、市場等不同類別統(tǒng)計各項經(jīng)營數(shù)據(jù),如模擬企業(yè)資產(chǎn)、庫存、銷售收入、市場占用等數(shù)據(jù),通過所存儲的大量數(shù)據(jù)分析企業(yè)經(jīng)營效果,總結(jié)得失,并能夠為調(diào)整學(xué)員的經(jīng)營方案和驗證管理理論提供有價值的參考數(shù)據(jù)。
2、概念結(jié)構(gòu)設(shè)計
概念結(jié)構(gòu)也稱為概念模型,是對用戶所提供的原始數(shù)據(jù)進行綜合,抽象出數(shù)據(jù)庫系統(tǒng)所要研究的數(shù)據(jù),將現(xiàn)實世界中的事物及其聯(lián)系,轉(zhuǎn)換成信息世界中的實體及其聯(lián)系。概念結(jié)構(gòu)設(shè)計必須將需求分析得到的用戶數(shù)據(jù)和需求抽象為反映用戶觀點的概念模型,是用戶與數(shù)據(jù)庫人員之間進行交流的工具,其主要表現(xiàn)形式為E-R模型圖。圖中矩形框表示實體集;菱形框表示實體集之間的聯(lián)系。
3、邏輯結(jié)構(gòu)設(shè)計
邏輯結(jié)構(gòu)設(shè)計主要任務(wù)是綜合考慮關(guān)系型DBMS的性能和所設(shè)計模擬系統(tǒng)的功能復(fù)雜程度,將概念結(jié)構(gòu)轉(zhuǎn)換為邏輯模式,即各個關(guān)系模式的結(jié)構(gòu)設(shè)計,包括各關(guān)系模式的名稱、每一關(guān)系模式中各屬性的名稱、數(shù)據(jù)類型和取值范圍等內(nèi)容。將E-R模型轉(zhuǎn)換成初始的關(guān)系模型,然后分析每一個關(guān)系模式的合理性,通過關(guān)系模式的規(guī)范化消除其中不合理模式。E-R模型中的實體和聯(lián)系經(jīng)過規(guī)范化處理轉(zhuǎn)換為關(guān)系模式如下:(1)學(xué)員(學(xué)號、姓名、擔(dān)任角色、性別、企業(yè)代碼),學(xué)員通過學(xué)號標(biāo)識。(2)門店(門店編碼、容積、最低購買價、最低租賃價、等級、信息化程度、企業(yè)代碼、獲取時間、獲取方式、金額),門店通過門店編碼標(biāo)識。(3)模擬企業(yè)(企業(yè)代碼、登錄密碼、名稱、人數(shù)),模擬企業(yè)通過企業(yè)代碼標(biāo)識。(4)商品(商品代碼、名稱、采購價、容積需求、采購提前期),商品通過商品代碼標(biāo)識。(5)客戶訂單(訂單編碼、需求商品、數(shù)量、賬期、企業(yè)代碼、市場代碼、簽約時間、售價、其他要求),客戶訂單通過訂單編碼標(biāo)識。(6)市場(市場代碼、類別、開發(fā)時間、開發(fā)資金),市場通過市場代碼標(biāo)識。(7)現(xiàn)金流量表(編號、時間、收支類別、項目名稱、金額),現(xiàn)金流量表通過編號標(biāo)識。(8)市場開發(fā)(市場代碼、企業(yè)代碼、時間、金額),市場開發(fā)通過市場代碼和企業(yè)代碼組合標(biāo)識。(9)采購(企業(yè)代碼、商品代碼、時間、數(shù)量),采購?fù)ㄟ^商品代碼和企業(yè)代碼組合標(biāo)識。(10)配貨(企業(yè)代碼、商品代碼、門店編碼、時間、數(shù)量、定價),配貨通過商品代碼、門店編碼和企業(yè)代碼組合標(biāo)識。
4、數(shù)據(jù)庫實現(xiàn)
4.1建立存儲過程由于使用的是關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)處理都是通過SQL語言完成的,其中有大量數(shù)據(jù)的插入、更新與刪除,甚至還需要進行大量的運算,所以直接提交SQL語句并讓DBMS進行編譯再執(zhí)行的話,處理的效率較低,而建立存儲過程是一種有效解決手段。存儲過程是一種存儲在數(shù)據(jù)庫服務(wù)器上的SQL操作[3],這樣很多數(shù)據(jù)處理流程都在后臺以存儲過程的方式來實現(xiàn),即有利于提高系統(tǒng)的運行效率,又可提高系統(tǒng)的可維護性和可擴展性。
4.2設(shè)計索引在模擬經(jīng)營中各模擬企業(yè)經(jīng)常性的要查詢公共信息,而且這種查詢的時間性非常明顯,所以設(shè)計索引可以顯而易見的優(yōu)化系統(tǒng)性能,對所有用于時間排序的列創(chuàng)建索引,可以避免整表掃描或訪問。在不改變表物理結(jié)構(gòu)的情況下,直接訪問特定的數(shù)據(jù)列以減少數(shù)據(jù)存取時間;把數(shù)據(jù)分散到不同的頁面上,可以分散插入的數(shù)據(jù);主鍵自動建立了唯一索引,能確保數(shù)據(jù)的唯一性。
5、結(jié)語
篇6
遼寧省為加強對水利工程建設(shè)項目的全過程動態(tài)監(jiān)管,在借鑒探索的基礎(chǔ)上,對監(jiān)管內(nèi)容全覆蓋、信息共享、標(biāo)準(zhǔn)化、面向?qū)ο?、約束機制、查詢統(tǒng)計等層面進行設(shè)計,建立了多方認(rèn)可、程序嚴(yán)密、動靜結(jié)合、報管分離的水利工程建設(shè)項目動態(tài)數(shù)據(jù)庫,為實現(xiàn)水利建設(shè)項目信息化監(jiān)督管理奠定了堅實的基礎(chǔ)。
[關(guān)鍵詞]
水利工程;數(shù)據(jù)庫;設(shè)計;動態(tài)管理;遼寧省
近年來,水利基礎(chǔ)設(shè)施建設(shè)力度不斷加大,病險水庫除險加固、飲水安全、灌區(qū)節(jié)水改造、泵站更新改造、水土保持、引輸水工程等建設(shè)項目呈現(xiàn)出點多、面廣、量大,管理主體分散,管理對象多樣化等特征,水利建設(shè)管理呈現(xiàn)出投資強度高、建設(shè)任務(wù)重、管理要求高、工作責(zé)任大等新的特點[1]。在新的形式下,遼寧省為全面做好水利工程建設(shè)與管理工作,在借鑒探索的基礎(chǔ)上,提出開展水利工程建設(shè)項目動態(tài)管理系統(tǒng)建設(shè),重點研究了水利工程建設(shè)項目動態(tài)數(shù)據(jù)庫建設(shè)工作,現(xiàn)將設(shè)計要點進行交流分享。
1設(shè)計要點
數(shù)據(jù)庫設(shè)計是應(yīng)用系統(tǒng)設(shè)計的根基,數(shù)據(jù)庫設(shè)計關(guān)乎系統(tǒng)功能實現(xiàn)度、穩(wěn)定性、擴展性等多個方面的內(nèi)容[2]。為確保水利工程建設(shè)項目動態(tài)數(shù)據(jù)庫達(dá)到“把數(shù)據(jù)管起來,將數(shù)據(jù)用起來,使數(shù)據(jù)活起來的”的預(yù)期目標(biāo),特對數(shù)據(jù)庫在內(nèi)容覆蓋、信息共享、標(biāo)準(zhǔn)化、面向?qū)ο?、約束條件、查詢統(tǒng)計等方面進行了重點設(shè)計。
1.1全過程覆蓋依據(jù)遼寧水利建設(shè)項目管理經(jīng)驗,將水利建設(shè)項目管理有關(guān)字段按照建設(shè)過程進行科學(xué)劃分,按項目實施過程劃分為前期工作、項目基本信息管理、建設(shè)過程管理三大階段,按項目管理內(nèi)容分為前期工作、項目基本情況、項目招投標(biāo)、參建單位及人員履行合同情況、進度管理、計劃和資金管理、質(zhì)量管理、安全管理、檢查稽察督查審計及整改情況、竣工驗收等10個環(huán)節(jié)[3],對管理內(nèi)容進行全面覆蓋。
1.2信息互聯(lián)共享在遼寧水利信息化整合建設(shè)的背景下,嚴(yán)格執(zhí)行數(shù)據(jù)來源唯一性的原則,充分利用現(xiàn)有系統(tǒng)的權(quán)威數(shù)據(jù)。與水利建設(shè)項目管理有關(guān)的設(shè)計、施工等單位和人員信息,采取“同存異消”的方針,對遼寧省水利建設(shè)市場信用信息平臺系統(tǒng)中的數(shù)據(jù)字段進行整理,作為水利建設(shè)項目動態(tài)管理系統(tǒng)數(shù)據(jù)庫的字段內(nèi)容,確保此類信息同源權(quán)威;同時結(jié)合質(zhì)檢處等有關(guān)處室意見,合理設(shè)置數(shù)據(jù)字段,為今后相關(guān)處室新建或改建系統(tǒng)提供數(shù)據(jù)接口。
1.3標(biāo)準(zhǔn)化處理設(shè)計標(biāo)準(zhǔn)化是組織現(xiàn)代化生產(chǎn)的重要手段,是科學(xué)管理的重要組成部分,加強數(shù)據(jù)庫建設(shè)的標(biāo)準(zhǔn)化處理在數(shù)據(jù)庫建設(shè)中尤為重要[4]。水利建設(shè)項目面廣類多,主要可分為水庫、水閘、泵站等工程建設(shè)項目、水土保持治理項目、移民后期扶持項目、水文測站項目、農(nóng)村電氣化項目以及河流治理項目等幾大類別。為保障水利工程建設(shè)項目動態(tài)管理數(shù)據(jù)庫標(biāo)準(zhǔn)統(tǒng)一,特采取“求大同存小異”的方針,對全部項目的前期工作、項目信息管理、除進度管理以外的過程管理進行規(guī)范化處理,在字段設(shè)計上統(tǒng)籌兼顧,歸一化處理,形成統(tǒng)一標(biāo)準(zhǔn);因不同項目在進度管理中體現(xiàn)的指標(biāo)不一樣,比如農(nóng)村電氣化項目主要體現(xiàn)在發(fā)電設(shè)備采購、安裝方面,水土保持治理項目體現(xiàn)在魚鱗坑、截水溝、植被綠化的數(shù)量、長度和面積上,水庫、水閘等工程項目體現(xiàn)在土石挖方、混凝土澆筑體積上,特采取先差異化后標(biāo)準(zhǔn)化進行處理。通過標(biāo)準(zhǔn)化處理設(shè)計,大大提高數(shù)據(jù)庫的兼容和共享,提高數(shù)據(jù)庫的通用性,特別利用降低建設(shè)成本和方便數(shù)據(jù)庫用戶使用。
1.4面向?qū)ο笤O(shè)計數(shù)據(jù)是系統(tǒng)的靈魂,活的數(shù)據(jù)是系統(tǒng)生命的保證。水利工程項目動態(tài)管理數(shù)據(jù)涉及到項目法人,設(shè)計、施工、監(jiān)理單位及人員、質(zhì)檢處、安監(jiān)處、建設(shè)與管理處等眾多機構(gòu)和人員,這些信息都需要納入數(shù)據(jù)庫中,為保障數(shù)據(jù)更新及時、穩(wěn)定,就必須面向?qū)ο髞碓O(shè)計??紤]到項目法人在整個項目中的主導(dǎo)作用和穩(wěn)定性,數(shù)據(jù)更新以項目法人為主導(dǎo)、質(zhì)檢處輔助來進行設(shè)計。不同對象對項目管理的側(cè)重點也不同,考慮用戶在系統(tǒng)使用過程中的權(quán)限分配,在對數(shù)據(jù)庫表的處理上,按照項目法人、參建單位、監(jiān)督機構(gòu)、建管機構(gòu)、管理員等5類人員進行分類標(biāo)識,支撐系統(tǒng)交互界面的設(shè)計與調(diào)用。
1.5約束機制設(shè)計提供約束條件機制、完整性檢查方法、違約處理是維護數(shù)據(jù)庫完整性的充分必要條件。水利工程建設(shè)項目動態(tài)管理數(shù)據(jù)庫在約束機制上主要體現(xiàn)在以下幾個方面:1)對數(shù)值的自動求和計算方面,避免人工錄入出現(xiàn)計算錯誤;2)對參建單位人員方面,系統(tǒng)自動調(diào)取遼寧省水利建設(shè)市場信用信息平臺中的入庫資料供填報人員選取,確保各類人員符合相關(guān)資格;3)對持證上崗人員出現(xiàn)一員多崗現(xiàn)象及失信懲戒人員進行紅色警示。
1.6查詢統(tǒng)計設(shè)計數(shù)據(jù)檢索與查詢也是數(shù)據(jù)庫的主要功能之一[5]。為便于對水利工程建設(shè)項目進行統(tǒng)計查詢,特在數(shù)據(jù)庫設(shè)計上充分考慮查詢或統(tǒng)計的口徑,結(jié)合遼寧水利建設(shè)管理需要,設(shè)計了年度、工程類別、業(yè)務(wù)處室、行政區(qū)劃、投資來源等5類統(tǒng)計口徑。其中工程類別和業(yè)務(wù)處室劃分要與遼寧省水利投資統(tǒng)計軟件相銜接,確保水利建設(shè)投資統(tǒng)計結(jié)果與本庫中的建設(shè)進度統(tǒng)計能對應(yīng)分析。
2結(jié)語
遼寧省水利工程建設(shè)項目動態(tài)數(shù)據(jù)庫設(shè)計是對遼寧水利工程建設(shè)監(jiān)督管理的一次全方位梳理。經(jīng)過查閱了大量的法規(guī)文件,多次征集有關(guān)部門意見,仔細(xì)分析數(shù)據(jù)上報程序,形成了多方認(rèn)可、程序嚴(yán)密、動靜結(jié)合、報管分離的水利工程建設(shè)動態(tài)數(shù)據(jù)庫,以此庫為基礎(chǔ),研發(fā)遼寧省水利工程建設(shè)項目動態(tài)管理信息系統(tǒng),將高效支撐和提升遼寧水利建設(shè)與管理效能,為水利建設(shè)管理改革發(fā)展提供新的起點。
[參考文獻]
[1]陳雷.堅持改革創(chuàng)新強化建設(shè)管理努力開創(chuàng)水利建設(shè)與管理工作新局面[EB/OL].
[2]傘穎,高輝.淺談數(shù)據(jù)庫設(shè)計在系統(tǒng)設(shè)計中的重要性[J].中國校外教育,2013(24):168—169.
[3]中華人民共和國水利部.SL223-2008,水利水電建設(shè)工程驗收規(guī)程[S].北京:中國水利水電出版社,2008:1—10.
[4]雷躋華,孫宏琦.數(shù)據(jù)庫建設(shè)管理之我見[J].情報雜志,1997,16(3):72—73.
篇7
關(guān)鍵詞:網(wǎng)上書店;數(shù)據(jù)庫設(shè)計;MS SQL Server2000
中圖分類號:TP3文獻標(biāo)識碼:A文章編號:1673-0992(2011)01-0370-02
書店作為一種信息資源的集散地,圖書和顧客的各種數(shù)據(jù)繁多。在現(xiàn)今飛速發(fā)展的信息時代,各行各業(yè)都離不開使用計算機進行信息數(shù)據(jù)的管理。其優(yōu)點:1、可以解決基于文本、表格等紙介質(zhì)的手工處理,快速處理圖書銷售情況(如銷量、庫存)的統(tǒng)計與核實,查看顧客的消費記錄,圖書銷量排行榜等,大大提高了工作效率。2、數(shù)據(jù)存儲量大,易保存,易查找,安全可靠。3、對歷史數(shù)據(jù)的查詢,翻閱比手工記錄方便快捷,提高了準(zhǔn)確性。4、使工作更加有規(guī)律,更加系統(tǒng),能夠?qū)D書及顧客的各種情況進行及時、準(zhǔn)確、有效的處理。本系統(tǒng)就是為了管理好書店信息而設(shè)計的
一、應(yīng)用需求分析
網(wǎng)上書店系統(tǒng)需滿足三方面的需求,分別是消費者,書店工作人員和書店管理人員。消費者的需求:1、查詢書店所有書籍(如名稱、作者、價格等);2、查看個人消費記錄(書本價格、購買數(shù)量、賬戶余額等);3、修改個人信息(如姓名、地址、聯(lián)系方式等)。書店工作人員的需求:1、對消費者的注冊信息進行審核,管理;2、對消費者的咨詢進行解答并對購買信息進行確認(rèn);3、形成購書報表供書店管理人員查看確認(rèn)。書店管理人員的需求:1、對書店工作人員、消費者、圖書的各項信息進行管理和維護;2、維護并生成各種報表,掌握書店的各種信息,以便下一步操作(如進貨或促銷等)。
消費者應(yīng)該可以直接查看書店的各種圖書信息,可以根據(jù)本人id和密碼登錄系統(tǒng),進行購買圖書、查看歷史購買記錄和個人信息的查看、修改。為保護消費者的個人隱私,消費者只可查詢和維護自己的各種信息。
書店工作人員可以修改書店所有圖書的資料信息、有權(quán)限修改消費者提交后的購書情況。
書店管理人員要實現(xiàn)對圖書、消費者、總體銷售情況的信息進行管理和統(tǒng)計,以及工作人員和管理人員信息的查看和維護。書店管理人員不僅可以查詢、修改、添加、刪除和統(tǒng)計圖書的基本信息,還可以查詢、修改、添加、刪除和統(tǒng)計圖書消費者的基本信息,但限制不能修改、添加和刪除銷售信息。
圖1 網(wǎng)上書店應(yīng)用需求的總結(jié)
二、系統(tǒng)數(shù)據(jù)流圖
根據(jù)以上所做的需求分析,并略掉一些細(xì)節(jié)(如不考慮書店工作人員和管理員的登錄;對記錄的維護),得出以下兩層數(shù)據(jù)流圖。
三、系統(tǒng)數(shù)據(jù)庫設(shè)計
I備拍釕杓篇
在概念設(shè)計的階段中,應(yīng)從用戶的視角看待數(shù)據(jù)及處理要求和約束,產(chǎn)生一個概念模式來反映用戶觀點。再將概念模式轉(zhuǎn)換為邏輯模式。在設(shè)計過程中把概念設(shè)計獨立出來,便可以相對單一化各階段的任務(wù),大大降低設(shè)計復(fù)雜程度,并且不受特定DBMS的限制。
數(shù)據(jù)庫的概念設(shè)計可以利用ER方法,將其分成三個步驟:首先,設(shè)計局部ER模式;接著,將各局部ER模式綜合為一個全局模式,最后優(yōu)化全局ER模式,得到一個最終模式,即概念模式。
1本植E-R圖的設(shè)計
E-R(Entity-Relationship)又稱實體關(guān)系圖。E-R模型的三個基本要素是實體、屬性和聯(lián)系。針對每一對象畫出該對象信息的局部E―R圖,確定該對象視圖的實體、屬性和聯(lián)系。實體,一般是名詞,即數(shù)據(jù)對象。本數(shù)據(jù)庫中的圖書、顧客等都為實體。屬性,一般是名詞,即實體的各個特征,一個實體存在多個屬性。例如:圖書實體中包括編號、名稱、作者、價格等多個屬性。聯(lián)系是實體間的關(guān)聯(lián)集合,一般是動詞。如顧客和圖書兩個實體通過查詢進行聯(lián)系。需要注意的是:聯(lián)系的種類分為一對一聯(lián)系(1:1)、一對多聯(lián)系(1:n)、多對多聯(lián)系(m:n)。若有聯(lián)系,不管是實體內(nèi)部之間的聯(lián)系,還是兩個實體之間存在聯(lián)系,或多個實體之間存在聯(lián)系,需要進一步確定為哪種聯(lián)系。
根據(jù)需求。定義實體與屬性如下:
圖書(圖書編號,圖書名稱,作者,出版社,出版日期,類別,書目,價格)
顧客(id,密碼,姓名,性別,身份證,電話,地址,余額)
賬目(時間,id,圖書編號,數(shù)量,金額)
庫存(圖書編號,數(shù)量,購入時間)
2閉體E-R圖的設(shè)計
所有局部E-R圖都設(shè)計完成后,綜合局部E―R圖成為一個單一的全局概念結(jié)構(gòu),生成總體E―R圖。在綜合過程中去掉不必要的聯(lián)系,同時要消除冗余。整體E―R圖必須體現(xiàn)出所有局部E-R圖(包括實體、屬性和聯(lián)系),而且必須是一個合理的、完整的、一致的數(shù)據(jù)庫概念結(jié)構(gòu)。具體步驟如下:
1奔觳楦魘堤逡約捌渲械氖糶裕確認(rèn)屬性中哪個是唯一標(biāo)識(在這個實體中是唯一存在的),哪一個屬性作為公共實體類型(作為實體與實體間合并的基礎(chǔ))。這一步可以通過設(shè)立主、外鍵,來體現(xiàn)實體本身、實體與實體之間的映射關(guān)系。
2倍躍植E-R圖進行合并。通過公共實體類型即表中的主、外鍵,進行兩兩合并,并加入獨立的局部結(jié)構(gòu),然后進行優(yōu)化,消除沖突、冗余(如屬性沖突、結(jié)構(gòu)沖突、命名沖突),使之成為一個通用的并被接受的概念模型。
3弊詈蠖哉體E-R圖進行優(yōu)化。除了要滿足用戶所有的功能需求外,還要盡量簡潔,以提高數(shù)據(jù)庫系統(tǒng)的利用率。
綜合以上所述,“網(wǎng)上書店數(shù)據(jù)庫系統(tǒng)”的全局ER模式如圖4所示。
II憊叵凳據(jù)庫的設(shè)計
數(shù)據(jù)庫管理系統(tǒng)(DBMS)大多數(shù)是建立在關(guān)系模型上的,因此又稱為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。關(guān)系型數(shù)據(jù)庫實際上是一些相關(guān)的表和其它數(shù)據(jù)庫對象的集合。在設(shè)計過程中,一個實體或?qū)嶓w間的聯(lián)系就是一個表,每個表又包含行(記錄)和列(字段);表與表之間是相互關(guān)聯(lián)的,通過主鍵和外鍵建立關(guān)系;一個關(guān)系數(shù)據(jù)庫中不僅有多個表,還有其他對象,如視圖、索引、存儲過程等。數(shù)據(jù)庫的設(shè)計過程就是把完整的整體E-R圖轉(zhuǎn)化為關(guān)系模式的過程。通過關(guān)系數(shù)據(jù)庫的設(shè)計原則和設(shè)計步驟,并加以優(yōu)化得到如下一組關(guān)系模型:
1背跏脊叵的P酮
book(圖書編號,圖書名稱,作者,出版社,出版日期,類別,書目,價格)
class(類別,類別名,類別信息)
user(id,密碼,姓名,性別,身份證,電話,地址,余額)
sale(時間,id,圖書編號,數(shù)量,金額)
stock(圖書編號,數(shù)量,購入時間)
2備據(jù)設(shè)計中出現(xiàn)的問題,本文特加入兩個關(guān)系模式:
1)發(fā)貨:用于工作人員在顧客購買成功后臨時存儲顧客和所買圖書信息,以便盡快將圖書送達(dá)。
2)缺貨:用于存儲已經(jīng)賣空但顧客還要購買的圖書,以便書店管理員能夠盡快發(fā)現(xiàn)缺貨圖書并及時進貨。
III筆據(jù)庫的實現(xiàn)
本文的數(shù)據(jù)庫設(shè)計使用的是Microsoft SQL Server2000(企業(yè)版)。首先創(chuàng)建四個基本數(shù)據(jù)庫表如表1-7所示,然后根據(jù)整體E-R圖,建立各表之間的聯(lián)系,如圖5所示。
表1 顧客基本信息表的結(jié)構(gòu)(User)?
表2 圖書信息表的結(jié)構(gòu)(Book)
表3 圖書類別信息表的結(jié)構(gòu)(Class)
表4 銷售記錄信息表的結(jié)構(gòu)(sale)
表5 庫存信息表的結(jié)構(gòu)(stock)
表6 發(fā)貨情況臨時存儲信息表的結(jié)構(gòu)(mail)
mail(id,姓名,電話,地址,圖書編號,圖書名稱,數(shù)量)
表7 缺貨信息表的結(jié)構(gòu)(none)
none(圖書編號,圖書名稱,出版社)
圖5 數(shù)據(jù)庫表間聯(lián)系圖
隨著網(wǎng)絡(luò)普及,電子商務(wù)的飛速發(fā)展,本文通過人們熟悉網(wǎng)上購物,通過結(jié)合數(shù)據(jù)庫的理論基礎(chǔ)以及MS SQL Server2000軟件的應(yīng)用,來展示一個數(shù)據(jù)庫從最初構(gòu)架到最終完成所需的一系列步驟,對整個流程有一個了解。本文仍有很多不足以及錯誤,希望可以指出改正。
參考文獻:
[1]薩師煊,王珊。數(shù)據(jù)庫系統(tǒng)概論(第三版)。高等教育出版社。
[2]張晨曦,王志英,戴葵,朱海濱。計算機體系結(jié)構(gòu)。高等教育出版社。
篇8
[關(guān)鍵詞]UML 面向?qū)ο?關(guān)系型數(shù)據(jù)庫
中圖分類號:TaxB 文獻標(biāo)識碼:A 文章編號:1009-914X(2014)17-0243-01
1、引言
在傳統(tǒng)的數(shù)據(jù)庫設(shè)計中,E-R圖一直作為一門十分重要的工具來對數(shù)據(jù)進行建模,但是隨著數(shù)據(jù)庫規(guī)模的擴大,簡單的E-R模型結(jié)構(gòu)無法清晰地分析和描述問題,導(dǎo)致系統(tǒng)開發(fā)難度系數(shù)增大。為了更好的解決這一問題,近年來UML建模技術(shù)被廣泛的應(yīng)用于數(shù)據(jù)庫設(shè)計領(lǐng)域。UML是最為廣泛使用的面向?qū)ο笙到y(tǒng)的標(biāo)準(zhǔn)建模方法,采用UML的分析方法設(shè)計數(shù)據(jù)庫,能夠使數(shù)據(jù)庫模型清晰易懂,能夠更加清晰地反映系統(tǒng)結(jié)構(gòu),易于開發(fā),縮短了系統(tǒng)開發(fā)周期。另一方面,現(xiàn)在的開發(fā)環(huán)境大多是面向?qū)ο蟮?,而存儲機制往往是基于功能分解的關(guān)系型數(shù)據(jù)庫,支持的數(shù)據(jù)庫模型中,關(guān)系型數(shù)據(jù)庫是最普遍的。事實上,目前較為流行的對象關(guān)系數(shù)據(jù)庫模型也是關(guān)系數(shù)據(jù)庫模型的一個擴展,因此,在關(guān)系數(shù)據(jù)庫設(shè)計中,UML可以完成標(biāo)準(zhǔn)ER模型的所有建模工作,而且可以描述ER模型所不能表示的關(guān)系。用UML進行數(shù)據(jù)庫設(shè)計使商務(wù)和應(yīng)用團隊可以共享公共的語言,并與數(shù)據(jù)庫團隊進行有效溝通。
本文先簡單介紹一些基本的概念,接著討論將UML類圖中的數(shù)及其對象映射成關(guān)系型數(shù)據(jù)庫中的表的方法。最后結(jié)合一個實例來說明從UML模型關(guān)系數(shù)據(jù)庫之間的轉(zhuǎn)化。
2、屬性、類以及類之間的關(guān)系
2.1 屬性。對象屬性對應(yīng)于數(shù)據(jù)庫表的字段,對象屬性類型對應(yīng)數(shù)據(jù)庫表的域。
2.2 類。將問題域中的實體抽象為對象模型,在對象模型的基礎(chǔ)上進一步抽象為類并將類映射為數(shù)據(jù)庫的概念模型,是關(guān)系數(shù)據(jù)庫設(shè)計的關(guān)鍵所在。將類名、屬性以及對屬性進行的相關(guān)操作組成一個完整的類模型。
3.2 屬性類型映射為域。類的屬性描述了其所有對象共有的特性。屬性的類型可以是基本數(shù)據(jù)類型,如整數(shù)、實數(shù)、布爾型等,也要以是用戶自定義類型。屬性類型對應(yīng)于數(shù)據(jù)庫中的域,域的使用可使數(shù)據(jù)庫設(shè)計更具一致性,優(yōu)化了數(shù)據(jù)庫應(yīng)用的移植性。一般來說,實現(xiàn)簡單域比較方便,只須定義相應(yīng)的數(shù)據(jù)類型和空間大小。對于每個屬性所聯(lián)關(guān)系等原因,需要在表中增加一些新的列。
3.3 類映射為表。通常,一個類映射為一張類表,類的屬性映射為表的各列,類的對象則映射為表中的各個記錄。但是我們還要注意以下兩種特殊情況:
(1)如果類的屬性中某些屬性只是暫時性使用,不需要在數(shù)據(jù)庫中永久保存,則該類屬性無須映射。
篇9
【關(guān)鍵詞】數(shù)據(jù)庫應(yīng)用 數(shù)據(jù)庫設(shè)計規(guī)范 數(shù)據(jù)庫設(shè)計流程
引言
隨著計算機技術(shù)與網(wǎng)絡(luò)通信技術(shù)的發(fā)展,數(shù)據(jù)庫技術(shù)已成為信息社會中對大量數(shù)據(jù)進行組織與管理的重要技術(shù)手段及軟件技術(shù)。數(shù)據(jù)庫的應(yīng)用領(lǐng)域非常廣泛,不管是家庭、公司或大型企業(yè),還是政府部門,都需要使用數(shù)據(jù)庫來存儲數(shù)據(jù)信息。目前關(guān)系型數(shù)據(jù)庫已成為主流,下面也是針對關(guān)系型數(shù)據(jù)庫進行論述的。
一、規(guī)范數(shù)據(jù)庫設(shè)計的必要性
數(shù)據(jù)庫設(shè)計,簡單地說就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫中數(shù)據(jù)對象以及這些對象之間關(guān)系的過程。良好的數(shù)據(jù)設(shè)計能夠節(jié)省數(shù)據(jù)庫的存儲空間,能夠保證數(shù)據(jù)的完整性,方便進行數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)。無論是SQL Server還是Oracle數(shù)據(jù)庫,通過進行規(guī)范化的數(shù)據(jù)庫設(shè)計,都可以使你的程序更具有可讀性,更容易擴展,從而也會提升項目的應(yīng)用性能。
二、數(shù)據(jù)庫設(shè)計的流程
目前設(shè)計數(shù)據(jù)庫系統(tǒng)主要采用的是以邏輯數(shù)據(jù)庫設(shè)計和物理數(shù)據(jù)庫設(shè)計為核心的規(guī)范設(shè)計方法。其中邏輯數(shù)據(jù)庫設(shè)計是根據(jù)用戶要求和特定數(shù)據(jù)庫管理系統(tǒng)的具體特點,以數(shù)據(jù)庫設(shè)計理論為依據(jù),設(shè)計數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)和每個用戶的局部邏輯結(jié)構(gòu)。物理數(shù)據(jù)庫設(shè)計是在邏輯結(jié)構(gòu)確定之后,設(shè)計數(shù)據(jù)庫的存儲結(jié)構(gòu)及其他實現(xiàn)細(xì)節(jié)。一般將數(shù)據(jù)庫設(shè)計分為以下六個階段:需求分析階段、概要設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段、數(shù)據(jù)庫實施階段、數(shù)據(jù)庫運行維護階段。這里重點討論在各個階段的數(shù)據(jù)庫設(shè)計過程。
1.需求分析階段
主要是分析客戶的業(yè)務(wù)和數(shù)據(jù)處理需求。
需求分析階段的重點是調(diào)查、收集并分析客戶業(yè)務(wù)數(shù)據(jù)需求、處理需求、安全性與完整性需求等。
常用的需求調(diào)查方法有:在客戶的單位跟班實習(xí)、組織召開調(diào)查會、邀請專人介紹、設(shè)計調(diào)查表并請用戶填寫、查閱業(yè)務(wù)相關(guān)記錄等。
常用的需求分析方法有:調(diào)查客戶的單位組織情況、各部門的業(yè)務(wù)需求情況、協(xié)助客戶分析系統(tǒng)的各種業(yè)務(wù)需求、確定新系統(tǒng)的邊界。無論數(shù)據(jù)庫的大小和復(fù)雜程序如何,在進行數(shù)據(jù)庫的系統(tǒng)分析時,都可以參考下列基本步驟:收集信息、標(biāo)識實體、標(biāo)識每個對象需要存儲的詳細(xì)信息、標(biāo)識對象之間的關(guān)系。
2.概要設(shè)計階段
主要是繪制E-R圖,用于在項目團隊內(nèi)部、設(shè)計人員和客戶之間進行溝通,確認(rèn)需求信息的正確和完整。
在需求階段解決了客戶的業(yè)務(wù)和數(shù)據(jù)處理需求后,就進入了概要設(shè)計階段,此時需要和項目團隊的其他成員以及客戶溝通,討論數(shù)據(jù)庫的設(shè)計是否滿足客戶的業(yè)務(wù)和數(shù)據(jù)處理需求。與機械行業(yè)需要機械制圖、建筑行業(yè)需要施工圖紙一樣,數(shù)據(jù)庫設(shè)計也需要圖形化的表達(dá)式——E-R實體關(guān)系圖,它也包括一些具有特定含義的圖形符號,分兩個步驟完成:
確定“實體-關(guān)系”模型;
繪制E-R圖。
3.邏輯設(shè)計階段
將E-R圖轉(zhuǎn)換為多張表,進行邏輯設(shè)計,確認(rèn)各表的主外鍵,并應(yīng)用數(shù)據(jù)數(shù)據(jù)庫的3大規(guī)范進行審核。
(1)將E-R圖轉(zhuǎn)換為表。
將各實體轉(zhuǎn)換為對應(yīng)的表,將各屬性轉(zhuǎn)換為各表的對應(yīng)的列。
標(biāo)識每個表的主鍵列,需要注意的是:對沒有主鍵的表添加ID編號列,它沒有實際含義,只用作主健或外鍵。
在表之間體現(xiàn)實體之間的映射關(guān)系。
(2)規(guī)范設(shè)計要求
第一范式(1NF)。第一范式的目標(biāo)是確保每列的原子性,即每個列都是不可分的最小數(shù)據(jù)單元。
第二范式(2NF)。第二范式在第一范式的基本上,更進一層,其目標(biāo)是確保表中的每列都和主鍵相關(guān):如果一個關(guān)系滿足了第一范式(1NF),并且除了主鍵以外的其他列,都依賴于該主鍵,則滿足第二范式(2NF)。
第三范式(3NF)。第三范式在第二范式的基礎(chǔ)上,更進一層,第三范式的目標(biāo)是確保每列都和主鍵直接相關(guān),而不是間接相關(guān);如果一個關(guān)系滿足不了第二范式(2NF),并且除了主鍵(或組合鍵)以外的其他列都不依賴于主鍵(或組合鍵),則滿足第三范式(3NF)。
4.物理設(shè)計階段
邏輯數(shù)據(jù)模型要選取一個具體的工作環(huán)境,這個工作環(huán)境提供了數(shù)據(jù)存儲結(jié)構(gòu)與存取方法,這個過程就是數(shù)據(jù)庫的物理設(shè)計。物理結(jié)構(gòu)依賴于給定的DBMS和和硬件系統(tǒng),因此設(shè)計人員必須充分了解所用RDBMS的內(nèi)部特征、存儲結(jié)構(gòu)、存取方法。數(shù)據(jù)庫的物理設(shè)計通常分為兩步,第一,確定數(shù)據(jù)庫的物理結(jié)構(gòu),第二,評價實施空間效率和時間效率。數(shù)據(jù)庫物理設(shè)計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權(quán)衡,選擇一個優(yōu)化方案作為數(shù)據(jù)庫物理結(jié)構(gòu)。在數(shù)據(jù)庫物理設(shè)計中,最有效的方式是集中地存儲和檢索對象。物理設(shè)計完成之后,就應(yīng)該得到詳細(xì)的磁盤分配方案、存儲方案、各種基表的詳細(xì)信息等。根據(jù)這些信息就可以建立數(shù)據(jù)庫了。
5.數(shù)據(jù)庫實施階段
數(shù)據(jù)庫的實施,就是組織數(shù)據(jù)入庫、編制應(yīng)用程序、試運行。包括建立數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)表、增加約束和創(chuàng)建視圖、觸發(fā)器和存儲過程等。為了完成相應(yīng)的操作和檢索,需要編制很多程序,形成一個程序系統(tǒng)來使用該數(shù)據(jù)庫,這部分是程序設(shè)計的任務(wù)。一切就緒之后,就可以試運行數(shù)據(jù)庫了。
6.系統(tǒng)管理和維護
數(shù)據(jù)庫試運行結(jié)果符合設(shè)計目標(biāo)后就可以真正投入運行了。數(shù)據(jù)庫投入運行標(biāo)志著開發(fā)任務(wù)基本完成和維護工作開始,并不意味著設(shè)計過程的終結(jié)。由于應(yīng)用環(huán)境在不斷地變化,數(shù)據(jù)庫運行過程中物理存儲也不會不斷變化。對數(shù)據(jù)庫設(shè)計進行評價、調(diào)整、修改等維護工作是一項長期的任務(wù),也是設(shè)計工作的繼續(xù)和改進。
篇10
【關(guān)鍵詞】VFP數(shù)據(jù)庫;教學(xué)模式;微課設(shè)計
1.引言
S著網(wǎng)絡(luò)技術(shù)與通信技術(shù)的不斷發(fā)展,微課作為新型的教學(xué)資源模式,具有用時少,內(nèi)容精、生動性強、可在網(wǎng)絡(luò)上點擊播放、不受教學(xué)時間和空間的約束等特點。在當(dāng)今社會中,對于教育者來說運用微課進行教學(xué),是必不可少的,微課程創(chuàng)始人戴維.彭羅斯曾把微課程稱為“知識脈沖”[1]。他認(rèn)為微型的知識脈沖只要在相應(yīng)的作業(yè)與討論的支持下,能夠與傳統(tǒng)的長時間授課取得相同的效果,將成為一種知識挖掘框架。微課提供的知識挖掘平臺,允許學(xué)生對自己的學(xué)習(xí)有更多的主動權(quán),自主地挖掘所需的知識點、有針對性地開展學(xué)習(xí),這不僅提高了學(xué)生的學(xué)習(xí)效率,節(jié)約了時間,而且極大地激發(fā)了學(xué)生學(xué)習(xí)的興趣。
所謂“微課”是指以視頻為主要載體,記錄教師在課堂內(nèi)外教育教學(xué)過程中圍繞某個知識點(重點難點疑點)或教學(xué)環(huán)節(jié)而開展的精彩教與學(xué)活動全過程[2]。
VFP數(shù)據(jù)庫是高等院校非計算機專業(yè)學(xué)生必修的公共課,其理論性和實踐性都很強,信息量大、且較為抽象,并且具有一定的難度,學(xué)生在學(xué)習(xí)時普遍存在一定的畏懼心理,導(dǎo)致對VFP數(shù)據(jù)庫的學(xué)習(xí)興趣不濃,進而影響到后續(xù)課程的學(xué)習(xí)。對此,教師應(yīng)積極轉(zhuǎn)變教學(xué)觀念,運用微課這一新型的教學(xué)模式,優(yōu)化VFP數(shù)據(jù)庫課程教學(xué)勢在必行。將微課技術(shù)用于VFP數(shù)據(jù)庫課程的教學(xué)中,針對VFP數(shù)據(jù)庫各個知識點或教學(xué)環(huán)節(jié),運用各種教學(xué)資源,以教學(xué)視頻為主要方式呈現(xiàn)給學(xué)生,將極大激發(fā)學(xué)生學(xué)習(xí)VFP數(shù)據(jù)庫的興趣,幫助教師補充和延伸VFP數(shù)據(jù)庫課程的教學(xué)過程,從而實現(xiàn)較好的教學(xué)效果。基于微課程的優(yōu)勢,本文從VFP數(shù)據(jù)庫教學(xué)現(xiàn)狀、VFP數(shù)據(jù)庫微課的設(shè)計、VFP數(shù)據(jù)庫微課的實現(xiàn)三個方面,對VFP數(shù)據(jù)庫教學(xué)模式進行探討。
2.VFP數(shù)據(jù)庫教學(xué)現(xiàn)狀
目前,在VFP數(shù)據(jù)庫教學(xué)中,學(xué)生們的普遍反映是:
(1)紙制教材對學(xué)生的吸引力較低。VFP數(shù)據(jù)庫教材中大量的概念、定義、表格、命令、控件、數(shù)字、代碼等,使得大部分學(xué)生犯暈,再加上呆板的章節(jié)形式,對學(xué)生吸引力較低。
(2)教材選用與學(xué)生需求的吻合度較差。紙制教材雖然具有重點突出、通俗易懂、詳略得當(dāng)?shù)忍攸c,但缺乏趣味性、時尚性,這不僅反映了目前大學(xué)生的心理追求,也說明了VFP數(shù)據(jù)庫教材建設(shè)滯后于教學(xué)需求。
(3)學(xué)生對VFP數(shù)據(jù)庫課程中的重點、難點的理解不夠透徹。在VFP數(shù)據(jù)庫課程中,知識點多,重點、難點多,例如數(shù)據(jù)模型、參照完整性等概念,都是十分重要且非常抽象。老師講清楚了,學(xué)生當(dāng)時可能也聽明白了,但不一定就是掌握了,短短的課堂時間無法達(dá)到領(lǐng)會、理解、掌握的教學(xué)效果。
(4)教師教學(xué)努力方向與學(xué)生的興趣點不能完全一致。當(dāng)代的大學(xué)生思維比較活躍,興趣廣泛,他們的興趣點在于新和樂上,如果教師還按照傳統(tǒng)的教學(xué)模式按部就班,扎扎實實,一步一個腳印按照教學(xué)大綱要求向?qū)W生傳授知識,學(xué)生對學(xué)習(xí)VFP數(shù)據(jù)庫的意愿、興趣點與教師教學(xué)努力方向不一致,沒有形成教學(xué)上的合力,教學(xué)效果事倍功半。
3. VFP數(shù)據(jù)庫微課的設(shè)計
基于VFP數(shù)據(jù)庫特點及教學(xué)現(xiàn)狀,可以通過設(shè)計VFP數(shù)據(jù)庫微課來補充和豐富教學(xué)過程,從而實現(xiàn)更好教學(xué)效果。
(1)內(nèi)容的選取與設(shè)計。VFP數(shù)據(jù)庫微課的設(shè)計首先應(yīng)從選題開始,只有題選好了,教師才能借“題”發(fā)揮。如果選題太大、太復(fù)雜,在有限的時間內(nèi)無法把問題講述清楚,就會影響教學(xué)效果。因此,在教學(xué)實踐中,應(yīng)選擇VFP數(shù)據(jù)庫中常見、典型、有代表性的知識點或針對某一個難點、重點問題進行微課設(shè)計,內(nèi)容盡量“小而精”。時間一般控制在5-8分鐘,最長不宜超過10分鐘。譬如,VFP數(shù)據(jù)庫課程中的“字段有效性”是VFP數(shù)據(jù)庫中的一個重點、難點,它能保證數(shù)據(jù)庫中數(shù)據(jù)的正確性。教師可以基于該知識點進行微課設(shè)計。
(2) VFP數(shù)據(jù)庫微課導(dǎo)入環(huán)節(jié)的設(shè)計。一個好的微課,關(guān)鍵在于導(dǎo)入。微課教學(xué)時間短,不應(yīng)在導(dǎo)入環(huán)節(jié)花費過多時間,所以切入主題必須迅速,力求做到新穎獨到、引人注目。導(dǎo)入的方法很多,可以開門見山進入主題,可以設(shè)置一個疑問、懸念等引入主題,也可以從之前的基本內(nèi)容引入主題,還可以通過一些實際問題引入主題。但不管采用哪種方法,都要與課堂教學(xué)內(nèi)容緊密關(guān)聯(lián)。
如前所述的“字段有效性”的微課中,導(dǎo)入方法上可根據(jù)實際生活中“學(xué)生成績采用百分制,在0-100之間”,直接給學(xué)生展示一張表。讓學(xué)生很快明白微課要解決的問題,做到了切題迅速,目的明確。
(3)VFP數(shù)據(jù)庫微課教學(xué)過程的設(shè)計。微課通常只有一條主線,解決的是一個或一類問題或方法。因此在內(nèi)容的安排上要圍繞一條線索展開,主題要鮮明,突出重點內(nèi)容,由淺入深,層次分明,巧妙運用啟發(fā)式、問題式等方法,設(shè)計問題,激發(fā)學(xué)生學(xué)習(xí)興趣,營造學(xué)生參與教學(xué)的氛圍,提高學(xué)生積極學(xué)習(xí)、自主學(xué)習(xí)的熱情。在VFP數(shù)據(jù)庫微課教學(xué)過程設(shè)計中,每一個畫面都配上感染力極強的精煉語言,在視覺受到強烈沖擊的同時,聽覺上也產(chǎn)生強烈共鳴,進而使主題深入學(xué)生內(nèi)心。升華主題,精彩總結(jié)。一個好的微課要有一個好的結(jié)語。提綱挈領(lǐng),升華主題是好的結(jié)語的具體表現(xiàn)。這樣可以讓學(xué)生清晰地感覺到學(xué)到的東西,加深對所學(xué)內(nèi)容的印象,減輕記憶負(fù)擔(dān)。
4.VFP數(shù)據(jù)庫微課的實現(xiàn)
VFP數(shù)據(jù)庫微課的質(zhì)量直接影響到微課教學(xué)效果。因此,對于相關(guān)課件PPT的設(shè)計、教師魅力的展現(xiàn)、錄制視頻的方式等每一個環(huán)節(jié)都十分重要。
(1)VFP數(shù)據(jù)庫課件制作。制作課件的總體原則是,在說明問題的前提下,越簡單越好。教師應(yīng)緊緊圍繞選題的內(nèi)容,制作圖文并茂、動靜結(jié)合的PPT課件。課件應(yīng)盡可能利用圖片、圖表、表格、插圖等[3]。課件動畫設(shè)計以幫助學(xué)生理解問題為目的,夸張適度,恰如其分。課件字體、字號選擇得當(dāng),顏色搭配不能過于復(fù)雜,強調(diào)協(xié)調(diào)和合理。圖片和文字的使用不是越多越好,圖片要清晰美觀,有視覺震撼力;文字要言簡意賅,感染力強。高質(zhì)量的PPT課件為高質(zhì)量的VFP數(shù)據(jù)庫微課的教學(xué)打下堅實基礎(chǔ)。
(2)VFP數(shù)據(jù)庫微課視頻制作。在視頻制作方式的選擇上, VFP數(shù)據(jù)庫教師一定要根據(jù)內(nèi)容的需要確定。要有團隊合作意識,例如課堂教學(xué)可以用錄屏軟件錄制,再配上攝像頭和麥克風(fēng),也可以讓一部分學(xué)生旁聽,開展課堂互動,將老師講課的激情體現(xiàn)出來。也可以用數(shù)碼攝像機實時記錄教學(xué)過程中老師、學(xué)生交流等實景畫面,然后對視頻進行后期的編輯制作、美化。
(3)VFP數(shù)據(jù)庫教師精彩的講解。教師精彩的講解應(yīng)該是VFP數(shù)據(jù)庫微課的一個亮點,在講解過程中教師要做到為人師表,教學(xué)語言要規(guī)范、清晰,有意識地完善自己的教學(xué),實現(xiàn)教師的人格魅力。
5.結(jié)語
將微課引入VFP數(shù)據(jù)庫課程中,改變了傳統(tǒng)的教學(xué)方式、學(xué)習(xí)方式,打破了學(xué)生學(xué)習(xí)的地域限制和時空限制,滿足了學(xué)生個性化學(xué)習(xí)和碎片化學(xué)習(xí)要求,對提高教學(xué)質(zhì)量和提升學(xué)生自學(xué)能力都能起到促進作用。
參考文獻:
[1] 胡鐵生.“微課”:區(qū)域教育信息資源發(fā)展的新趨勢[J].中國電化教育,2011,(10): 61-65.
熱門標(biāo)簽
數(shù)據(jù)分析論文 數(shù)據(jù)挖掘論文 數(shù)據(jù)安全論文 數(shù)據(jù)管理論文 數(shù)據(jù)庫論文 數(shù)據(jù)挖掘總結(jié) 數(shù)據(jù)誤差 數(shù)據(jù)采集 數(shù)據(jù)通信論文 數(shù)據(jù) 心理培訓(xùn) 人文科學(xué)概論
相關(guān)文章
1政務(wù)數(shù)據(jù)協(xié)同治理的分析
3建筑業(yè)統(tǒng)計數(shù)據(jù)質(zhì)量探討