日韩偷拍一区二区,国产香蕉久久精品综合网,亚洲激情五月婷婷,欧美日韩国产不卡

在線客服

數據庫設計實用13篇

引論:我們為您整理了13篇數據庫設計范文,供您借鑒以豐富您的創作。它們是您寫作時的寶貴資源,期望它們能夠激發您的創作靈感,讓您的文章更具深度。

數據庫設計

篇1

需求分析是在項目確定之后,用戶和設計人員通過詳細的調查研究,充分了解用戶的組織機構、業務規則、數據需求等等。所謂需求是指用戶對軟件的功能和性能的要求,就是用戶希望軟件能做什么事情,完成什么樣的功能,達到什么性能。需求分析是數據庫設計最基礎的工作,如果這個階段的工作不準確或有誤,那么后面幾個階段的任務就會有偏差,如果到測試階段才發現錯誤再去更改必然會付出很大的代價,因此必須高度重視這個階段的人任務。需求分析階段的后期編寫系統分析報告,主要包括:系統的概況、目標、范圍、現狀等;系統及子系統的結構說明;系統的功能劃分;系統的組織機構聯系圖;數據流程圖;功能模塊圖及數據字典等內容。然后將此需求分析報告提交給用戶的決策部門討論審查,通過審查以后的需求分析報告作為今后各階段設計和工作的依據。

例如:公司職工人事檔案資料繁多,查詢、統計、更新等各方面工作都不能更快更好進行,急需一管理系統實現人事資料的錄入、維護、統計、查詢等工作,明確要求后將具體事項形成書面報告審查后作為今后設計的依據。

2.概念結構設計

概念結構設計的目標是產生出一個能反映組織信息需求的概念模型,其特點有簡單明確表示用戶業務數據需求、數據之間的聯系、數據約束條件等。概念結構的策略有四種自頂向下、自底向上、逐步擴張、混合策略。概念結構設計的最著名、最常用的方法是實體-聯系方法,簡稱E-R方法。它雖然只有幾個基本元素(實體、屬性、聯系),但能夠表達現實世界復雜的數據、數據之間的關系和約束條件。

E-R圖設計是對需求分析階段所得到的數據進行分類、聚集、概括,確定實體、屬性和聯系,具體步驟如下:

2.1選擇局部應用

數據流圖是對業務處理過程從高層到底層的一級級抽象,高層抽象流圖一般反映系統的概貌,對數據的引用較為籠統,選擇適當層次的數據流圖,讓這一層的每一部分對應一個局部應用,實現某一項功能。

2.2逐一設計局部E-R圖

規劃好各個局部應用之后,對每一個局部應用設計局部E-R圖,按照局部應用的數據流圖,從數據字典中提取數據,使用抽象機制,確定局部應用中的實體、實體的屬性、實體標示符、實體間的聯系和類型,但是許多實物是實體還是屬性沒有明確的界定,要根據具體情況判斷,一般來說,屬性不能再分,屬性也不能和其他實體發生聯系,因為聯系是實體和實體間的聯系。

2.3 E-R圖合并

根據局部應用設計好的局部E-R圖之后,就可以對各局部E-R圖進行合并,合并的目的是在合并過程中解決局部E-R圖之間存在的沖突,消除存在的信息冗余,使之成為供用戶理解的統一的、精練的全局概念模型。對所有的局部E-R圖合并之后,就形成了全局E-R圖,從而完成了概念結構設計。

3.邏輯結構設計

邏輯結構設計是在概念結構設計的基礎上進行的數據模型設計,一般有層次、網狀模型和關系模型,現在絕大多數DBMS都是基于關系模型的,此階段的主要任務有確定數據模型、將E-R圖轉換為指定的數據模型、確定完整性約束、確定用戶視圖。

例如:部門(1)————職工(M)。

4.物理結構設計

在實現數據庫邏輯結構設計之后,就要確定數據庫在計算機中的具體存儲。數據庫在計算機物理設備上的存儲結構與存取方法稱為數據庫的物理結構。數據庫的物理設計完全依賴于給定的數據庫軟件和硬件設備。層次和網狀模型物理設計比較復雜,而關系DBMS對物理設計要求很少,由DBA來實現。物理結構設計需要確定數據分布、確定存儲結構、確定存取方式。

5.數據庫實施階段

確定了數據庫的邏輯結構和物理結構以后,可以利用DBMS提供的數據定義語言建立數據庫的結構。

例如:CREATE TABLE 職工庫。

(職工編號 CHAR(6) NOT NULL,

姓名 CHAR(8) NOT NULL,

性別 CHAR(2),

所屬部門 CHAR(10),

PRIMARYKEY KEY (職工編號));

當數據庫的結構建成之后,就可向數據庫中加載數據,由于數據庫中的數據量非常大,為了避免浪費大量人力財力時間等,通常專門設計一個錄入子系統來提高效率,滿足用戶的要求。該子系統一般包括數據錄入、錄入過程的數據校驗、代碼轉換、數據完整性約束、安全性檢查等功能。

6.數據庫的運行與維護

數據庫設計與應用開發工作完成之后系統便進入運行與維護階段。為保證數據庫系統的安全穩定運行,需要綜合考慮可能遇到的各種問題,指定詳盡的運行計劃和應對措施。任何因素導致系統初選問題,都可能給用戶帶來損失。

數據庫的運行與維護階段主要任務有:

6.1維護數據的安全性和數據完整性

為保障系統的穩定運行,必須制定運行策略。數據庫的運行離不開用戶的訪問和操作,安全性策略包括網絡安全、用戶的權限管理、設備的安全及數據的安全等方面。按照設計階段提供的安全和故障規范。實施授權和設定密碼,并經常檢查系統的安全性和可靠性,實施備份、恢復和數據重組的任務。

6.2監測并改變數據庫性能

經常對數據庫存儲空間的狀況和響應速度進行評價分析,確定優化和改善的措施,及時調整系統的運行狀況。

6.3數據庫的維護

在數據庫系統的運行過程中,可能會由于某些原因需要修改數據庫的結構,稱為數據庫的重構,重構包括表結構的修改和視圖的修改。還要根據用戶環境的擴大,適時的向數據庫增加一些新的數據和功能。

篇2

4、數據庫物理設計:為邏輯數據模型選取一個最適合應用環境的物理結構;

篇3

1 數據庫概述

數據庫是數據管理的最新技術。數據管理先后經過了人工管理階段、文件系統階段、數據庫系統階段。在數據庫領域中最常用的數據模型有層次模型、網狀模型、關系模型、面向對象模型等。關系型數據庫系統是建立在關系模型基礎上的。

關系數據庫系統遵循嚴格的數學基礎,它應用數學方法,主要是集合代數的概念和方法來處理數據庫中的數據。關系數據庫的數據結構簡單,它的邏輯結構可以看做是一張二維表。

2 數據庫設計方法及流程

大型數據庫的設計是涉及多學科的綜合性技術。數據庫設計是指對于一個給定的應用環境,構造優化的數據庫邏輯模式和物理結構,并據此建立數據庫及其應用系統,使之能夠有效地存儲和管理數據,滿足各種用戶的應用需求。數據庫的設計應符合“三分技術、七分管理、十二分基礎數據”的基本原則。其基本設計步驟分為:需求分析、概念結構設計、邏輯結構設計、物理結構設計、數據庫實施、數據庫運行和維護六個階段。

2.1 需求分析

需求分析是數據庫設計的起點,簡單地說就是分析用戶的需求。該階段的任務是通過詳細調查現實世界要處理的對象,充分了解原系統工作狀況,明確用戶的各種需求(包括信息要求、安全性與完整性要求),然后在此基礎上確定新系統的功能。注意新系統必須充分考慮今后可能的擴充和改變,以預留出足夠的可擴展空間等。例如:對于一個教務管理系統的設計,設計之初首先應了解其工作需求,確定要實現哪些功能、應包含哪些屬性以及未來可能的擴展需求等。

2.2 概念結構設計

概念結構設計是將需求分析階段所得到的用戶需求抽象為信息結構的過程,它是整個數據庫設計的關鍵。概念結構的主要特點包括:能真實充分的反應現實世界,易于理解,易于改正,易于向關系、網狀、層次等各種數據模型轉換。

概念結構設計通常有自頂向下、自底向上、逐步擴張、混合策略四種方法。概念結構是對現實世界的一種抽象,一般包括分類、聚集和概括三種抽象。利用抽象機制對數據進行分類、聚集,形成實體、實體的屬性,標識實體的碼,確定實體之間的聯系類型,設計分E-R圖是概念結構設計的第一步。具體做法包括:選擇局部應用,一般以中層數據流圖作為設計分E-R圖的依據;逐一設計分E-R圖,即對每個局部應用設計分E-R圖。最后,將得到的各分E-R圖綜合形成一個系統的總E-R圖。在教務管理系統中有學生、教師、主任等實體,學生實體有包含姓名、學號、班級、成績等屬性,應對其逐一設計E-R圖。

注意在形成總E-R圖的過程中并不是將各個分E-R圖進行簡單的合并,因為在合并過程中分E-R圖之間會因為各種原因導致許多不一致的地方,即會產生沖突現象。應先通過討論、協商并根據應用的語義解決各類沖突。

2.3 邏輯結構設計

邏輯結構設計是指將概念結構設計階段設計好的E-R圖轉換為與選用DBMS產品所支持的數據模型相符合的邏輯結構。設計邏輯結構首先將概念結構轉換為關系、網狀、層次模型。例如,設計關系模型就要根據E-R圖設計二維表,二維表中包括字段名、數據類型、長度、描述等。最后設計符合用戶習慣的外模式。

實現E-R圖向關系模型的轉換實際是就是將實體型、實體的屬性和實體之間的聯系轉換為關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼,實體之間的聯系應注意它是一對一、一對多還是多對多的聯系。形成初步的關系模型后,然后就是對模型的優化。關系數據模型的優化通常以規范化理論為指導。在對外模式的設計上,關系數據庫管理系統一般都使用視圖這一功能設計更符合局部用戶需要的用戶外模式。

2.4 物理設計

物理結構設計就是為邏輯結構設計階段所得到的數據模型選取一個最適合應用要求的物理結構。在關系數據庫中主要是先指定存取方法和存儲結構,然后主要對時間和空間效率進行評價。

考慮到數據庫系統是多用戶的共享系統,所以應建立多條存取路徑以滿足多用戶的多種應用要求。常用的存取方法有索引方法、聚簇方法、HASH方法。

2.5 數據庫的實施和維護

在數據庫實施階段,設計人員要用RDBMS提供的數據定義語言和其他實用程序將數據庫邏輯設計和物理設計結果嚴格描述出來,成為DBMS可以接受的源代碼,再經過調試產生目標模式,最后就可以組織數據入庫了。

在數據庫試運行后,由于應用環境、物理存儲等不斷的變化,所以應對數據庫進行長期的維護工作。對數據庫的維護包括:數據庫的轉儲和恢復,數據庫的安全性、完整性控制,數據庫性能的監督、分析和改造,數據庫的重組織與重構造等。

3 數據庫的規范化及約束條件

由于邏輯結構設計并不唯一,對于任何一種數據庫應用系統如何構造出合適的邏輯結構,這就涉及到規范化問題。對于關系模式最基本的要求是應滿足第一范式,即每一個分量必須是不可分割的數據項。此外,為了消除關系模式中存在的插入刪除異常,修改復雜,數據冗余等毛病,應使關系模式逐步滿足第二、第三范式、BC范式等。

關系的完整性規則是對關系的某種約束條件。它包括實體完整性、參照完整性和用戶自定義的完整性三種完整性約束。其中,實體完整性要求關系中的主屬性不能為空;參照完整性是用來描述實體與實體之間聯系的完整性約束,這兩個是必不可少的完整性約束條件。此外,數據庫系統根據應用環境的不同可能會有某些特殊的約束條件,這就需要用戶自定義完整性。

完整性約束和規范化是數據庫系統設計中必不可少的約束條件。只有滿足這些約束條件才能設計出完整、高效、可靠的數據庫系統。

總之,在信息化社會,能充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。數據庫技術是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分。

高思,1993年9月,漢族,河北省石家莊,本科,學生,計算機科學與技術。

趙博,1992年6月,漢族,河北省張家口市,本科,學生,計算機科學與技術。

參考文獻

[1] 王珊,薩師煊,《數據庫系統概論》,高等教育出版社,2013.12.

[2] 王晴,《新編關系數據庫與SQL Server 2008》,清華大學出版社2013.8.

[3] 勝,趙會東,《SQL Server入門經典》,機械工業出版社,2103.4.

[4] 李巧君,劉春茂,淺析數據庫設計的一般流程和原則.技術與市場.2010.

篇4

1 現狀

現在信息系統的開發中數據庫的設計所在比重越來越大,防止數據庫不被非法訪問、破壞和提高數據庫的性能是數據庫設計非常重要的環節,數據庫安全性設計和性能優化已被廣大系統開發者所重視。

2 保護數據庫安全的措施

2.1 用戶標識與鑒別

在我們使用的計算機系統中,安全措施是分很多層次的,用戶標識與鑒別是系統所能夠提供的安全保護措施中最外面的一層。其方法是由系統為用戶提供一定的方式和規則讓用戶標識自己的名字或身份,以便每次用戶登陸系統時,對比數據庫記錄的合法用戶信息,通過驗證方能訪問數據庫。具體設計數據庫時我們可以創建sys_user表,這些用戶的標識和鑒別信息在sys_user表中保存,用戶每次登錄系統時應用程序都會對比用戶所輸入的用戶名和密碼與數據庫這樣就可以確定用戶是否合法。

2.2 存取控制

數據庫安全中最重要的一方面是確保只允許有一定資格的用戶去訪問數據庫定的表或者數據,這主要是通過數據庫系統的存取控制實現的。目的是將用戶權限等級到數據字典中。用戶只訪問他有權訪問的數據。每當用戶進行某些數據的查詢、插入、修改、刪除等操作時,先對其進行一些檢查,主要檢查這些用戶的操作權限,若用戶的操作請求超出了或者不符合系統定義的權限,系統將拒絕用戶執行此操作。

比如:管理人員可以被允許訪問系統內全部的數據;單個部門只能訪問本部門的在建以及歷史數據。

2.3 定義視圖

視圖是從一個或者多個表(視圖)中所導出的表,其結構的構成和數據確立是建立在查詢這些表(視圖)基礎上的。視圖并不是真是存在的表而是一張虛表,視圖所對應的數據是在視圖所引用的基礎表中存儲的。

在關系數據庫中,可以根據實際的需求為特定的用戶定義特定的視圖。讓表中的一部分數據只對一部分特定的用戶可見。如果一些數據是保密的,就可以使用視圖把這些數據隱藏起來,使沒有獲得授權的用戶不能看到這些數據。對數據庫提供安全保護。

比如某公司有A、B兩個部門,A部門只能訪問本部門的在建、歷史項目數據;其他項目的數據對其是不可見的。可以為A項目建立“部門人力資源視圖”,從數據庫“部門人力資源信息表”查看A項目的人員情況。

2.4 使用存儲過程

存儲過程通過隔離的方法提高了數據庫的安全性,通過授權可以讓用戶只能執行存儲構成而不能直接訪問數據庫對象。建立一個存儲過程是很靈活的,并且可以實現一定的邏輯處理。

2.5 充分利用系統全局區域SGA(System Global Area)

我們用Oracle設計數據庫,當我們啟動Oracle的數據庫時,系統為了儲存用戶所需要數據及Oracle正常運行所必備系統信息,首先會在內存內規劃出來一個固定的區域使用。這個區域我們稱為系統全局區(System Global Area),簡稱SGA。數據庫管理員可以依據數據庫實際運行狀況根據需要調整數據庫系統全局區(SGA區)的數據庫緩沖區、共享池和日志緩沖區的大小。只有合理設置這些內存緩沖區,才可很大加快數據的查詢速度,只要所使用的內存區足夠大就可以把絕大多數的數據都存儲在內存中,只有那些不活躍的不經常使用的數據,才從磁盤中讀取。這里有一點是需要注意的,SGA區并不是我們想象的越大越好,SGA區如果過大就會占用操作系統所使用的內存從而引起虛擬內存的頁面交換,這樣的話反而會降低系統運行性能, SGA的尺寸不大于物理內存的一半是我們所設計的原則。

在 Oracle8i 中,SGA 的大小不是手動設置而是由初始化參數文件內的一些參數所設定,這其中有不是很方便的地方是每次調整后必須等重新激活數據庫這才能生效。從Oracle9i 以后,DBA 可以動態配置內存的大小;這樣的數據庫技術我們稱為「dynamicSGA。有了dynamic SGA ,SGA的各組成區域都可以動態地進行規劃與調整,而不需先關閉數據庫。

3 結束語

數據庫管理員只有認真分析Oracle在其運行使用過程中可能出現的各種安全性問題,綜合運用上面介紹的規律,Oracle數據庫才能高效、安全、可靠地運行。這里還需要指出的是,數據庫的安全是一個系統工程,涉及到方方面面,我們設計的時候要考慮到各個方面綜合分析,不能只根據一個特定時間點的安全情況就斷定數據庫安全運行的好與壞。

參考文獻:

[1]聶軍.論數據庫安全性設計[J].中國現代教育裝備,2009(01).

篇5

1.2虛擬數據庫的實現虛擬數據庫操作的底層接口是各種物理數據庫提供的API,虛擬數據庫需要將這些API集中地封裝起來,并根據用戶的需求選擇使用。封裝結構可以如下所示。示例中僅封裝了幾個常用的數據庫API,也可以根據需求追加定義其他API進入封裝結構,也可以根據用戶需求隨時將其他數據庫API封裝進來。

2數據下發過程

2.1數據正常下發過程(1)底層網元首先向上層網元上報數據資源審計請求,并將底層網元的數據標識(通常為MD5校驗碼)帶給上層網元。(2)計算底層網元數據審計標識,判斷底層數據是否與上層網元數據一致,如果一致,發送數據審計結果正確給底層網元,否則發送數據不一致給底層網元。(3)根據結果判斷,如果無需同步,向上層網元發送數據審計流程結束,如果需要同步,向上層網元發送數據請求,數據請求中包含請求數據表,以及數據指針,用于標識上次請求到的數據位置。(4)按照請求數據,從數據庫中取出數據,以及數據指針,封裝進數據下發包。(5)數據循環向下層網元發送,直到底層網元不在請求數據為止,同時底層網元上報數據審計流程結束,完成數據下發過程。

2.2數據異常下發過程(1)底層網元在無法打開本地的數據庫情況下,判斷為本地數據庫已經損壞,向上層網元發送數據庫崩潰通知。(2)生成下層網元的數據庫,根據網元類型,通過FTP向底層網元發送數據庫文件或者數據文件。(3)底層網元接收完成數據庫后,打開數據庫,上報數據資源審計請求。

篇6

0 引 言

啟動VS 2010集成開發環境[1],鏈接Excel電子表格,以程序方式將Excel電子表格中的數據讀出,定義一個中間件Dataset數據集,將取到的數據緩存在內存中的一個臨時存儲區,鏈接各種數據庫,構造插入數據記錄的程序代碼,打開數據庫鏈接,將中間件Dataset數據集中暫存的數據永久插入數據庫中,關閉數據庫鏈接[2]。

1 導入Office模塊

VS 2010加強了對Office的支持,給開發帶來了極大的靈活性,增強了應用程序與Office的交互,并且能夠在很大程度上精簡代碼。

2 鏈接數據源

數據源泛指各種不同位置上的數據庫、各類數據文件,每種數據源都有自己不同的鏈接規范,VS 2010按這些不同規范都組織在一起,為編程人員提供了一個統一的操作接口,編程人員可根據自己應用程序所用不同數據源,而選取不同的鏈接方式和參數。

在這里把Excel表數據導入MySQL數據庫,因此具體論述這種數據源的鏈接方式,其他數據庫原理相同。

2.1 鏈接Excel電子表格文件

2.2 鏈接SQL Server數據庫

VS 2010帶有一個輕型的SQL 2008數據庫系統[4],首先用這個系統建立一個SQL數據庫abc.mdf,在數據庫中建立一張二維數據表文件,取名為temp1。在VS 2010中的操作路徑是:在項目上右擊鼠標在快捷菜單中先“添加”菜單項在下一級級聯菜單中選“新建項”菜單項打開添加新項對話框,選擇“數據”選項卡在“數據”選項卡內選擇“基于服務的數據庫”項,填好自己的數據庫名,本例用abc.mdf。

3 將數據永久存入數據庫

下一步要把中間件DataSet中的臨時數據永久存入數據庫中[5]。根據2.2節所述內容,數據庫已經連通,庫結構也已經建好,并與Excel電子表格數據結構一致。為了使用SQL數據庫,需要在本項目的名字空間之上加入引用語句:using System.Data.SqlClient,程序代碼如下:

4 結 語

在科研工作中,常會遇到海量數據處理的問題。這些數據通常由采集卡保存在Excel中,如果能夠方便地輸入數據庫中,可以幫助科研工作者完成很多重復性、規律性的工作,節約人力,提高效率,便于后續的數據處理和數據分析[7]。程序開發者也可以針對具體的應用,將Office開發做成一些類或組件,增強軟件重用性,更加提高開發效率。

參考文獻

[1] ROBINSON S.C#高級編程指南[M].北京:清華大學出版社,2009.

[2] 羅斌.Visual C#.NET精彩編程實例集錦[M].北京:中國水利水電出版社,2009.

[3] PETZOLD C.Microsoft C# Windows程序設計(上冊)[M].北京:北京大學出版社,2009.

[4] 王晟.Visual C#.NET數據庫開發經典案例解析[M].北京:清華大學出版社,2010.

[5] PETZOLD C. Microsoft C# Windows程序設計(下冊)[M].北京:北京大學出版社,2009.

篇7

城市現有規劃測繪數據資源存在以下六個方面的問題:一是數據資源分散、未能有效利用;二是數據內容單一;三是數據格式標準不統一;四是更新機制無法建立;五是組織管理機構不健全;六是投資渠道單一而不穩定,重復建設嚴重。龍巖市城鄉規劃局測繪服務站在城市信息化建設過程中,碰到以上一樣的問題。為此,龍巖學院數學與計算機科學學院和龍巖市城鄉規劃局測繪服務站共同合作完成基于ArcGIS龍巖規劃測繪數據庫建設研究項目(福建省教育廳項目JB12209)。通過該項目建設,基本上解決了龍巖規劃測繪數據統一格式采集、AutoCAD數據格式和ArcGIS平臺數據庫統一建庫問題。

本文針對項目建設過程中規劃測繪數據庫設計問題進行研究,詳細分析了規劃測繪數據組成要素,把幾何網絡模型和邏輯網絡模型相結合構建了數據庫模型,基于ArcGIS平臺和AutoCAD二次開發環境,對規劃測繪數據庫進行了設計。

本項目建設采用ArcSDE(ArcGIS的空間數據引擎)+MySQL(Oracle公司開放源代碼數據庫管理系統)存儲空間及其屬性數據,基于ArcGIS平臺和AutoCAD2010二次開發,研究了規劃測繪數據庫設計的技術路線、模型設計方法和注意事項。[1]

2 規劃測繪數據庫設計的原則和分類

2.1 規劃測繪數據庫設計的原則

對城市建設各部門建立統一有效的管理制度,按統一的標準收集、整理和分析各部門在行政辦公過程中產生的各種空間信息,建成一個內容涵蓋從空中到地表,再到地下包括地形、地貌、地下綜合管線、工程地質、建筑物紋理、道路紋理等全方位的,多比例尺、多分辨率、多時相、多種數據來源的城市三維立體空間數據庫,并建立有效的數據更新機制。主要原則總結為以下六點:1)標準化原則,2)數據共享原則3)先進性原則,4)實用性原則,5)安全性原則,6)可擴展性原則。

2.2 規劃測繪數據庫設計的分類

規劃測繪數據庫和城市基礎空間數據庫一樣,也分為基本空間數據庫和外延空間數據庫兩個部分。[2]

1)基本空g數據庫設計

基本空間數據庫設計是規劃測繪應用系統的空間定位參考基準,目標是建成一個多種表現形式、多數據源、多種比例尺、多分辨率、多時相、多種數據組織形式的綜合數據庫。其內容包括數字線劃地形數據庫、數字高程模型數據庫、數字正射影像數據庫和數字柵格數據庫等。基本空間數據庫的建設投資巨大,最佳方案分期逐步建設。

2)外延空間數據庫設計

外延空間數據庫是基本空間數據庫的補充,如果說基本空間數據庫是城市空間信息的骨架,外延空間數據庫則是城市信息化建設的靈魂。以基本空間數據庫為基礎,從城市建設部門(特別是城市規劃部門)的行政審批流程中收集和整理現狀建筑、土地利用、房地產、地下綜合管線和工程地質等空間信息,作為基本空間數據庫的補充。外延空間數據庫設計的主要內容包括現狀建筑數據庫、地名數據庫、現狀路網數據庫、工程地質數據庫和地下綜合管網數據庫等。

3 規劃測繪數據基本要素和數據結構模型分析

3.1 規劃測繪數據基本要素分析

基于AutoCAD平臺DWG格式數據信息主要是通過矢量圖來表示,其屬性只能通過標注表示,不能夠進行空間分析;基于ArcGIS平臺SHP數據格式信息屬性能夠以屬性表的形式存儲,圖形對應屬性,能夠通過空間數據庫對規劃測繪數據進行管理、操作和GIS空間分析等。

上述兩種數據本質上的區別在于:DWG數據格式主要是以圖面的形式表現規劃測繪數據名稱、層數、面積等屬性數據,不利于對圖形進行查詢和分析,而SHP格式數據是把AutoCAD原圖面上的規劃測繪各屬性數據轉變為通過空間數據庫管理和查詢。AutoCAD支持的DWG格式數據信息主要用作規劃測繪數據成果的表現,而規劃測繪管理信息系統中數據不僅可以表現城市規劃測繪成果,還可以支持疊加分析及統計分析等GIS功能分析 。因此,建設數據庫之前需要對DWG格式支持的數據進行必要的取舍和處理。

3.2 規劃測繪數據結構模型分析

規劃測繪數據可以從地理角度和網絡角度兩個方面認識。從地理角度看,應能使規劃測繪數據本身符合空間實體要素表現和數據庫管理的需求;從網絡角度看,則需要明確各數據之間的連通關系。若按原有AutoCAD格式中的表現方式,規劃信息易產生邏輯上的混亂。

一個幾何網絡總是與一個邏輯網絡相聯系,在編輯幾何網絡要素的同時,相應的邏輯網絡元素會自動更新。在幾何網絡中的網絡要素和邏輯網絡的元素間有一對一和一對多的關聯關系。一個網絡要素類是以下四種網絡要素類型之一的集合:簡單交匯點要素、復雜交匯點要素、簡單邊線要素、復雜邊線要素。幾何網絡中的簡單邊線要素與邏輯網絡中的一條邊元素相聯系,幾何網絡中的復雜邊線要素與邏輯網絡中多個邊元素相對應,同時,這些邊必須是一個鏈狀結構。當對一個幾何網絡要素進行添加或刪除時,系統也會自動添加或刪除相應的網絡元素。在進行網絡分析時,系統會向邏輯網絡傳遞分析方案,幾何網絡和邏輯網絡是密不可分的。

4 規劃測繪數據庫設計的技術路線、模型設計方法

4.1 技術路線

基于ArcGIS平臺設計規劃測繪數據庫同樣也遵循普通數據庫設計的三個階段, 即概念模型、邏輯模型和物理模型的設計。

1) 概念模型設計階段應根據規劃測繪數據庫的特點和ArcGIS平臺的內部結構, 確定各地圖要素所屬的專題圖層, 并對要素的類型、屬性、相互之間的聯系和約束行為進行簡單描述[6]。可利用實體- 關系模型或添加了象形圖的擴展E-R模型表示要素類的組織結構及其關聯關系。

2) 邏輯模型設計應根據概念設計階段定義的數據類型、屬性及其關系和行為, 確定各地理要素的描述方式。①將離散的矢量數據組織到要素數據集、要素類或關系類中, 影像數據和表面數據組織到柵格數據集或柵格目錄中, 地圖說明信息組織到注記類中;②定義要素類和表格應包含屬性字段, 并指定各字段的屬性域、缺省值、精度和范圍等特性;③根據地理要素編碼標準恰當應用子類控制要素的行為, 設定要素間的關聯規則以增強要素的空間一致性。在邏輯模型設計階段, 可利用面向對象的工業化標準建模語言UML, 將E-R模型中的實體、屬性和聯系分別映射成UML的類、對象和關系, 組成UML靜態結構圖。

3) 物理模型設計可利用現有的軟件工程技術,借助Case工具將數據庫的邏輯模型直接轉換成物理模型, 從而避免物理模型設計階段手工建模的差錯, 提高數據庫的設計效率。

4.2 模型設計方法

1) 借助Microsoft Visio、Rational Rose或Oracle Designer 2000等Case工具設計UML類圖。ArcGIS中要素數據集、要素類、表格、幾何網絡和關系等元素可用UMLCD中的包、類和關聯來表示。最后將設計好的UMLCD輸出到XMI文件或Microsoft Repository中。

2) 在Case工具中對生成的XMI文件或Repository進行語意上的差錯處理, 在確保沒有錯誤報告的情況下可利用ArcCatalog提供的Case子系統從XMI文件或Repository生成ArcGIS方案。

3) 因橄鐘械Case工具還無法對ArcGIS方案定義空間參考和創建拓撲[7], 可利用ArcCatalog數據庫管理工具對Case工具生成的ArcGIS方案定義空間參考并創建拓撲, 同時對Case工具定義的部分關聯關系及整個數據庫方案作進一步的提煉和擴展, 以適應規劃測繪數據庫的特殊需求。

4.3 主要成果展示

分為三部分,一是數據庫系統啟動界面,二是建筑樓層查詢子系統,三是市區三維地形圖查詢。詳細情況在此省略。

5 總結與展望

以規劃部門對信息管理的需求,通過對規劃測繪數據的基本要素和數據結構的模型的研究,基本完成了基于ArcGIS平臺和AutoCAD二次開發環境對龍巖城鄉規劃測繪數據庫的設計方案,該設計方案基本實現了規劃部門所要求的功能和需求。但真要付之實踐應用,至少還需滿足以下三個條件:一是資金投入,不斷完善基本空間數據庫和外延空間數據庫的建庫工作;二是提升相關工作人員的技術水平;三是必須有強力部門牽頭協調組織,制定相應技術標準和規范,協調各部門工作。

參考文獻

[1] 邱建康. 基于AutoCAD的ArcGIS空間數據庫互操作實現[J].湖北:城市勘測,2010(5):54-56.

[2] 熊勤芳,何一明.論城市建設基礎空間數據庫建設[J].北京:中國測繪,2007(3):80-83.

篇8

數據庫是承載數據的載體,存放和提供數據的“庫房”,為我們進行數據查詢、修改、管理等操作提供便利。建立數據庫可以幫我們提升工作效率,通常適合較為龐大的系統數據存儲。

例如,國網新疆電力目前覆蓋全疆14個地州(市),涉及用戶達2000多萬人口,管理40多個部門和下屬單位。這么復雜的機構需要高效穩定的IT系統支撐國網新疆電力公司。國網新疆電力目前有多個IT系統,比較重要的系統有綜合管理數據庫、營銷系統數據庫、ODS系統、財務系統。這么多系統數據日增長量超過2TB,這需要有效的優化手段解決數據庫的性能問題。

目前通用的方式為采用Oracle數據庫來對這些數據進行存儲管理,面對廠里人員的變動則需要進行數據更新,隨著系統長期運行、用戶數和數據量不斷增大以及業務不斷變化,系統運行期間就會涉及到數據庫優化。本文就從Oracle數據庫優化進行簡單的討論,針對在優化過程中的一些注意事項、優化事項進行分析,為我們在工作中能夠熟練的掌握優化技術。

二、Oracle數據庫介紹

Oracle數據庫,英文全名為Oracle Data-base,又被稱為Oracle RDBMS或者直接簡稱為Oracle。目前最流行的B/S和C/S架構的系統中均應用到了數據庫,由于它們的架構設計中都具有自己的服務器,而數據存在這些服務器中,則需要數據庫對其進行儲存。目前對于數據庫的使用越來越廣泛,隨著人們對于數據庫的研究越來越深入,逐漸出現了數據庫云,將計算機的云計算應用到了數據庫之中,這樣使得多個數據庫聯合組成了更加龐大的數據庫網,它們之間實現了數據共享,因此對于知識、信息的涵蓋將會變得更廣。云計算的實現,帶給計算機網絡發展巨大的空間,使得將世界的計算機聯合起來形成一層一層的網絡,與此同時也將數據庫采用云管理,為數據庫的發展提供更加廣闊的空間[1]。

三、數據庫優化方案介紹

多數研究者在面對Oracle數據庫優化課題時,都會存在這樣的思想誤區,即認為只有在系統出現運行問題時才需要進行系統性能調整。而事實上,對Oracle數據庫的性能進行調整和優化是一個漫長而復雜的過程,是貫穿于整個系統運行周期的。因此,在進行系統性能優化時,應按照以下流程來進行:對系統各功能組件和硬件設備進行正確的配置對數據庫結構進行調整對SQL語句進行優化調整參數進行磁盤I/O與服務器網絡性能的調整。以上流程是一個密切聯系的整體,只有保證嚴格按照這一流程進行Oracle數據庫系統性能調整,才能確保系統的性能達到最佳狀態,真正實現Oracle數據庫的優化設計。

圖1所示是進行數據庫優化時需要考慮的內容。優化是數據庫體系的延續,數據庫的結構和運行的機制決定了數據庫的優化模式,所以說數據庫的體系結構是優化的基石。如果對數據庫的體系結構有深刻的理解,優化便水到渠成。反過來,通過優化數據庫,可以更深入的了解數據庫體系結構。數據庫各個方面都有優化的余地,主要的優化方向分為實例的優化、數據庫的優化、SQL語句的優化。其中SQL優化是重中之重。

對Oracle數據庫進行優化,應該遵循優化SQL查詢語句――索引優化――合理分布數據庫物理文件――分析及優化Oracle內存分配原則。具體如下:

(一)SQL查詢優化

SQL查詢,主要針對數據庫的信息進行搜索,尋找自己的需求信息。數據庫內的一切操作都是經由SQL語句進行執行,因此SQL語句的執行效率很大程度上決定了Oracle數據庫的性能。進行SQL語句的優化,首先應該構建原始數據庫BASICPROJECT,其中包含了與生產數據庫基本一致的數據庫對象;其次,應該充分的利用SQL Trace、awrsqrpt、sqlplus中的autotrace、explain等跟蹤技術對語句進行優化重寫 [4]。我們在建立SQL語句的時候要盡量的避免出現相關子查詢,以及選擇語句的使用,這樣就能從數據建立的時候減輕查詢的負擔。針對聯合查詢連接遇到5張或者5張表單以上的選擇時,建議采用優化器對SQL語句中所包含的表單進行物理大小排序,建立起一定的查詢順序,來提升查詢的效率。

(二)索引優化分析

索引技術是提升檢索速度和系統性能的主要技術,對于數據查詢來說,合理使用索引可以極大的提高查詢的命中率和效率。索引是將表中數據的邏輯值映射到rowid中,所以在查詢時使用索引功能能夠快速的定位出查詢數據的物理地址,從而找出數據。

索引對數據庫的性能影響是巨大的,但索引不是萬能的,數據庫對索引的使用是有選擇的,我們可以強制使用索引,也可以強制不使用索引。一般的情況下數據庫會自動的判斷是否使用索引,除非你明確的在SQL語句中指定。

所有索引的原形都是樹狀結構,由根、枝干和葉子組成。根和枝干中存放鍵值范圍的導引指針,葉子中存放的是條目,條目中存放的是索引的鍵值和該數據行ROWID。索引的葉子間通過指針橫向的聯系在一起,前一個葉子指向下一片葉子,這樣的目的是數據庫在找到一個葉子后就可以查找相臨近的葉子,而不必再次去查找根和枝干的數據塊。

有的DBA發現了索引并不能提高查詢速度,反而對整個數據庫的性能有較大的不良影響,出現該問題主要是和SGA數據管理方式有關。當Oracle進行數據高速緩存管理時,普通數據的駐留權限要比索引數據的權限要低,當兩者在空間上競爭時,索引數據往往會駐留;如果是大型表建立索引時,索引數據占了大部分的緩存空間,使Oracle只能通過磁盤讀寫來獲得數據,所以在大型表分區后,伴隨索引也得進行相應分區,索引的使用應該有一個指定的合適路徑[5]。

(三)分布表空間

在整個數據庫工作過程中,各相關進程會將數據庫中的事務分別寫到聯機日志文件、歸檔日志文件和數據文件當中,這會不可避免的造成這三類文件之間的I/O沖突;并且歸檔日志文件因其特殊性,無法同系統、業務和索引這些表空間共存,這就需要一個獨立的磁盤來完成合理分布表空間的功能,對各項數據進行合理的分配,以避免文件之間的I/O沖突。

(四)數據緩沖區的調整分析

數據庫的緩沖區是SGA不可缺少的組成部分,它的作用是對磁盤的讀入數據進行存儲,存儲的數據為用戶共享。如果需要修改數據時,首先要從數據文件中將數據讀取出來存儲在數據緩沖區;如果用戶對數據緩沖區的設置太小,那么數據的操作性能將會受到很大的影響。用戶越多,該問題越突出,該問題的出現使得很多人去關心如何判斷數據緩沖區大小,如何確定緩沖區的效率,該類問題可以通過計算命中率來進行確認。

數據緩沖區V$sysstat中的consistent_gets、db_block_gets是consistent mode和current mode模式下的數據讀取總量,physical reads是整個磁盤物理數據讀取總量,這兩個數據的讀取總量的比值就是所謂的命中率,如果兩個數據比值<90%,那么就需要對該緩沖區大小進行調整[2]。

(五)共享池調整分析

共享池同樣也是SGA的重要組成部分,它主要包含了數據字典高速緩存與庫高速緩存,這兩者的作用是對整個SQL程序進行語法分析、編譯以及執行。

庫高速緩存中會將解析過的SQL語句、PL/SQL(存儲過程、函數、包)進行緩存。如果為了工作的需要,將解析過的SQL信息重用會提高整個數據庫的性能,可以將解析過的SQL信息存儲在共享池中,這就需要共享池的設置要足夠的大。通過對V$librarycache查詢實例來觀察整個庫高速度緩存的活動情況,其中的reloads和pins,它們分別是庫高速緩存執行階段的未命中數目和庫高速緩存中被執行的次數,如果庫緩沖區的失敗率超過的1%,那么就需要對其進行調整。除此之外,還有些情況也需要共享池的設置要大,字典數據高速緩存的總丟失數和總的存取數的比值應該接近零,當這個數值超過10%,那么就需要對其進行調整。如將表定義的詳細信息長期的存儲在共享池中,將其進行重用,提高數據庫的整體性能[3]。

通過V$rowcache來對數據字典高速緩存活動進行詳細查詢,其中的get misses和gets分別代表的是字典數據讀取的失敗和成功次數,通常要求的比值小于10%,若超過則需要進行及時的調整。

(六)日志緩沖區優化方案

日志緩沖區主要是保存了對數據庫修改信息,設置的大小一般為2兆以內的內存,最小為500K。日志緩沖區也不能過小,否則會增加日志的寫盤次數,從而為I/O接口增加負擔。日志緩沖區中的常見指令為:immediate gets表示成功立即得到日志緩沖區次數;immediate misses 則表示未成功立即獲取日志緩沖區次數。V$latch中的gets和misses表示成功獲得緩沖日志次數以及未成功獲得日志緩沖區次數,其失敗率要小于1%,如果超出則需要對數據庫進行調整。

(七)合理的使用工具

有時候想直接在SQLPLUS中看ASH/ADDM/AWR報告,用下面方法比較方便,因為AWR數據在數據庫中默認只保留7天,當我們進行性能對比分析需要保留時段之前的AWR時,可以采用腳本定時將AWR報告輸出保存。

ASH (Active Session History)

ASH以V$SESSION為基礎,每秒采樣一次,記錄活動會話等待的事件。不活動的會話不會采樣,采樣工作由新引入的后臺進程MMNL來完成。

生成ASH報告:

SQLPLUS>@?/rdbms/ashrpt.sql

ASH內存記錄數據始終是有限的,為了保存歷史數據,引入了自動負載信息庫(Autom-atic Workload Repository ,AWR) 由后臺進程MMON完成。ASH信息同樣被采集寫出到AWR負載庫中。由于內存不是足夠的,所以MMNL進程在ASH寫滿后會將信息寫出到AWR負載庫中。ASH全部寫出是不可接受的,所以一般只寫入收集的10%的數據量,而且使用direct-path insert完成,盡量減少日志的生成,從而最小化數據庫性能影響。

寫出到AWR負載庫的ASH信息記錄在AWR的基礎表wrh$active_session_hist中,wrh$active_session_hist是一個分區表,Oracle會自動進行數據清理。

AWR(Automatic Workload Repository)自動工作負載信息庫

AWR是Oracle 10g中的一個新特性,類似于10g以前的statspack。不過在使用上要比statspack簡單,提供的性能指標要比statspack多很多,能更好的幫助DBA來發現數據庫的性能瓶頸。

AWR 是Oracle安裝好后自動啟動的,不需要特別的設置。收集的統計信息存儲在SYSAUX表空間SYS模式下,以WRM$_*和WRH$_*的格式命名, 默認會保留最近7天收集的統計信息。每個小時將收集到的信息寫到數據庫中,這一系列操作是由一個叫MMON的進程來完成的。

AWR存儲的數據分類:

WRM$表存儲AWR的元數據(awrinfo.sql腳本)

WRH$表存儲采樣快照的歷史數據(awrrpt.sql腳本)

WRI$表存儲同數據庫建議功能相關的數據(ADDM相關數據)

生成AWR報告:

SQL>@?/rdbms/admin/awrrpt

根據向導來完成AWR報告的生成。需要注意的是,在選擇時間范圍的時候,中間不能有停機(如果顯示的中間有空白行,表示有停機情況)。在選擇報告類型的時候一般使用默認的HTML,方便查看。

查看數據庫的AWR的設置:

SQL> select snap_interval, retention from dba_hist_wr_control;

SNAP_INTERVAL

RETENTION

--------------------------------- ----------------------------------

+00000 01:00:00.0(每小時收集一次) +00007 00:00:00.0(保留7天)

修改默認設置:

begin

DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(interval => 20,

retention => 2*24*60);

end;

修改成每20分鐘收集一次統計量,保留最近的2天統計量信息。

手動收集一次數據庫的統計信息:

exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

我們還可以通過DBMS_WORKLOAD_REPOSITORY包完成對基線、默認設置的修改等操作。

ADDM (Automatic Database Diagnostic Monitor AWR)

是Oracle內部的一個顧問系統,能夠自動的完成最數據庫的一些優化的建議,給出SQL 的優化、索引的創建、統計量的收集等建議。

ADDM報告生成:

SQLPLUS>@?/rdbms/addmrpt.sql

Oracle 性能調整最重要的就是對最影響性能的SQL的調整。在一個應用中,能夠影響到數據庫的只有SQL,也只能是SQL。我們不能一味依靠增強硬件,修改系統、數據庫參數來提高數據庫的性能,更多的應該關注那些最影響性能的SQL語句。ASH報告、AWR報告、ADDM報告都是能夠找出最影響性能的SQL語句的工具。 在分析ASH報告、AWR報告的時候,最重要的就是關注SQL Statistics,SQL Statistics中最應該關注的是SQL ordered by Gets和SQL ordered by Reads兩個指標。大量的Gets(邏輯讀)會占用大量的CPU時間,大量的Reads(物理讀)會引起IO的瓶頸出現。一般情況下,大量的Gets會伴隨著大量的Reads出現。當然,我們可以通過增大SGA的大小來減少Reads的量。通過這兩個指標找到了最影響性能的SQL,這是首要的,也是必要的。下一步就可以通過創建索引,調整SQL來提高SQL單獨執行的性能,減少SQL執行時出現的高Gets,Reads。當然整體的性能影響還和excutions有關,如果這條SQL執行的次數過多,累加起來的量很大,那么就可以考慮通過在應用上緩存等手段來減少SQL執行的次數。另外還有一個需要注意的問題就是在開發過程中SQL一定要使用綁定變量,來減少硬解析(大量的硬解析也會消耗大量的CPU時間,占用大量的Latch)。在開發過程中有個原則就是:小事務操作完成及時提交。

我們使用這么多種方式、報告只有一個目的:找出最影響系統性能的SQL語句。找到SQL下一步就是對它進行調整了。

我們在監控數據庫時,如果是當前正在發生的問題,我們可以通過v$session+v$sqlarea來找出性能最差的SQL語句。如果在一個小時以內發生的我們可以通過生成ASH報告來找出SQL。如果是1小時以上或幾天我們可以通過AWR報告來找出幾小時,幾天以來最影響系統的SQL語句。ADDM報告基于AWR庫,默認可以保存30天的ADDM報告。

我們也可以直接查詢試圖:

v$session (當前正在發生)

v$session_wait (當前正在發生)

v$session_wait_history

(會話最近的10次等待事件)

v$active_session_history

(內存中的ASH采集信息,理論為1小時)

wrh$_active_session_history (寫入AWR庫中的ASH信息,理論為1小時以上)

dba_hist_active_sess_history (根據wrh$_active_session_history生成的視圖)

四、總結語

企業中使用Orcale數據庫來儲存數據,有效的改善了以前對于企業信息數據處理的問題。有效的節約了信息處理資源,且采用Orcale數據庫將所有的員工等信息進行備份,方便以后查詢,若數據庫的數據不丟失,那么則能夠通過查詢進行查詢。本文主要針對Oracle數據庫進行介紹,然后根據數據庫中的內容進行優化,為以后企業在數據庫的優化上提供借鑒。

參考文獻

[1]溫創新.電視廣告商務平臺中Oracle數據庫的ADICI設計與優化研究[D].中南大學,2011.

[2]王斌.基于Oracle數據庫技術的航行情報系統(CNMS)性能優化[D].電子科技大學,2010.

[3]張舒.超大型Oracle數據庫的基礎設計和優化設計[J].價值工程,2011,10:178.

篇9

1 引言

信息是信息化戰爭中的決定因素,而數據鏈的根本作用就是解決信息獲取、信息處理和信息傳輸的結合問題,并從速度上進行優化,極大地增強部隊的整體作戰效能。

復雜電磁環境是信息化戰場的重要特征,在未來信息化條件作戰中,戰場復雜電磁環境將對各類信息化武器裝備將產生嚴重影響。

戰場環境千變萬化,參戰平臺也是多種多樣,大規模作戰應用條件下的數據鏈綜合應用,是作戰研究的關鍵,也是數據鏈推演系統研究的核心內容。而能夠支撐大規模數據鏈平臺接入模擬的數據庫是推演的基礎。本文在對Link-16數據鏈應用研究的基礎上,提出了系統數據庫的結構設計和應用流程,使之能夠快速高效地支撐推演系統的運行。

2 數據鏈推演系統

Link-16數據鏈,又稱戰術數字信息鏈路-J(TADIL-J)是美國和北約部隊廣泛采用的一種戰術數據鏈。Link-16數據鏈已經裝備美國和北約全部的預警機和許多地面防空指揮所、戰斗機、直升機、驅逐艦和航母等典型的作戰平臺。

數據鏈推演系統是針對美軍及北約部隊廣泛應用的Link-16數據鏈而建立的仿真推演系統,通過加載想定和網絡規劃,在統一的推演控制下,在網絡運行模擬設備、各參與平臺和支撐平臺的參與下,對任務規劃和行動需求一致性、Link-16網絡規劃以及網絡資源的合理性進行驗證。

3 推演數據庫組成

推演系統數據庫組成如圖1所示。

3.1 數據庫管理系統

數據庫管理系統是根據不同的需求對平臺庫、裝備庫、行為模型庫以及復雜電磁環境庫等進行管理、包括添加、刪除和參數修改等工作,同時對數據庫整體進行備份和存貯。

3.2 平臺模型數據庫

平臺模型庫主要建立平臺模型各種參數信息,包含空中、水面、陸地和水下平臺,為推演系統提供平臺數據。

3.3 裝備模型數據庫

裝備模型數據庫主要建立平臺數據鏈裝備模型的各種參數信息,包含Link16數據鏈裝備、雷達裝備、電子戰裝備等,為推演系統提供數據鏈所需的各種裝備數據。

3.4 行為模型數據庫

行為模型庫主要建立平臺所參與的行為模型,包含平臺的起飛、降落、到達指定高度、巡航、按照軌跡運動、按照軌跡前往等行為,為推演系統提供平臺行動數據。

3.5 復雜電磁環境模型數據庫

復雜電磁環境模型庫主要建立戰場復雜電磁環境干擾模型以及根據不同環境下的電磁環境參數庫,為推演系統提供復雜電磁環境態勢以及為裝備受干擾狀態下的干擾計算提供基礎參數。

3.6 行動腳本數據庫

行動腳本數據庫主要建立推演劇情的各種數據信息的綜合,包含推演平臺組成、裝備情況、推演平臺行為、網絡組織情況、數據鏈應用情況等,為推演提供全部數據以及推演劇情的保存。

4 數據庫及應用流程設計

4.1 數據庫設計

推演系統數據庫包括:平臺模型庫,裝備模型庫,行為模型庫,復雜電磁環境模型庫,行動腳本數據庫。模型是以參數的集合進行定義,即每種模型由一系列參數描述。例如,戰斗機模型的平臺類型為空中平臺,油量為50000L,機翼為50m,機長200m等。Link-16數據鏈裝備模型的鏈路類型為Link16,波道號為01,網絡號為16等。每種模型庫以樹形結構進行組織管理。根模型擁有模型基本參數集,子模型在繼承父模型的參數集的同時,擁有自己特有的參數集。如圖2所示,假設某平臺模型的樹形結構圖如下:

R表示根節點的參數集,A,B,C分別表示子節點獨有的參數集,A1,A2;B1,B2;C1,C2表示葉子節點獨有的參數集。

圖2 參數繼承圖

最左側葉子結點的所有參數的集合為:

(1)數據庫管理系統。

數據庫管理系統是對推演系統的模型庫進行管理維護的系統。主要完成推演系統數據庫的維護,包括模型的查詢,添加,刪除,編輯,保存,備份功能,如圖3所示。推演數據庫包括:平臺模型庫,裝備模型庫,行為模型庫,復雜電磁環境模型庫,行動腳本庫。數據庫管理系統啟動之后,建立與各個模型庫的連接。每個時刻只能由一個連接是活動狀態,只有在活動狀態下才能完成模型庫的編輯。系統支持一鍵切換各個模型庫連接的活動狀態。系統以樹形結構展示庫中的各個模型及其參數數據。在進行了添加,刪除,編輯參數等操作之后,通過保存將數據寫入模型庫。另外,系統支持數據庫的備份。

圖3 數據庫管理流程圖

1)模型庫的添加。

執行模型添加功能時,系統自動建立該模型的基本參數集。用戶可以為該模型添加特有參數,并為其設置參數值。基本參數集和特有參數共同構成該新增模型的參數集。

2)模型庫的刪除。

執行模型刪除功能時,系統刪除該模型庫的參數集,假如該模型有子模型,系統首先刪除其子模型,繼而刪除該模型。

模型的編輯主要包括模型的參數集的編輯,包括添加,刪除,修改參數值等。

4)模型的保存。

保存功能主要完成對以修改模型的保存,將修改后數據存入平臺模型數據庫。

5)模型的備份。

系統將模型數據庫按制定的文件類型另存為到制定的物理存儲空間。存儲文件類型包括:.sql,.txt,.xml等。

(2)平臺模型庫。

平臺模型庫為推演系統提供平臺數據。平臺模型庫以樹形結構進行組織管理。一級模型包括空中平臺、陸地平臺、水面平臺、水下平臺四種類型。二級空中平臺模型包括:戰斗機、加油機、預警機、無人機等。二級陸地平臺模型包括:指揮所,裝甲車,雷達站,坦克等。二級水面平臺模型包括:航空母艦,艦船。二級水下平臺模型包括:潛艇等。模型以參數的集合描述。子模型在繼承了父模型的參數同時,擁有自己特有的參數。

下面說明空中平臺模型,地面模型,以及空中模型的子模型――戰斗機模型的參數集。其中戰斗機模型參數表中說明了子模型和父模型之間的參數繼承關系,見表1和表2所示。

表1 平臺模型示例

表2 戰斗機平臺模型

(3)裝備模型庫。

裝備模型數據庫主要建立平臺數據鏈裝備模型的各種參數信息,包含Link16數據鏈裝備、雷達裝備、電子戰裝備等,為推演系統提供數據鏈所需的各種裝備數據。該模型庫只有一級,模型庫中每個模型擁有自己的參數集,示例如表3所示。

表3 裝備模型示例

(4)行為模型庫。

行為模型庫主要建立平臺所參與的行為模型,包含平臺的起飛、降落、到達指定高度、巡航、按照軌跡運動、按照軌跡前往等行為,為推演系統提供平臺行動數據。該模型庫只有一級,每個行為模型擁有自己的參數集,示例如表4所示。

表4 行為模型示例

(5)復雜電磁環境模型庫。

復雜電磁環境模型庫主要建立戰場復雜電磁環境干擾模型以及根據不同環境下的電磁環境參數庫,為推演系統提供復雜電磁環境態勢以及為裝備受干擾狀態下的干擾計算提供基礎參數,示例如表5所示。

表5 復雜電磁環境模型示例

(6)行動腳本庫。

行動腳本數據庫主要建立推演劇情的各種數據信息的綜合,包含推演平臺組成、裝備情況、推演平臺行為、網絡組織情況、數據鏈應用情況等,為推演提供全部數據以及推演劇情的保存。

4.2 數據庫應用流程

根據數據鏈推演要求,數據庫系統應用流程如圖4所示。

圖4 數據庫應用流程設計

數據庫管理系統按照行動文件中描述的數據鏈應用場景和行動計劃,分解提煉該次行動的平臺組成、裝備情況、行為狀態、數據鏈網絡應用情況以及復雜電磁環境狀態。根據上述推演行動數據,系統在復雜電磁環境模型庫、平臺模型庫、行動模型庫、裝備模型庫中提取相關模型及數據,利用推演標繪生成行動腳本文件并存入行動腳本庫。推演展現可以直接調用行動腳本庫的行動預案進行推演,該行動腳本包含行動單位組織結構,行動網,行動軌跡等信息。推演系統可直接加載行動腳本,并在推演時展現整個行動腳本的推演態勢。

5 結束語

21世紀的戰爭是高科技的戰爭,信息權是戰爭爭奪的制高點,復雜電磁環境下的數據鏈綜合應用關系到聯合作戰的整體作戰效能,數據鏈推演系統是對Link-16數據鏈網絡規劃及資源進行模擬仿真驗證,而數據庫是推演的核心和基礎,良好的數據庫設計能夠提升系統的計算能力和靈活性,為大規模數據鏈作戰應用提供很好地支撐,對其它類似系統數據庫設計提供一定的借鑒。

參考文獻:

[1] 高斌,唐曉斌,彭益,等.復雜電磁環境下的數據鏈資源分配技術研究[J].中國電子科學研究院學報,2010,5(3):248-252.

[2] 魏立柱,彭益,高斌.Link 16數據鏈驗證測試技術[J].電訊技術,2011,51(3):9-13.

[3] 彭益,魏立柱.基于HLA的Link-16推演支持系統設計[J].微處理機,2012,33(1):87-93.

[4] 孫義民,楊麗萍.信息化戰爭中的戰術數據鏈[M].北京:北京郵電大學出版社,2005.

篇10

二、數據庫簡介

所謂數據庫,就是一個長期存儲在計算機內的、有組織的、可共享的、統一管理的數據集合。它是一個按一定的數據結構來存儲和管理數據的計算機軟件系統。不同的用戶可以按各自的需求使用數據庫中的數據,多個用戶可以同時共享數據庫中的數據。數據庫系統立足于數據本身的管理,將所有數據保存在數據庫中,進行科學的組織,并借助于數據庫管理系統,以它為中介,與各種應用程序或應用系統接口,使之能方便地使用數據庫中的數據。簡單地說數據庫就是一組經過計算機整理后的數據,存儲在一個或多個文件中,而管理這個數據庫的軟件就稱之為數據庫管理系統。數據庫系統一般是由數據庫、數據庫管理系統、數據庫應用系統及計算機軟硬件、系統人員和用戶等組成。

三、數據庫設計在二調中的應用

在全國第二次土地調查中,數據庫建設就發揮了很大的作用,它將我們調查到的各種數據全部集中在數據庫管理系統中,使我們以后能更方便、快捷地進行查詢、管理等工作。

建立一個數據庫管理系統,首先,我們都需要一個數據庫平臺,現在我們常用的數據庫平臺大概有幾種:Access、SQL server、oracle等。而對于二次調查這種大型的項目,里面含有很多圖形數據、圖像數據、屬性數據等資料的數據庫,我們一般選擇SQL server 和oracle這種功能較強的關系數據庫作為我們建立數據庫的平臺。這樣就需要我們能夠了解數據庫建設的相關原理和設計過程。

數據庫的設計就是指根據用戶的需求,在某一具體的數據庫管理系統上,設計數據庫的結構和建立數據庫的過程。一般來說,數據庫的設計過程大致分為需求分析、概念設計、邏輯設計、物理設計、概念設計、數據庫運行和維護6 個步驟。

具體對于二次調查項目來說,需求分析就是指調查和分析全縣各類土地利用情況,按照國家的分類要求和調查規范,對全縣土地進行分類、劃分,建立一套完整的土地利用管理數據庫。

概念設計是指對用戶要求描述的現實世界,通過對其中住處的分類、聚集和概括,建立抽象的概念數據模型。在二調中就是指土地各個分類之間的相互關系,權屬關系,具體來說,就是“縣―鄉―村―圖斑”,由相同權屬性質(坐落權屬代碼)的圖斑組成村,由村組成鄉,由鄉生成縣。將屬性信息和圖形信息相互照應起來,就是數據庫中常說的“E―R 模型”。

邏輯設計是指將現實世界的概念數據模型設計成數據庫的一種邏輯模式,即適應于某種特定數據庫管理系統所支持的邏輯數據模式。在二調中就是指將土地利用現狀中的各種地類、屬性轉換成數據庫管理系統能夠識別的模式。并能讓我們直觀地查詢出來。

物理設計是指數據庫的存儲結構和存儲方法,數據庫管理系統會根據具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏輯等)、存取方法和存取路徑等。這一步設計的結果就是所謂“物理數據庫”。在二調建庫中,指定的管理系統會將我們的基礎資料保存在適合的位置。

驗證設計是指在上述設計的基礎上,收集數據并具體建立一個數據庫,運行一些典型的應用任務來驗證數據庫設計的正確性和合理性。在二調中,驗證設計就是在將數據庫中的所必須的數據,圖形,屬性全部附上,建立一個完整的數據庫,并實現各種查詢功能,統計功能等。

數據庫運行和維護是指數據庫系統正式運行,標志著數據庫設計與應用開發工作的結束和維護階段的開始。運行維護階段的主要任務有四項:(1)維護數據庫的安全性與完整性:檢查系統安全性是否受到侵犯,及時調整授權和密碼,實施系統轉儲與備份,發生故障后及時恢復。(2)監測并改善數據庫運行性能:對數據庫的存儲空間狀況及響應時間進行分析評價,結合用戶反應確定改進措施。(3)根據用戶要求對數據庫現有功能進行擴充。(4)及時改正運行中發現的系統錯誤。而對于二調的項目,就是指數據庫的維護階段,把數據庫中各種數據,如圖斑,線狀地物,地類界線等,把按照國家要求所需要的屬性全部附在數據上。并且根據管理部門的要求,可以對數據庫進行修改;另外實現數據庫的備份,還原等功能。

這樣,一個完整的數據庫就建好了。其實在建設數據庫的過程中,重要的內容在于前期數據的整理。對于二調來說,無論采用SQLserver 或者oracle 平臺,數據庫管理系統無論采用蒼穹或者mapgis等,數據庫的一個基本模式已經建立完整。我們只需要把我們的外業資料轉化為數據庫能夠識別的數據就可以了。這就要讓我們保證外業調查地圖的正確性,完善性;內業矢量化工作的嚴謹性。在矢量化的過程中,同時將一些必須的屬性同時附上。比如說地類圖斑的地類代碼,權屬性質等。線狀地物的寬度,線狀地物代碼,權屬性質等。這些東西是需要我們手工賦值的。其他的一些必備屬性,數據庫管理系統會根據數據字典,根據國家要求設定好的程序對各種數據進行維護。

篇11

1.1數據庫連接方案選擇

RDO、DAO和ADO是比較常見的Web數據庫訪問技術。

DAO (Data Access Objects) 數據訪問對象是第一個面向對象的接口,它含有 Microsoft Jet 數據庫引擎(由 Microsoft Access 所使用),并允許 Visual Basic 開發者通過 ODBC 象連接到其他數據庫一樣,直接訪問到 Access 表。DAO 最適用于單系統應用程序或小范圍本地分布使用,對大范圍的異地并行設計顯得功能不夠強大。

RDO (Remote Data Objects) 遠程數據對象是一個到 ODBC 的、面向對象的數據訪問接口,它同易于使用的 DAO style組合在一起,提供了一個接口,形式上展示出所有 ODBC 的底層功能和靈活性。RDO 在訪問 Jet 或 ISAM 數據庫方面有一定的限制,而且它只能通過現存的 ODBC 驅動程序來訪問關系數據庫。但是,RDO 已被證明是許多 SQL Server、Oracle

以及其他大型關系數據庫開發者經常選用的最佳接口。RDO 提供了用來訪問存儲過程和復雜結果集的更多和更復雜的對象、屬性,以及方法。對異地并行設計Web數據庫來說也不是十分理想。

ADO(ActiveX Data Objects)為ActiveX組件中數據庫訪問組件,ASP就是通過它實現對數據庫的訪問。ADO 是 DAO、RDO 的后繼產物。ADO 2.0在功能上與 RDO 更相似,而且一般來說,在這兩種模型之間有一種相似的映射關系。ADO “擴展”了 DAO 和 RDO 所使用的對象模型,這意味著它包含較少的對象、更多的屬性、方法(和參數),以及事件。例如,ADO 沒有與 rdoEngine 和 rdoEnvironment 對象相等同的對象,可以包含 ODBC 驅動程序管理器和 hEnv 接口。盡管事實上接口可能是通過 ODBC OLE DB 服務提供程序實現的,但目前也不能從 ADO 中創建 ODBC 數據源。ADO 是為 Microsoft最新和最強大的數據訪問范例 OLE DB 而設計的,是一個便于使用的應用程序層接口。OLE DB 為任何數據源提供了高性能的訪問,這些數據源包括關系和非關系數據庫、電子郵件和文件系統、文本和圖形、自定義業務對象等等。ADO 在關鍵的 Internet 方案中使用最少的網絡流量,并且在前端和數據源之間使用最少的層數,所有這些都是為了提供輕量、高性能的接口。同時 ADO 使用了與 DAO和 RDO相似的約定和特性,簡化的語義使它更易于學習。

ADO最早是在IIS中引入的,主要用于ASP,用ADO可以使服務器端的腳本通過ODBC存取和操縱數據庫服務器的數據。使用ADO的對象可以建立和管理數據庫的連接,從數據庫服務器請求和獲取數據,執行更新、刪除、添加數據、獲取ODBC的錯誤信息等。ADO是ASP方案中最具吸引力的數據庫連接控件,它為用戶提供了連接任何兼容ODBC的數據庫以及創建全功能數據庫應用程序的能力。

ADO具有簡單易用、高速、占用資源少等的優點。不同于DAO和RDO,ADO有著更高的執行效率。ADO 對象模型如圖1a所示。每個 Connection、Command、Recordset 和 Field 對象都有 Properties 集合,如圖1b所示。

a)

b)

圖1 ADO對象模型及屬性

應該說,ADO是微軟的下一代數據庫連接技術,用來全面取代RDO和DAO的數據訪問工具。從發展趨勢來看,ADO今后將逐步替代老的DAO特別是RDO數據訪問接口,成為新的遠程數據訪問方法。所以,選擇ADO作為產品異地并行設計的Web數據庫接口技術是合適的。

1.2 ADO應用分析

ADO 并不是自動和現存的數據訪問應用程序代碼兼容的。當 ADO 封裝 DAO 和 RDO 的功能性的時候,必須將許多語言要素轉換為 ADO 語法。在某些情況下,這將意味著要對現存代碼的某些功能做一個簡單轉換。在其他情況下,最佳的做法可能是用 ADO 的新功能重寫該應用程序。

包含在 DAO 和 RDO 模型中的許多功能被合并為單個對象,這樣就生成了一個簡單得多的對象模型。然而,由于這個原因,起初可能會覺得找到合適的 ADO 對象、集合、屬性、方法,或事件非常困難。與 DAO 和 RDO不同的是,盡管 ADO 對象是分層結構的,但在分層結構范圍之外也是可以創建的。同時,也應當注意,ADO 當前并不支持 DAO 的所有功能。ADO 主要包括 RDO 風格的功能性,以便和 OLE DB 數據源交互,另外還包括遠程和 DHTML 技術。

一般說來,在 ADO 的演化過程中,馬上把大多數 DAO 應用程序(except possibly是那些使用 ODBCDirect 的應用程序)移植到 ADO 上為時太早,因為當前的 ADO 并不支持數據定義 (DDL)、用戶、組等等。不過,如果只將 DAO 用于客戶—服務器應用程序,并不依賴于 Jet 數據庫引擎或不使用 DDL,那么就可能移植到 ADO。最終,Microsoft 將提供一個 ADO DDL 組件來幫助進行 DAO 到 ADO 的移植,并為 OLE DB 供應商提供一般的 DDL 支持。

在ASP中使用ADO技術來訪問Web數據庫,其應用前景是無可估量的。原理圖如下:

圖2 ADO在ASP程序中的應用

常見的數據庫類型有面向對象的數據庫(OODB)和關系型數據庫。OODB對主流數據庫應用開發來說是相當新穎的,使用OODB使應用程序中的數據對象與現實世界中的對象一一對應,面向對象數據庫擴充了對象模型。一個常用的對象模型是由對象數據庫管理組(ODMG)開發出來,具有比傳統的關系數據庫更優越的性能,但畢竟在目前還是一種探索階段,暫時還未有相應的技術普及。

關系數據庫已經是數據庫體系的世界標準。當開發一個數據驅動應用程序時,大多數情況下用戶需要訪問網絡(如Internet、Intranet等)上的數據信息,就RCDS就是建立在網絡的信息通訊之上,是完全的客戶機/服務器應用程序。

SQL Server是一個可縮放、高性能的關系型數據庫管理系統(RDBMS),它的設計是為了滿足分布式客戶/服務器計算的需要,允許客戶應用程序使用幾個特定的工具和技術控制從服務器檢索的數據。這些包括觸發器、存儲過程和規則的選項。因此,系統采用MS SQL Server7.0作為后臺數據庫。

數據模型通常有層次模型、網狀模型、關系模型及OO(面向對象)模型等。其中關系模型是建立在數學概念基礎之上的一種模型,由若干個關系框架組成的集合,它也是到目前為止最為成熟的一種數據庫類型。本文RCDS采用MS SQL Server作為后臺數據庫,根據數據庫工具和數據庫特點,開發出一套可靠健壯的數據存儲方案。

整個數據庫共有AdminData、ChatNames、DesignUnits、Message、OnlineUnits、Products、RqtTasks、RqtTaskUnits、RqtDesignUnits、ShareData、Tasks、TaskUnits和UploadFiles等表格。在建立數據模型的時候首先考慮是要避免重復數據,也就是建立規范化數據庫。規范化數據庫可以通過被稱為范式水平的指標來衡量,級別有第一范式、第二范式和第三范式,通常第三范式就是要達到的目標,因為它提供了數據冗余和開發簡易性之間的最好折衷。

RCDS數據庫正是按照第三范式標準來設計的,它保證了模型的精簡和表格的緊湊性。而第三范式標準也最大發揮了關系數據庫的優勢,圖3是部分表格的視圖鏈接情況。

圖3 關系表格視圖 4.1 并發控制的處理 在多個用戶同時訪問一個數據庫時就產生并發問題,特別是在其中一些用戶對數據庫有添加或刪除修改等操作時,那么其他所獲得的數據可能是一塌糊涂,甚至造成整個數據訪問的沖突、終止,從而使系統發生混亂以至崩潰。RCDS采用的解決辦法是鎖定技術,總體上分為共享鎖定和排它鎖定兩種類型(如圖4)。前者是指同時有幾個過程共享一個鎖定,比如一個用戶(或客戶)正在讀取一個數據,雖然在這之前他已經對該數據設置了鎖(LOCK),但其他用戶同樣可以(也只能是)讀取它。而排他鎖定一般應用于對數據進行修改或更新(包括添加刪除等)操作,即是用戶在修改一個數據之前設置了鎖定,在一定的時間里其他用戶是不能訪問到該數據的,只有等待鎖定解除(UNLOCK)才能進行訪問到它,當然在計算機處理的時候,其他的用戶一般是感覺不到有這個等待時間的。通過這樣的處理,就保證了數據的一致性。

a) 共享鎖定

b) 排它鎖定

圖4 安全鎖定類型

在ADO進行數據庫操作時,它的鎖定類型相對來說復雜一些。打開記錄集時,可以指定鎖定類型。鎖定類型決定了當不止一個用戶同時試圖改變一個記錄時,數據庫應如何處理。ADO中的鎖定主要有以下四種類型:

l AdLockReadOnly 指定你不能修改記錄集中的記錄

l AdLockPessimistic 指定在編輯一個記錄時,立即鎖定它

l AdLockOptimstic 指定只有調用記錄集的Update方法時,才鎖定記錄

l AdLockBatchOptimstic 指定記錄只能成批地更新

在缺省情況下,記錄集使用只讀鎖定。要指定不同的鎖定類型,可以在打開記錄集時包含這些鎖定常量之一。部分代碼如下:

… …

Set MyConn=Sever.CreateObject(“ADODB.Connection”)

//定義數據庫連接MyConn

Set RS=Sever.CreateObject(“ADODB.RecordSet”)

//定義返回數據記錄集

MyConn.Open “ByktDB.dsn”//建立應用程序與數據源的連接

RS.Open “SELECT * FROM Mytable”, MyConn, adOpenDynamic, adLockPessimistic

//進行數據庫操作,并且設置鎖定

RS.Close

MyConn.Close

… …

數據的安全因素除了前面所提到的并行控制之外,還要考慮事務處理。網絡數據庫有其不同的地方,例如:假設某個時間有一個設計人員在你的站點上索取一些設計信息,有關的設計信息存儲在兩個表中。一個表用來保存該設計者的信息,另一個表包含了要索取的設計信息。該設計人員的信息已經輸入了第一個表中。但是,就在這時,發生了意外情況,一道閃電擊中了你的服務器,使第二個表沒有被更新。在這種情況下,一個健壯的系統就必須保證最后的結果是兩個表都沒有被更新過。這時候事務處理就發揮了重要的功效。

使用事務處理,你可以防止第二個表沒有被更新而第一個表被更新的情況出現:當一組語句構成一個事務處理時,如果一個語句沒有執行成功,則所有的語句都不成功。不管是針對多個表,還是進行表內多個記錄的操作,它們所需要的安全保證是一樣的。事務處理的實現代碼如下:

… …

Set MyConn=Sever.CreateObject(“ADODB.Connection”)

MyConn.Open “ByktDB.dsn”

MyConn.BeginTrans //事務處理開始

MyConn.Execute “INSERT DataTable(Num) Values(‘3628’)”

MyConn.Execute “INSERT Shipping (Address) VALUES(‘Paris,France’)”

MyConn.CommitTrans //事務處理結束

MyConn.Close

… …

在上面這段代碼中,用BeginTrans方法和CommitTrans方法來標記事務處理的開始和結束。在BeginTrans方法被調用之后,CommitTRans方法被調用之前,不管出現什么錯誤,兩個表都不會被更新,在這個過程中所有處理的數據都保持了完全可靠的一致性。

5 結論 ADO是由微軟公司推出的以ActiveX技術為基礎的數據存取方法。它的主要特點是使用更加容易,訪問速度更快,支持建立各種客戶/服務器模式與基于Web的應用程序。RCDS正是采用ADO 所基于的OLE DB技術,可以對電子郵件、文本文件、數據表格等各類數據通過統一的接口API接口進行存取,是遠程數據存取的一個主要發展方向。

篇12

1 通用外掛式輔助數據庫設計程序

1.1 概念

通用外掛式輔助數據庫設計程序中的外掛式主要以用戶界面為基本呈現形式,借助這種界面實現對數據庫內容的靈活處理,并在相應軟件系統開發的同時,實現軟件和數據庫設計的開發和自定義設計。

1.2 參數傳遞的含義

通用外掛式輔助數據庫設計程序不僅需要應用輔數據庫設計,而且還需要通過模塊化參數信息的傳遞來實現對軟件模塊化的設計。這種設計一般需要應用函數的形式來充分展現模塊的功能,并借助各種不同的參數代號信息實現各種不同的操作,進而滿足不同程序模塊的設計需求,具體的實現方式如下所示:

(1)Q代表另一個表字段的名稱,能夠將表的記錄信息從一個字段傳遞到另一個字段上,且這種字段在新增窗體中顯示為一種隱藏字段。

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

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

(4)R含義為類型、表名、讀寫字段、顯示名稱、Select語句。

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

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

1.3 通用外掛式輔助數據庫設計程序的特點

(1)能夠面向數據庫的管理進行全方位詳細設計。這種詳細的設計包含視圖和存儲過程中數據庫設計常應用的方法和技術。

(2)這種設計支持無代碼的程序開發,具體的自定義設計能力很強,在模塊化思想的支撐下能夠以參數的形式將模塊功能進行輸入。

(3)能夠進行流程化的處理。流程化的處理具體是指能夠實現對已經建立好的數據庫表格在外掛式的數據庫設計程序中進行統一化的管理。

(4)開放式的數據管理。這種管理方式對數據庫的格式不限制,能夠對網絡數據的設計和開發進行支持。

2 通用外掛式輔助數據庫設計程序的實現方法

在DMES的系統管理中,數據庫表越多、呈現的關系越復雜則是越難管理。在離散式制造業通用外掛式輔助數據庫設計程序復雜的情況下,通用外掛式輔助數據庫系統怎樣實現對各種軟硬件的管理是有關人員需要面臨的問題。

2.1 程序框架結構的設計

通用外掛式輔助數據庫設計程序系統主要由以下幾部分組成:

2.1.1 管理程序

管理程序主要是對車間內部的生產和執行問題進行全面的負責和管理。

2.1.2 計劃服務程序

計劃服務程序能夠對車間內部任務的布置和計劃的調整進行全面的整合。

2.1.3 通信程序

通信程序主要是對施工現場作業的數據信息進行采集,并在信息采集的基礎上有效實現軟件系統和硬件系統數據信息的交互性應用。

2.1.4 接口程序

接口程序主要是實現DMES系統和其他系統進行有效整合的重要系統數據,能夠為生產車間的上層系統提供一種全面化的服務,是各種數據進行交流和溝通的重要通道。程序框架結構的設計如圖1所示。

2.2 DMES軟件系統主要解決的問題

(1)在協助數據庫資源系統進行有效管理的同時,輔助系統軟件的開發。DMES軟件系統在對數據庫資源進行有效管理的同時,能夠應用一種無代碼的開發技術來實現對軟件模塊的開發,將軟件系統的開發模式由原來單純的代碼開發轉變為一種可配置的軟件開發模式。

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

(3)利用通用性的輸入條件函數,實現對數據庫表格的關聯性操作,并利用不同的字母代表不同的操作模塊。

2.3 DMES軟件系統程序的實現

DMES軟件系統程序的實現應用Delphi6.0進行開發,并采用ini的方式來保存系統相應的配置,提升對數據庫信息的靈活化應用,實現對各種數據庫鏈接的統一化管理。

3 結束語

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

參考文獻

[1]鐘潤陽,戴青云,周科,戴鑫波,王進.通用外掛式輔助數據庫設計程序[J].計算機輔助工程,2009,01:83-86.

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

作者簡介

篇13

數據庫設計其實就是根據需求要實現什么功能,需要存放什么數據,然后我們根據這個來設計最優的數據存儲方式,以及如何提高讀取數據,新增數據,更新刪除數據的速度。數據庫設計可分為需求分析階段、概念設計階段、邏輯設計階段和物理設計階段這四個階段,這也是軟件工程化的思想。需求分析階段主要是和客戶溝通,了解客戶具體的需求,換句話說就是去了解要存放什么數據。概念設計是根據需求分析階段得到的用戶需求,然后針對需求對數據庫做大體上的設計規劃。邏輯設計階段的主要任務是分析數據之間的相互關系,以及確定整體的設計框架。物理設計階段則是對每個表做具體的設計,如定義字段、鍵主鍵等。

1 數據庫分析和設計階段

在數據庫的需求分析階段,需要開發人員深入到每一個需求客戶中去挖掘以及分析,弄清楚用戶的需求。絕大多數用戶對相關數據庫技術可能并不是很了解,開發人員盡量不要用專業詞語跟客戶溝通,其實很多時候用戶可能都不知道自己的準確需求,因此這就需要調研人員從多種角度、多個方位去與用戶溝通交流,最大程度的弄明白用戶的各種需求。數據庫設計的基礎就是基礎分析,這也是數據庫設計環節里難度最高、也最難控制的一個階段,一般都要經過無數次重復的調研以及反向調研,才最終確定。同時需求分析的好壞,整個數據庫的設計都會受到影響,所以這一階段至關重要。強調一點的是,這個階段是伴隨數據庫設計整個周期的。在數據庫的概念設計階段,數據庫開發設計人員要從需求分析階段得出到的結果,從用戶的眼光出發,勾勒出各種數據的處理細節,彼此之間的聯系,最后讓用戶理解并能夠操作設計出的數據模型。在這個階段關系型數據庫呈現的是一種設計好的用戶需求E—R圖。在此基礎上,就算是在需求分析階段沒有全面充分考慮到或是遺漏的任務也可以做出及時的補救。實體關系圖可以一目了然的看清數據間的聯系與處理,并且還可以給數據庫開發設計人員,下一個環節的設計提前做好準備,這也是數據庫設計最核心、最關鍵的部分。

2 數據庫邏輯與物理設計階段

數據庫邏輯設計階段是指把上一階段獲得的,獨立于其他數據庫管理系統的E-R圖,轉換到另外一種具體的數據庫管理系統中,并做設計開發。這個階段需要考慮具體數據庫系統的支持的關系模型轉換,并根據已有的功能及結構來把實體模型轉換為關系模型。設計數據庫的細節也是數據庫物理階段的設計,類似于軟件工程的詳細設計,需要設計數據的存儲類型、字段長度的多少,主鍵設置什么字段,索引設置在哪些字段上,索引數量的建立,以及從數據庫整體結構出發考慮到數據的安全性、完整性和效率性。這一階段說起來簡單明了,其實是需要深厚的數據庫設計功底和豐富的設計經驗才能設計得出完美的數據庫。一項索引就可以讓人探索研究很久,在哪里建索引,何時建、建多少?這些都不單是理論就能得到最優的結果,需要長期的積累和嘗試才能得到。

3 數據庫SQL的優化

數據庫設計當然不可缺少的是數據庫SQL的優化,這里我們探討下數據庫SOL優化要注意的幾點:

1)勤用WHERE語句。這是設計人員都知曉的,數據庫查詢效率的高低程度,是人們評判數據庫設計的好與壞的一個重要標準,不可懷疑,采用Where條件語句查詢數據庫,可以提高數據庫查詢性能。如,在眾多報表統計的時候,如果數據量是非常大的時候我們導出數據都是有時間段限制。

2)靈活使用函數。如COUNT函數,要合理放置COUNT函數的位置,在通過COUNT函數做統計記錄的時候,空行的記錄也是會考慮的因素,還有要靈活跟其它函數搭配使用,如與DISTINCT函數結合應用等等。

3)只查詢必要顯示字段,少用*號。數據庫檢索的速度跟數據量的大小息息相關,在查詢的時候,只查詢必要的數據及字段是必須要注意的,有時候,用戶不同的查詢需求可能大多數數據都是相同的,只有一少部分數據不同,為此,我們就得考慮這些內容是放在同一張表中還是不同的表呢,假如僅僅只考慮技術這方面,那兩者的實現也不會有太大的難度。可是,要是考慮數據庫的性能,那就需要利用不同的表滿足的不同的需求。一種是安全性的考慮,可以通過設置不同的訪問權限設計不同的表格。可以看到,數據庫詳盡化,在權限控制上則會更加的靈活。另一方面,數據的查詢效率,跟數據內容的多少也有非常密切的關系。設計人員必須學會依據不同用戶需求,設計出不同類型的表。也許可能這樣在設計的時候花的時間更多,物理空間占的跟大,但確可以提高數據庫的性能與安全性。這是非常劃算的。

4)利用注釋提高查詢語句的可讀性,這也是專家級的數據庫設計人員必備的習慣之一。注釋不會對數據庫性能產生任何不良影響,充其量就是占一定的物理磁盤空間,跟程序開發一樣,注釋提高代碼的可閱讀性,讓別人很輕易就看懂代碼,便于后續的維護和二次開發。在我們寫注釋的時候,應該要注意一點。最好用英語寫,因為眾多數據庫對中文的支持不好,在導入數據庫文件的時候可能會出現亂碼問題,或者干脆被忽略掉。注釋的編寫也有規范的,雖然沒有那個數控公司提出這種規范,其實在業界已經形成了注釋規范。如,寫函數或觸發器的時候,第一要說明該函數或觸發器的功能作用。然后說明要傳入參數,有幾個參數,分別說明類型。然后有沒有返回值及返回值的類型等等。最后一點值得關注的是注釋所放的位置,通常都是放在函數和存儲過程的開頭。當然個個函數體內也是要寫一點必要的注釋,如太復雜的思維邏輯必須有注釋。

4 創建視圖

主站蜘蛛池模板: 赫章县| 江阴市| 绥江县| 乌兰浩特市| 蓬安县| 富顺县| 崇文区| 漳平市| 彰化县| 绥棱县| 沂水县| 南安市| 安仁县| 太白县| 南康市| 德安县| 深州市| 沁源县| 登封市| 朝阳县| 丹阳市| 玛曲县| 正安县| 原阳县| 浠水县| 佛山市| 平乡县| 思南县| 天水市| 蓝山县| 长沙市| 宁德市| 博野县| 房产| 宁远县| 于田县| 泸溪县| 那坡县| 黑河市| 犍为县| 北碚区|