設計數據庫有如下6個主要步驟:
1、需求分析:了解用戶的數據需求、處理需求、安全性及完整性要求;
2、概念設計:通過數據抽象,設計系統概念模型,一般為E-R模型;
3、邏輯結構設計:設計系統的模式和外模式,對於關系模型主要是基本表和視圖;
4、物理結構設計:設計數據的存儲結構和存取方法,如索引的設計;
5、系統實施:組織數據入庫、編制應用程序、試運行;
6、運行維護:系統投入運行,長期的維護工作。
概念模型就是在了解了用戶的需求,用戶的業務領域工作情況以后,經過分析和總結,提煉出來的用以描述用戶業務需求的一些概念的東西。如銷售業務中的“客戶”和“定單”,還有就是“商品”,“業務員”。 用USE CASE來描述就是:“業務員”與“客戶”就購買“商品”之事簽定下“定單”。(此時可以不包含屬性,只有實體集,聯系集的分析結構)
邏輯模型就是要將概念模型具體化。要實現概念模型所描述的東西,需要那些具體的功能和處理那些具體的信息。這就到了需求分析的細化階段。還以銷售業務為例:“客戶” 信息基本上要包括:單位名稱,聯系人,聯系電話,地址等屬性;“商品”信息基本上要包括:名稱,類型,規格,單價等屬性;“定單”信息基本上要包括:日期 和時間屬性。並且“定單”要與“客戶”,“業務員”和“商品”明細關聯。
系統需要建立幾個數據表:業務員信息表,客戶信息表,商品信息表,定單表。
系統要包括幾個功能:業務員信息維護,客戶信息維護,商品信息維護,建立銷售定單 。
以上這些均屬於建立邏輯模型,這些說明只表明系統要實現什么,但怎樣實現,用什么工具實現還沒有講,后者屬於物理模型范圍。
物理模型就 是針對上述邏輯模型所說的內容,在具體的物理介質上實現出來。如:數據庫使用SQL Server 2000,這樣就可以編寫具體的SQL腳本在數據庫服務器上將數據庫建立起來。其中包括業務員信息表,客戶信息表,商品信息表,定單表。客戶端使用VS開 發工具,那么在工作站上用VS建立起功能菜單,包括:業務員信息維護,客戶信息維護,商品信息維護,建立銷售定單等功能,並用工具將每一個功能編碼實現。
這三個過程,就是實現一個軟件系統的三個關鍵的步驟,是一個從抽象到具體的一個不斷細化完善的分析,設計和開發的過程。
數據庫建模:在設計數據庫時,對現實世界進行分析、抽象、並從中找出內在聯系,進而確定數據庫的結構,這一過程就稱為數據庫建模。它主要包括兩部分內容:確定最基本的數據結構;對約束建模。
1.概念模型的表示方法
E-R圖主要是由實體、屬性和聯系三個要素構成的。在E-R圖中,使用了下面四種基本的圖形符號。
2.確定系統實體、屬性及聯系
系統分析階段建立數據字典和數據流程圖->建立概念模型->邏輯模型->物理模型
利用系統分析階段建立的數據字典,並對照數據流程圖對系統中的各個數據項進行分類、組織,確定系統中的實體、實體的屬性、標識實體的碼以及實體之間聯系的類型。
在數據字典中“數據項”是基本數據單位,一般可以作為實體的屬性。“數據結構”、“數據存儲”和“數據流”條目都可以作為實體,因為它們總是包含了若干的數據項。作為屬性必須是不可再分的數據項,也就是說在屬性中不能包含其他的屬性。
3.確定局部(分)E-R圖
根據上面的分析,可以畫出部分實體-聯系圖。
在這些實體中有下畫線的屬性可以作為實體的碼,這幾個實體之間存在着1:1、l:n和m:n幾種聯系。
4.集成完整(總)E-R圖
各個局部(分)E-R圖畫好以后,應當將它們合並起來集成為完整(總)E-R圖。在集成時應當注意如下幾點:
(1)消除不必要的冗余實體、屬性和聯系。
(2)解決各分E-R圖之間的沖突。
(3)根據情況修改或重構E-R圖。
6.2.3邏輯結構設計
邏輯結構設計的任務,就是把概念結構設計階段建立的基本E-R圖,按選定的管理系統軟件支持的數據模型(層次、網狀、關系),轉換成相應的邏輯模型。這種轉換要符合關系數據模型的原則。
E-R圖向關系模型的轉換是要解決如何將實體和實體間的聯系轉換為關系,並確定這些關系的屬性和碼。這種轉換一般按下面的原則進行:
(1)一個實體轉換為一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼。
(2)一個聯系也轉換為一個關系,聯系的屬性及聯系所連接的實體的碼都轉換為關系的屬性,但是關系的碼會根據聯系的類型變化,如果是:
1:1聯系,兩端實體的碼都成為關系的候選碼。
1:n聯系,n端實體的碼成為關系的碼。
m:n聯系,兩端實體碼的組合成為關系的碼。
總結:
概念數據模型設計與邏輯數據模型設計、物理數據模型設計是數據庫及數據倉庫模型設計的三個主要步驟。
在數據倉庫領域有一個概念叫conceptual data model,中文一般翻譯為“概念數據模型”。
概念數據模型是最終用戶對數據存儲的看法,反映了最終用戶綜合性的信息需求,它以數據類的方式描述企業級的數據需求,數據類代表了在業務環境中自然聚集成的幾個主要類別數據。
概念數據模型的內容包括重要的實體及實體之間的關系。在概念數據模型中不包括實體的屬性,也不用定義實體的主鍵。這是概念數據模型和邏輯數據模型的主要區別。
概念數據模型的目標是統一業務概念,作為業務人員和技術人員之間溝通的橋梁,確定不同實體之間的最高層次的關系。
在有些數據模型的設計過程中,概念數據模型是和邏輯數據模型合在一起進行設計的。
在數據倉庫領域有一個概念叫logical data model,中文一般翻譯為“邏輯數據模型”。
邏輯數據模型反映的是系統分析設計人員對數據存儲的觀點,是對概念數據模型進一步的分解和細化。邏輯數據模型是根據業務規則確定的,關於業務對象、業務對象的數據項及業務對象之間關系的基本藍圖。
邏輯數據模型的內容包括所有的實體和關系,確定每個實體的屬性,定義每個實體的主鍵,指定實體的外鍵,需要進行范式化處理。
邏輯數據模型的目標是盡可能詳細的描述數據,但並不考慮數據在物理上如何來實現。
邏輯數據建模不僅會影響數據庫設計的方向,還間接影響最終數據庫的性能和管理。如果在實現邏輯數據模型時投入得足夠多,那么在物理數據模型設計時就可以有許多可供選擇的方法。
在數據倉庫領域有一個概念叫physical data model,中文一般翻譯為“物理數據模型”。
物理數據模型是在邏輯數據模型的基礎上,考慮各種具體的技術實現因素,進行數據庫體系結構設計,真正實現數據在數據庫中的存放。
物理數據模型的內容包括確定所有的表和列,定義外鍵用於確定表之間的關系,基於用戶的需求可能進行發范式化等內容。在物理實現上的考慮,可能會導致物理數據模型和邏輯數據模型有較大的不同。
物理數據模型的目標是指定如何用數據庫模式來實現邏輯數據模型,以及真正的保存數據
————————————————
版權聲明:本文為CSDN博主「caodongfang126」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/caodongfang126/article/details/90665339