當前位置:首頁 » 操作系統 » 資料庫的概念結構設計

資料庫的概念結構設計

發布時間: 2022-04-23 03:06:09

A. 什麼是資料庫的概念設計、邏輯設計、物理設計,以及三者的關系

1、概念設計:

對用戶要求描述的現實世界(可能是一個工廠、一個商場或者一個學校等),通過對其中住處的分類、聚集和概括,建立抽象的概念數據模型。這個概念模型應反映現實世界各部門的信息結構、信息流動情況、信息間的互相制約關系以及各部門對信息儲存、查詢和加工的要求等。

所建立的模型應避開資料庫在計算機上的具體實現細節,用一種抽象的形式表示出來。以擴充的實體—(E-R模型)聯系模型方法為例,第一步先明確現實世界各部門所含的各種實體及其屬性、實體間的聯系以及對信息的制約條件等,從而給出各部門內所用信息的局部描述。第二步再將前面得到的多個用戶的局部視圖集成為一個全局視圖,即用戶要描述的現實世界的概念數據模型。

2、邏輯設計:

主要工作是將現實世界的概念數據模型設計成資料庫的一種邏輯模式,即適應於某種特定資料庫管理系統所支持的邏輯數據模式。與此同時,可能還需為各種數據處理應用領域產生相應的邏輯子模式。這一步設計的結果就是所謂「邏輯資料庫」。

3、物理設計:

根據特定資料庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏輯等)、存取方法和存取路徑等。這一步設計的結果就是所謂「物理資料庫」。

4、三者關系:

由上到下,先要概念設計,接著邏輯設計,再是物理設計,一級一級設計。三者一環扣住一環,缺一不可,概念設計是前提,邏輯設計是紐扣,將概念設計和物理設計緊密聯系起來,物理設計的結果就是傳說中的「物理資料庫」也就是最後的結果。三者密不可分,缺一不可。

(1)資料庫的概念結構設計擴展閱讀

資料庫設計的基本步驟:

1、需求分析階段:准確了解與分析用戶需求(包括數據與處理),是整個設計過程的基礎,是最困難、最耗費時間的一步。

2、概念結構設計階段:是整個資料庫設計的關鍵,通過對用戶的需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型。從實際到理論。

3、邏輯結構設計階段:將概念結構轉換為某個DBMS所支持的數據模型,對其進行優化。優化理論。

4、資料庫物理設計階段:為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。選擇理論落腳點。

5、資料庫實施階段:運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果,建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行。理論應用於實踐。

6、資料庫運行和維護階段:資料庫應用系統經過試運行後即可投入正式運行。在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改。理論指導實踐,反過來實踐修正理論。

主要特點:

1、 實現數據共享:資料庫伺服器數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過介面使用資料庫,並提供數據共享。

2、 減少數據的冗餘度:同文件系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重復數據,減少了數據冗餘,維護了數據的一致性。

3、數據的獨立性:數據的獨立性包括邏輯獨立性(資料庫中資料庫的 邏輯結構和 應用程序相互獨立)和物理獨立性(數據物理結構的變化不影響數據的邏輯結構)。

4、數據實現集中控制:文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用資料庫可對數據進行集中控制和管理,並通過 數據模型表示各種數據的組織以及數據間的聯系。

5、數據一致性和可維護性,以確保數據的安全性和可靠性主要包括:安全性控制:以防止數據丟失、錯誤更新和越權使用;完整性控制:保證數據的正確性、有效性和相容性;並發控制:使在同一時間 周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用。

6、故障恢復:由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。資料庫系統能盡快恢復資料庫系統運行時出現的故障,可能是物理上或是邏輯上的錯誤。比如對系統的誤操作造成的數據錯誤等。

B. 資料庫概念結構設計

得到上面的數據項和數據結構以後,就可以設計出能夠滿足用戶需求的各種實體以及它們之間的關系,為後面的邏輯結構設計打下基礎。這些實體包含各種具體信息,通過相互之間的作用形成數據的流動。

根據上面的設計規劃出的實體有: 突水點、評價單元、研究礦區。

C. 什麼是資料庫的概念結構

1. 資料庫定義:資料庫是長期儲存在計算機內、有組織的、可共享的大量數據的集合。資料庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可為各種用戶共享。2. 資料庫管理技術發展的三個階段:人工管理階段,文件系統階段,資料庫系統階段。3. DBMS(資料庫管理系統)是位於用戶與操作系統之間的一層數據管理軟體。主要功能:1,數據定義功能。2,數據組織、存儲和管理。3,數據操縱功能。4,資料庫的事務管理和運行管理。5,資料庫的建立和維護功能。6,其他功能。4. 什麼是數據模型及其要素? (設計題): 數據模型是資料庫中用來對現實世界進行抽象的工具,是資料庫中用於提供信息表示和操作手段的形式構架。一般地講,數據模型是嚴格定義的概念的集合。這些概 念精確地描述系統的靜態特性、動態特性和完整性約束條件。因此數據模型通常由數據結構、數據操作和完整性約束三部分組成。 (1)數據結構:是所研究的對象類型的集合,是對系統的靜態特性的描述。 (2)數據操作:是指對資料庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述。 (3)數據的約束條件:是完整性規則的集合,完整性規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效、相容。最常用的數據模型:層次模型,網狀模型,關系模型,面積對象模型,對象關系模型。5.常用的數據模型有哪些(邏輯模型是主要的),各有什麼特徵,數據結構是什麼樣的。答:數據模型可分為兩類:第一類是概念模型,也稱信息模型,它是按用戶的觀點來地數據和信息建模,主要用於資料庫設計。第二類是邏輯模型和物理模型。其中邏輯模型主要包括層次模型、層次模型、關系模型、面向對象模型和對象關系模型等。它是按計算機系統的觀點對數據建模,主要用於DBMS的實現。物理模型是對數據最低層的抽象,它描述數據在系統內部的表示方式和存取方法,在磁碟或磁帶上的存儲方式和存取方法,是面向計算機系統的。物理模型是具體實現是DBMS的任務,資料庫設計人員要了解和選擇物理醋,一般用戶則不必考慮物理級的細節。層次數據模型的數據結構特點:一是:有且只有一個結點沒有雙親結點,這個結點稱為根結點。二是:根 以外的其他結點有且只有一個雙親結點。優點是:1.層次 數據結構比較簡單清晰。2.層次資料庫的查詢效率高。3.層次數據模型提供了良好的完整性支持。缺點主要有:1.現實世界中很多聯系是非層次性的,如結點之間具有多對多聯系。2.一個結點具有多個雙親等 ,層次模型表示這類聯系的方法很笨拙,只能通過引入冗餘數據或創建非自然的數據結構來解決。對插入和刪除操作的限制比較多,因此應用程序的編寫比較復雜。3.查詢子女結點必須通過雙親結點。4.由於結構嚴密,層次命令趨於程序化。可見用層次模型對具有一對多的層次聯系的部門描述非常自然,直觀容易理解,這是層次資料庫的突出優點。網狀模型:特點:1.允許一個以上的結點無雙親2.一個結點可以有多於一個的雙親。網狀數據模型的優點主要有:1.能夠更為直接地描述現實世界,如一個結點可以有多個雙親。結點
之間可以有多種上聯第。2.具有良好的性能,存取效率較高。缺點主要有:1.結構比較復雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越復雜,不利於最終 用戶掌握。2.網狀模型的DDL,DML復雜,並且要嵌入某一種高級語言中,用戶不容易掌握,不容易使用。關系數據模型具有下列優點:1.關系模型與非關系模型不同,它是建立在嚴格的數學概念的基礎上的。2.關系模型的概念單一。3.關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性,更好的安全保密性,也簡化了程序員的工作和資料庫開發的建立 的工作。主要的缺點是:由於存取路徑房租明,查詢效率往往不如非關系數據模型。因此為了提高性能,DBMS必須對用戶的查詢請求進行優化。因此增加 了開發DBMS的難度,不過用戶不必考慮這些系統內部的優化技術細節。6.三級體系結構,外模式,模式 ,內模式定義是什麼?模式也稱邏輯模式,是資料庫中全體數據的邏輯結構和牲的描述,是所有用戶的公共數據視圖。 外模式也稱子模式或用戶模式,它是資料庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是資料庫用戶的數據視圖是與某一應用有關的數據的邏輯表示。 內模式也稱存儲模式 ,是一個資料庫只有一個內模式。它是數據物理結構和存儲方式的描述,是數據在資料庫內部的表示方式。7.兩級映像和兩級獨立性,為什麼叫物理獨立性和邏輯獨立性。當模式改變時由資料庫管理員對各個外模式、模式的映像亻相應改變,可以使外模式保持不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立生,簡稱數據的邏輯獨立性。當資料庫的存儲結構改變了,由資料庫管理員對模式、內模式映像作 相應改變,可以使模式保持不變,從而應用程序也不必改變。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。8.資料庫系統一般由資料庫、資料庫管理系統 (及其開發工具)、應用系統和資料庫管理員構成。9.關系的完整性(實體完整性、參照完整性、和用戶定義的完整性)三部分內容,其中前二者是系統自動支持的,DBMS完整性控制子系統的三個主要功能?:提供定義完整性約束條件的機制,提供完整性檢查的方法,違約處理。16.sql的定義;即結構化查詢語言,是關系資料庫的標准語言,是一個通用的、功能極強的關系資料庫語言。分類(互動式和嵌入式)17.group by 和having子句的作用20.視圖的概念:視圖是從一個或幾個基本表導出的表。及相關操作:定義視圖,查詢視圖,更新視圖。視圖更新有什麼操作:插入,刪除,和修改。22.資料庫規范化的方法函數依賴的定義什麼叫1NF2NF3NF BCNF定義:關系資料庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同範式。滿足最低要求的叫第一範式,簡稱1NF。在第一範式中滿足進一步要求的為第二範式,其餘以此類推。各種範式之間的聯系有:5NF(4NF(BCNF(3NF(2NF(1NF。25.資料庫設計的幾個階段,每個階段常用的方法和簡要的內容:六個階段:需求分析、概念結構設計、羅織結構設計、物理設計、資料庫實施、資料庫運行和維護。28.事務的概念?事務有哪些基本屬性commit roll back含義:事務:是用戶定義的一個資料庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的單位。四個特性:原子性,一致性,隔離性,持續性。Commit(提交:提交事務的所有操作) rollback(回滾:在事務運行的過程中發生了某種故障,事務不能繼續執行,系統將事務中對資料庫的所有已完成的操作全部撤銷,回滾到事務開始時的狀態。 29.什麼叫資料庫系統的可恢復性?:資料庫管理系統具有把資料庫從錯誤狀態恢復到某一已知的正確狀態的功能,這就是資料庫系統的可恢復性。資料庫故障的種類:事務內部的故障,系統故障(軟故障),介質故障(硬故障),計算機病毒。30.不進行並發控制可能產生的問題?:多個事務對資料庫並發操作可能造成事務ACID特點遭到在破壞。如何解決(三個):1,丟失修改 2,不可重復讀 3,讀「臟」數據。31.三級封鎖協議?能解決什麼問題?:一級封鎖協議:事務T在修改數據R之前必須先對其加X鎖,直到事務結束才釋放。事務結束包括正常結束(COMMIT)和非正常結束(ROLLBACK)。一級封鎖協議中,如果是讀數據不修改,是不需要加鎖的,可防止丟失修改。二級封鎖協議:在一級封鎖協議基礎上,加上事務T在讀數據R之前必須先對其加上S鎖,讀完後即可釋放S鎖。在二級封鎖協議中,由於讀完數據後即可釋放S鎖,所以它不能保證可重復讀。三級封鎖協議:一級封鎖協議加上事務T在讀取數據R之前必須先對其加S鎖,直到事務結束才釋放。三級封鎖協議除了防止了丟失修改和不讀「臟」數據外,還進一步防止了不可重復讀。上述三級協議的主要區別在於:什麼操作需要申請封鎖,以及何時釋放鎖。一般採取哪三種措施?插入呢?刪除呢?:1,拒絕執行(不允許該操作執行),2,級連操作(當刪除或修改被參照表的一個元組造成了與參照表的不一致,則刪除或修改參照表中的所有造成不一致的元組),3,設置為空值(當刪除或修改被參照表的一個元組時造成了不一致,則將參照表中的所有不造成不一致的元組的對應屬性設置為空值)。38.視圖對資料庫安全性的作用?:1,視圖能夠簡化用戶的操作,2,視力使用戶能以多種角度看待同一數據,3,視圖對重構資料庫提供了一定程度的邏輯獨立性,4,視圖能夠對機密數據提供安全保護,5,適當的利用視圖可以更清晰的表達查詢。資料庫:儲存在計算機內,永久存儲、有組織、有共享的大量數據的集合。數據管理技術的發展階段:1.人工管理階段:數據不保存,應用程序管理數據,數據不共享,數據不具有獨立性。2.文件系統階段:數據可以長期保存,由文件系統管理數據;數據共享性太差,冗餘度大,數據獨立性差。3.資料庫系統階段:出現資料庫管理系統。資料庫系統的特點:數據結構化(本質區別);數據共享性高、冗餘度低、易擴充;數據獨立性高;數據有DBMS統一管理和控制。資料庫管理系統:1.定義:DBMS,是位於用戶與操作系統之間的一層數據管理軟體。2.功能:數據定義功能;數據組織、存儲和管理;數據操縱功能;資料庫的事務管理和運行管理;資料庫的建立和維護功能;通信功能、數據轉換功能、互訪和互操作功能。資料庫系統:1.概念:DBS,是指在計算機系統中引入資料庫後的系統。2.組成:一般由資料庫、資料庫管理系統、應用系統、資料庫管理員構成。3.分類:集中式,C/S式,並行式,分布式。數據模型:1.定義:現實世界數據特徵的抽象。2.組成,三要素:數據結構、數據操作、數據的完整性約束。兩類數據模型為1)概念模型2)邏輯模型和物理模型。數據結構:描述資料庫的組成對象以及對象之間的聯系,主要描述與對象的類型、內容、性質有關的對象和與數據之間聯系有關的對象。常用的數據模型:1.層次模型,用樹形結構表示各類實體以及實體間的聯系。2.網狀模型,允許一個以上的結點無雙親,允許一個結點可以有多於一個的雙親。3.關系模型,包含單一數據結構

D. 什麼是資料庫的概念結構邏輯結構和物理結構.資料庫是如何設計的 系統的安全性是如何考慮的

資料庫系統的基本概念 數據:實際上就是描述事物的符號記錄。 數據的特點:有一定的結構,有型與值之分,如整型、實型、 字元型等。而數據的值給出了符合定型的值,如整型值15。 資料庫:是數據的集合, 具有統一的結構形式並存放於統一的存儲介質內, 是多種應用數據的集成,並可被各個應用程序共享。 資料庫存放數據是按數據所提供的數據模式存放的, 具有集成與共享的特點。 資料庫管理系統:一種系統軟體,負責資料庫中的數據組織、 數據操縱、數據維護、控制及保護和數據服務等,是資料庫的核心。 資料庫管理系統功能: (1)數據模式定義:即為資料庫構建其數據框架; (2)數據存取的物理構建: 為數據模式的物理存取與構建提供有效的存取方法與手段; (3)數據操縱:為用戶使用資料庫的數據提供方便,如查詢、 插入、修改、刪除等以及簡單的算術運算及統計; (4)數據的完整性、安生性定義與檢查; (5)資料庫的並發控制與故障恢復; (6)數據的服務:如拷貝、轉存、重組、性能監測、分析等。 為完成以上六個功能,資料庫管理系統提供以下的數據語言: (1)數據定義語言:負責數據的模式定義與數據的物理存取構建; (2)數據操縱語言:負責數據的操縱,如查詢與增、刪、改等; (3)數據控制語言:負責數據完整性、 安全性的定義與檢查以及並發控制、故障恢復等。 數據語言按其使用方式具有兩種結構形式:互動式命令( 又稱自含型或自主型語言)宿主型語言( 一般可嵌入某些宿主語言中)。 資料庫管理員:對資料庫進行規劃、設計、維護、 監視等的專業管理人員。 資料庫系統:由資料庫(數據)、資料庫管理系統(軟體)、 資料庫管理員(人員)、硬體平台(硬體)、軟體平台(軟體) 五個部分構成的運行實體。 資料庫應用系統:由資料庫系統、應用軟體及應用界面三者組成。 文件系統階段:提供了簡單的數據共享與數據管理能力, 但是它無法提供完整的、統一的、管理和數據共享的能力。 層次資料庫與網狀資料庫系統階段 :為統一與共享數據提供了有力支撐。 關系資料庫系統階段 資料庫系統的基本特點:數據的集成性 、數據的高共享性與低冗餘性 、數據獨立性(物理獨立性與邏輯獨立性)、數據統一管理與控制。 資料庫系統的三級模式: (1)概念模式:資料庫系統中全局數據邏輯結構的描述, 全體用戶公共數據視圖; (2)外模式:也稱子模式與用戶模式。是用戶的數據視圖, 也就是用戶所見到的數據模式; (3)內模式:又稱物理模式, 它給出了資料庫物理存儲結構與物理存取方法。 資料庫系統的兩級映射: (1)概念模式到內模式的映射; (2)外模式到概念模式的映射。 4.2 數據模型 數據模型的概念:是數據特徵的抽象, 從抽象層次上描述了系統的靜態特徵、動態行為和約束條件, 為資料庫系統的信息表與操作提供一個抽象的框架。 描述了數據結構、數據操作及數據約束。 E-R模型的基本概念 (1)實體:現實世界中的事物; (2)屬性:事物的特性; (3)聯系:現實世界中事物間的關系。實體集的關系有一對一、 一對多、多對多的聯系。 E-R模型三個基本概念之間的聯接關系: 實體是概念世界中的基本單位,屬性有屬性域, 每個實體可取屬性域內的值。一個實體的所有屬性值叫元組。 E-R模型的圖示法:(1)實體集表示法; (2)屬性表法; (3)聯系表示法。 層次模型的基本結構是樹形結構,具有以下特點: (1)每棵樹有且僅有一個無雙親結點,稱為根; (2)樹中除根外所有結點有且僅有一個雙親。 從圖論上看,網狀模型是一個不加任何條件限制的無向圖。 關系模型採用二維表來表示,簡稱表,由表框架及表的元組組成。 一個二維表就是一個關系。 在二維表中凡能唯一標識元組的最小屬性稱為鍵或碼。 從所有侯選健中選取一個作為用戶使用的鍵稱主鍵。 表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。 關系中的數據約束: (1)實體完整性約束:約束關系的主鍵中屬性值不能為空值; (2)參照完全性約束:是關系之間的基本約束; (3)用戶定義的完整性約束: 它反映了具體應用中數據的語義要求。 4.3關系代數 關系資料庫系統的特點之一是它建立在數據理論的基礎之上, 有很多數據理論可以表示關系模型的數據操作, 其中最為著名的是關系代數與關系演算。 關系模型的基本運算: (1)插入 (2)刪除 (3)修改 (4)查詢(包括投影、選擇、笛卡爾積運算) 4.4 資料庫設計與管理 資料庫設計是數據應用的核心。 資料庫設計的兩種方法: (1)面向數據:以信息需求為主,兼顧處理需求; (2)面向過程:以處理需求為主,兼顧信息需求。 資料庫的生命周期:需求分析階段、概念設計階段、邏輯設計階段、 物理設計階段、編碼階段、測試階段、運行階段、進一步修改階段。 需求分析常用結構析方法和面向對象的方法。結構化分析( 簡稱SA)方法用自頂向下、逐層分解的方式分析系統。 用數據流圖表達數據和處理過程的關系。對資料庫設計來講, 數據字典是進行詳細的數據收集和數據分析所獲得的主要結果。 數據字典是各類數據描述的集合,包括5個部分:數據項、 數據結構、數據流(可以是數據項,也可以是數據結構)、 數據存儲、處理過程。 資料庫概念設計的目的是分析數據內在語義關系。設計的方法有兩種 (1)集中式模式設計法(適用於小型或並不復雜的單位或部門); (2)視圖集成設計法。 設計方法:E-R模型與視圖集成。 視圖設計一般有三種設計次序:自頂向下、由底向上、由內向外。 視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。 關系視圖設計:關系視圖的設計又稱外模式設計。 關系視圖的主要作用: (1)提供數據邏輯獨立性; (2)能適應用戶對數據的不同需求; (3)有一定數據保密功能。 資料庫的物理設計主要目標是對數據內部物理結構作調整並選擇合理 的存取路徑,以提高資料庫訪問速度有效利用存儲空間。 一般RDBMS中留給用戶參與物理設計的內容大致有索引設計、 集成簇設計和分區設計。 資料庫管理的內容: (1)資料庫的建立; (2)資料庫的調整; (3)資料庫的重組; (4)資料庫安全性與完整性控制; (5)資料庫的故障恢復; (6)資料庫監控。

E. 資料庫邏輯結構設計包含哪些內容

邏輯結構設計是將概念結構設計階段完成的概念模型,轉換成能被選定的資料庫管理系統(DBMS)支持的數據模型。這里主要將E-R模型轉換為關系模型。需要具體說明把原始數據進行分解、合並後重新組織起來的資料庫全局邏輯結構,包括所確定的關鍵字和屬性、重新確定的記錄結構和文件結構、所建立的各個文件之間的相互關系,形成本資料庫的資料庫管理員視圖。
邏輯結構設計一般分為三步進行:
1. 從E-R圖向關系模式轉化 資料庫的邏輯設計主要是將概念模型轉換成一般的關系模式,也就是將E-R圖中的實體、實體的屬性和實體之間的聯系轉化為關系模式。在轉化過程中會遇到如下問題:
(1)命名問題。命名問題可以採用原名,也可以另行命名,避免重名。
(2)非原子屬性問題。非原子屬性問題可將其進行縱向和橫行展開。
(3)聯系轉換問題。聯系可用關系表示。
2. 數據模型的優化 資料庫邏輯設計的結果不是唯一的。為了進一步提高資料庫應用系統的性能,還應該適當修改數據模型的結構,提高查詢的速度。
3. 關系視圖設計 關系視圖的設計又稱為外模式的設計,也叫用戶模式設計,是用戶可直接訪問的數據模式。同一系統中,不同用戶可有不同的關系視圖。關系視圖來自邏輯模式,但在結構和形式上可能不同於邏輯模式,所以它不是邏輯模式的簡單子集。
關系視圖主要有三個作用:
(1)通過外模式對邏輯模式的屏蔽,為應用程序提供了一定的邏輯獨立性。
(2)更好地適應不同用戶對數據的不同需求。
(3)為不同用戶劃定了訪問數據的不同范圍,有利於數據的保密。

F. 資料庫如何設計

資料庫設計的基本步驟

按照規范設計的方法,考慮資料庫及其應用系統開發全過程,將資料庫設計分為以下6個階段

1.需求分析

2.概念結構設計

3.邏輯結構設計

4.物理結構設計

5.資料庫實施

6.資料庫的運行和維護


資料庫設計通常分為6個階段1分析用戶的需求,包括數據、功能和性能需求;2概念結構設計:主要採用E-R模型進行設計,包括畫E-R圖;3邏輯結構設計:通過將轉換成表,實現從E-R模型到關系模型的轉換;4:主要是為所設計的資料庫選擇合適的和存取路徑;5資料庫的實施:包括編程、測試和試運行;6資料庫運行與維護:系統的運行與資料庫的日常維護。),主要討論其中的第3個階段,即邏輯設計。



在資料庫設計過程中,需求分析和概念設計可以獨立於任何資料庫管理系統進行,邏輯設計和物理設計與選用的DAMS密切相關。

1.需求分析階段(常用自頂向下)

進行資料庫設計首先必須准確了解和分析用戶需求(包括數據與處理)。需求分析是整個設計過程的基礎,也是最困難,最耗時的一步。需求分析是否做得充分和准確,決定了在其上構建資料庫大廈的速度與質量。需求分析做的不好,會導致整個資料庫設計返工重做。

需求分析的任務,是通過詳細調查現實世界要處理的對象,充分了解原系統工作概況,明確用戶的各種需求,然後在此基礎上確定新的系統功能,新系統還得充分考慮今後可能的擴充與改變,不僅僅能夠按當前應用需求來設計。

調查的重點是,數據與處理。達到信息要求,處理要求,安全性和完整性要求。

分析方法常用SA(Structured Analysis) 結構化分析方法,SA方法從最上層的系統組織結構入手,採用自頂向下,逐層分解的方式分析系統。

數據流圖表達了數據和處理過程的關系,在SA方法中,處理過程的處理邏輯常常藉助判定表或判定樹來描述。在處理功能逐步分解的同事,系統中的數據也逐級分解,形成若干層次的數據流圖。系統中的數據則藉助數據字典(data dictionary,DD)來描述。數據字典是系統中各類數據描述的集合,數據字典通常包括數據項,數據結構,數據流,數據存儲,和處理過程5個階段。

2.概念結構設計階段(常用自底向上)

概念結構設計是整個資料庫設計的關鍵,它通過對用戶需求進行綜合,歸納與抽象,形成了一個獨立於具體DBMS的概念模型。

設計概念結構通常有四類方法:

  • 自頂向下。即首先定義全局概念結構的框架,再逐步細化。

  • 自底向上。即首先定義各局部應用的概念結構,然後再將他們集成起來,得到全局概念結構。

  • 逐步擴張。首先定義最重要的核心概念結構,然後向外擴張,以滾雪球的方式逐步生成其他的概念結構,直至總體概念結構。

  • 混合策略。即自頂向下和自底向上相結合。

  • 3.邏輯結構設計階段(E-R圖)

    邏輯結構設計是將概念結構轉換為某個DBMS所支持的數據模型,並將進行優化。

    在這階段,E-R圖顯得異常重要。大家要學會各個實體定義的屬性來畫出總體的E-R圖。

    各分E-R圖之間的沖突主要有三類:屬性沖突,命名沖突,和結構沖突。

    E-R圖向關系模型的轉換,要解決的問題是如何將實體性和實體間的聯系轉換為關系模式,如何確定這些關系模式的屬性和碼。

    4.物理設計階段

    物理設計是為邏輯數據結構模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。

    首先要對運行的事務詳細分析,獲得選擇物理資料庫設計所需要的參數,其次,要充分了解所用的RDBMS的內部特徵,特別是系統提供的存取方法和存儲結構。

    常用的存取方法有三類:1.索引方法,目前主要是B+樹索引方法。2.聚簇方法(Clustering)方法。3.是HASH方法。

    5.資料庫實施階段

    資料庫實施階段,設計人員運營DBMS提供的資料庫語言(如sql)及其宿主語言,根據邏輯設計和物理設計的結果建立資料庫,編制和調試應用程序,組織數據入庫,並進行試運行。

    6.資料庫運行和維護階段

    資料庫應用系統經過試運行後,即可投入正式運行,在資料庫系統運行過程中必須不斷地對其進行評價,調整,修改。

    資料庫設計5步驟
    Five Steps to design the Database

    1.確定entities及relationships

    a)明確宏觀行為。資料庫是用來做什麼的?比如,管理雇員的信息。

    b)確定entities。對於一系列的行為,確定所管理信息所涉及到的主題范圍。這將變成table。比如,僱用員工,指定具體部門,確定技能等級。

    c)確定relationships。分析行為,確定tables之間有何種關系。比如,部門與雇員之間存在一種關系。給這種關系命名。

    d)細化行為。從宏觀行為開始,現在仔細檢查這些行為,看有哪些行為能轉為微觀行為。比如,管理雇員的信息可細化為:

    · 增加新員工

    · 修改存在員工信息

    · 刪除調走的員工

    e)確定業務規則。分析業務規則,確定你要採取哪種。比如,可能有這樣一種規則,一個部門有且只能有一個部門領導。這些規則將被設計到資料庫的結構中。

    ====================================================================
    範例:
    ACME是一個小公司,在5個地方都設有辦事處。當前,有75名員工。公司准備快速擴大規模,劃分了9個部門,每個部門都有其領導。
    為有助於尋求新的員工,人事部門規劃了68種技能,為將來人事管理作好准備。員工被招進時,每一種技能的專業等級都被確定。


    定義宏觀行為
    一些ACME公司的宏觀行為包括:
    ● 招聘員工
    ● 解僱員工
    ● 管理員工個人信息
    ● 管理公司所需的技能信息
    ● 管理哪位員工有哪些技能
    ● 管理部門信息
    ● 管理辦事處信息
    確定entities及relationships
    我們可以確定要存放信息的主題領域(表)及其關系,並創建一個基於宏觀行為及描述的圖表。
    我們用方框來代表table,用菱形代表relationship。我們可以確定哪些relationship是一對多,一對一,及多對多。
    這是一個E-R草圖,以後會細化。


    細化宏觀行為
    以下微觀行為基於上面宏觀行為而形成:
    ● 增加或刪除一個員工
    ● 增加或刪除一個辦事處
    ● 列出一個部門中的所有員工
    ● 增加一項技能
    ● 增加一個員工的一項技能
    ● 確定一個員工的技能
    ● 確定一個員工每項技能的等級
    ● 確定所有擁有相同等級的某項技能的員工
    ● 修改員工的技能等級

    這些微觀行為可用來確定需要哪些table或relationship。

    確定業務規則
    業務規則常用於確定一對多,一對一,及多對多關系。
    相關的業務規則可能有:
    ● 現在有5個辦事處;最多允許擴展到10個。
    ● 員工可以改變部門或辦事處
    ● 每個部門有一個部門領導
    ● 每個辦事處至多有3個電話號碼
    ● 每個電話號碼有一個或多個擴展
    ● 員工被招進時,每一種技能的專業等級都被確定。
    ● 每位員工擁有3到20個技能
    ● 某位員工可能被安排在一個辦事處,也可能不安排辦事處。

    2.確定所需數據

    要確定所需數據:

    a)確定支持數據

    b)列出所要跟蹤的所有數據。描述table(主題)的數據回答這些問題:誰,什麼,哪裡,何時,以及為什麼

    c)為每個table建立數據

    d)列出每個table目前看起來合適的可用數據

    e)為每個relationship設置數據

    f)如果有,為每個relationship列出適用的數據

    確定支持數據

    你所確定的支持數據將會成為table中的欄位名。比如,下列數據將適用於表Employee,表Skill,表Expert In。

    Employee

  • Skill

  • Expert In

  • ID

  • ID

  • Level

  • Last Name

  • Name

  • Date acquired

  • First Name

  • Description

  • Department

  • Office

  • Address


  • 如果將這些數據畫成圖表,就像:


  • 需要注意:

  • ● 在確定支持數據時,請一定要參考你之前所確定的宏觀行為,以清楚如何利用這些數據。

  • ● 比如,如果你知道你需要所有員工的按姓氏排序的列表,確保你將支持數據分解為名字與姓氏,這比簡單地提供一個名字會更好。

  • ● 你所選擇的名稱最好保持一致性。這將更易於維護資料庫,也更易於閱讀所輸出的報表。

  • ● 比如,如果你在某些地方用了一個縮寫名稱Emp_status,你就不應該在另外一個地方使用全名(Empolyee_ID)。相反,這些名稱應當是Emp_status及Emp_id。

  • ● 數據是否與正確的table相對應無關緊要,你可以根據自己的喜好來定。在下節中,你會通過測試對此作出判斷。
  • 3.標准化數據

    標准化是你用以消除數據冗餘及確保數據與正確的table或relationship相關聯的一系列測試。共有5個測試。本節中,我們將討論經常使用的3個。
    關於標准化測試的更多信息,請參考有關資料庫設計的書籍。

    標准化格式
    標准化格式是標准化數據的常用測試方式。你的數據通過第一遍測試後,就被認為是達到第一標准化格式;通過第二遍測試,達到第二標准化格式;通過第三遍測試,達到第三標准化格式。

    如何標准格式:
    1. 列出數據
    2. 為每個表確定至少一個鍵。每個表必須有一個主鍵。
    3. 確定relationships的鍵。relationships的鍵是連接兩個表的鍵。
    4. 檢查支持數據列表中的計算數據。計算數據通常不保存在資料庫中。
    5. 將數據放在第一遍的標准化格式中:
    6. 從tables及relationships除去重復的數據。
    7. 以你所除去數據創建一個或更多的tables及relationships。
    8. 將數據放在第二遍的標准化格式中:
    9. 用多於一個以上的鍵確定tables及relationships。
    10. 除去只依賴於鍵一部分的數據。
    11. 以你所除去數據創建一個或更多的tables及relationships。
    12. 將數據放在第三遍的標准化格式中:
    13. 除去那些依賴於tables或relationships中其他數據,並且不是鍵的數據。
    14. 以你所除去數據創建一個或更多的tables及relationships。

    數據與鍵
    在你開始標准化(測試數據)前,簡單地列出數據,並為每張表確定一個唯一的主鍵。這個鍵可以由一個欄位或幾個欄位(連鎖鍵)組成。

    主鍵是一張表中唯一區分各行的一組欄位。Employee表的主鍵是Employee ID欄位。Works In relationship中的主鍵包括Office Code及Employee ID欄位。給資料庫中每一relationship給出一個鍵,從其所連接的每一個table中抽取其鍵產生。

    RelationShip

  • Key

  • Office

  • *Office code

  • Office address

  • Phone number

  • Works in

  • *Office code

  • *Employee ID

  • Department

  • *Department ID

  • Department name

  • Heads

  • *Department ID

  • *Employee ID

  • Assoc with

  • *Department ID

  • *EmployeeID

  • Skill

  • *Skill ID

  • Skill name

  • Skill description

  • Expert In

  • *Skill ID

  • *Employee ID

  • Skill level

  • Date acquired

  • Employee

  • *Employee ID

  • Last Name

  • First Name

  • Social security number

  • Employee street

  • Employee city

  • Employee state

  • Employee phone

  • Date of birth


  • 將數據放在第一遍的標准化格式中
    ● 除去重復的組
    ● 要測試第一遍標准化格式,除去重復的組,並將它們放進他們各自的一張表中。
    ● 在下面的例子中,Phone Number可以重復。(一個工作人員可以有多於一個的電話號碼。)將重復的組除去,創建一個名為Telephone的新表。在Telephone與Office創建一個名為Associated With的relationship。

    將數據放在第二遍的標准化格式中
    ● 除去那些不依賴於整個鍵的數據。
    ● 只看那些有一個以上鍵的tables及relationships。要測試第二遍標准化格式,除去那些不依賴於整個鍵的任何數據(組成鍵的所有欄位)。
    ● 在此例中,原Employee表有一個由兩個欄位組成的鍵。一些數據不依賴於整個鍵;例如,department name只依賴於其中一個鍵(Department ID)。因此,Department ID,其他Employee數據並不依賴於它,應移至一個名為Department的新表中,並為Employee及Department建立一個名為Assigned To的relationship。


    將數據放在第三遍的標准化格式中
    ● 除去那些不直接依賴於鍵的數據。
    ● 要測試第三遍標准化格式,除去那些不是直接依賴於鍵,而是依賴於其他數據的數據。
    ● 在此例中,原Employee表有依賴於其鍵(Employee ID)的數據。然而,office location及office phone依賴於其他欄位,即Office Code。它們不直接依賴於Employee ID鍵。將這組數據,包括Office Code,移至一個名為Office的新表中,並為Employee及Office建立一個名為Works In的relationship。

    4.考量關系

    當你完成標准化進程後,你的設計已經差不多完成了。你所需要做的,就是考量關系。

    考量帶有數據的關系
    你的一些relationship可能集含有數據。這經常發生在多對多的關系中。

    遇到這種情況,將relationship轉化為一個table。relationship的鍵依舊成為table中的鍵。

    考量沒有數據的關系
    要實現沒有數據的關系,你需要定義外部鍵。外部鍵是含有另外一個表中主鍵的一個或多個欄位。外部鍵使你能同時連接多表數據。

    有一些基本原則能幫助你決定將這些鍵放在哪裡:

    一對多在一對多關系中,「一」中的主鍵放在「多」中。此例中,外部鍵放在Employee表中。

    一對一在一對一關系中,外部鍵可以放進任一表中。如果必須要放在某一邊,而不能放在另一邊,應該放在必須的一邊。此例中,外部鍵(Head ID)在Department表中,因為這是必需的。

    多對多在多對多關系中,用兩個外部鍵來創建一個新表。已存的舊表通過這個新表來發生聯系。

    5.檢驗設計

    在你完成設計之前,你需要確保它滿足你的需要。檢查你在一開始時所定義的行為,確認你可以獲取行為所需要的所有數據:
    ● 你能找到一個路徑來等到你所需要的所有信息嗎?
    ● 設計是否滿足了你的需要?
    ● 所有需要的數據都可用嗎?
    如果你對以上的問題都回答是,你已經差不多完成設計了。

    最終設計
    最終設計看起來就像這樣:

    設計資料庫的表屬性
    資料庫設計需要確定有什麼表,每張表有什麼欄位。此節討論如何指定各欄位的屬性。

    對於每一欄位,你必須決定欄位名,數據類型及大小,是否允許NULL值,以及你是否希望資料庫限制欄位中所允許的值。

    選擇欄位名
    欄位名可以是字母、數字或符號的任意組合。然而,如果欄位名包括了字母、數字或下劃線、或並不以字母打頭,或者它是個關鍵字(詳見關鍵字表),那麼當使用欄位名稱時,必須用雙引號括起來。

    為欄位選擇數據類型
    SQL Anywhere支持的數據類型包括:
    整數(int, integer, smallint)
    小數(decimal, numeric)
    浮點數(float, double)
    字元型(char, varchar, long varchar)
    二進制數據類型(binary, long binary)
    日期/時間類型(date, time, timestamp)
    用戶自定義類型

    關於數據類型的內容,請參見「SQL Anywhere數據類型」一節。欄位的數據類型影響欄位的最大尺寸。例如,如果你指定SMALLINT,此欄位可以容納32,767的整數。INTEGER可以容納2,147,483,647的整數。對CHAR來講,欄位的最大值必須指定。

    長二進制的數據類型可用來在資料庫中保存例如圖像(如點陣圖)或者文字編輯文檔。這些類型的信息通常被稱為二進制大型對象,或者BLOBS。

    關於每一數據類型的完整描述,見「SQL Anywhere數據類型」。

G. 資料庫中概念設計階段的主要任務是什麼

按照規范的設計方法,一個完整的資料庫設計一般分為以下六個階段:
需求分析:分析用戶的需求,包括數據、功能和性能需求;
概念結構設計:主要採用e-r模型進行設計,包括畫e-r圖;
邏輯結構設計:通過將e-r圖轉換成表,實現從e-r模型到關系模型的轉換;
資料庫物理設計:主要是為所設計的資料庫選擇合適的存儲結構和存取路徑;
資料庫的實施:包括編程、測試和試運行;
資料庫運行與維護:系統的運行與資料庫的日常維護。

H. 資料庫設計分哪幾個階段

按照規范的設計方法,一個完整的資料庫設計一般分為以下六個階段。

1、需求分析:分析用戶的需求,包括數據、功能和性能需求

2、概念結構設計:主要採用E-R模型進行設計,包括畫E-R圖

3、邏輯結構設計:通過將E-R圖轉換成表,實現從E-R模型到關系模型的轉換

4、資料庫物理設計:主要是為所設計的資料庫選擇合適的存儲結構和存取路徑

5、資料庫的實施:包括編程、測試和試運行

6、資料庫運行與維護:系統的運行與資料庫的日常維護

(8)資料庫的概念結構設計擴展閱讀:

設計原則

1、一對一設計原則

在軟體開發過程中,需要遵循一對一關系設計原則進而開展數據維護工作,通過利用此原則能夠盡量減少維護問題的出現,保證數據維護工作順利開展同時降低維護工作難度。

2、獨特命名原則

獨特命名原則的應用是為了減少在資料庫設計過程中出現重復命名和規范命名現象出現。

3、雙向使用原則

雙向使用原則包括:事務使用原則和索引功能原則,軟體市場常見的索引模式有:多行檢索聚簇索引和單行檢索非聚簇索引。

I. 資料庫結構設計包括哪些

數據組織是數據管理的基礎
數據組織結構
設計是指按照一定的方式和規則對數據進行歸並、存儲、處理的過程。
資料庫結構設計主要包括:
概念結構設計
邏輯結構設計
物理結構設計

J. 什麼是資料庫的概念設計,邏輯設計,物理設計,以及

資料庫設計過程包括:
現實世界→需求分析→概念設計→邏輯設計→物理設計
概念設計——利用數據模型進行概念資料庫的模式設計。它不依賴任何DBMS(資料庫管理系統)常用的數據模型為ERM(實體聯系模型),用到的術語有:實體、屬性、聯系、鍵。
邏輯設計——把概念設計得到的概念資料庫模式變為邏輯數據模式,它依賴於DBMS。用到的術語有:函數依賴、範式、關系分解。

物理結構設計——指的是根據資料庫的邏輯結構來選定RDBMS(如Oracle、Sybase等),並設計和實施資料庫的存儲結構、存取方式等。
確定資料庫的物理結構包含下面四方面的內容:
1、確定數據的存儲結構;
2、設計數據的存取路徑;
3、確定數據的存放位置;
4、確定系統配置。
資料庫物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,選擇一個優化方案作為資料庫物理結構。在資料庫物理設計中,最有效的方式是集中地存儲和檢索對象。

熱點內容
mac訪問windows共享 發布:2024-10-01 23:31:58 瀏覽:643
java培訓要學什麼 發布:2024-10-01 23:15:54 瀏覽:539
c語言編程學習寶典 發布:2024-10-01 22:35:08 瀏覽:346
無法打開腳本文件 發布:2024-10-01 22:14:51 瀏覽:110
javaxml格式字元串格式 發布:2024-10-01 21:54:03 瀏覽:657
為什麼安卓玩游戲都選驍龍 發布:2024-10-01 21:48:07 瀏覽:377
如何避免伺服器暴露ip 發布:2024-10-01 21:38:24 瀏覽:221
pythonrequestjson 發布:2024-10-01 21:37:37 瀏覽:858
珠海java 發布:2024-10-01 21:07:29 瀏覽:825
伺服器剩餘維護是什麼 發布:2024-10-01 21:03:46 瀏覽:547