【云駐共創】華為云數據庫之數據庫設計和建模
目錄

1.需求分析
1.1 階段目標
1.2 說明書內容
1.3 工作任務
2.概念結構設計
2.1 階段目標
2.3 工作任務
2.4 設計策略
2.5 設計方法.
2.6 工作過程
2.6.1 局部設計
2.6.2 合并局部
2.6.3 優化全局
3.邏輯結構設計.
3.1 階段目標.
3.2 工作任務
3.3 轉換方法.
3.4 工作過程.
4.物理結構設計.
4.1 階段目標
4.2 工作任務.
4.3 注意問題.
4.4 工作過程.
1.需求分析
需求分析階段是數據庫設計階段的基礎和最初階段。
收集各類基礎數據、用戶需求信息和信息處理需求,確定設計思路。需求分析決定后續設計的質量和速度,是其他階段的依據,也是最困難和最耗時的階段。
1.1階段目標
根據對數據庫應用系統所要處理的對象進行全面了解,以及大量收集支持系統目標實現的各類基礎數據,調查用戶對數據庫信息的需求、對基礎數據進行加工處理的需求、對數據庫安全性和完整性的要求,按一定規范要求寫出設計者和用戶都能理解的需求分析說明書。
1.2說明書內容
(1) 分析用戶活動過程與狀態,產生業務流程圖;
(2)確定系統范圍,產生系統范圍圖;
(3)分析用戶活動涉及的數據集。
1.3工作任務
利用數據庫設計理論和方法,對現實世界服務對象的現行系統進行詳細調查,收集支持系統目標的基礎數據及其數據處理需求,撰寫需求分析報告。
具體任務如下:
(1)調查數據庫應用系統所涉及的用戶各部門]情況,確定系統功能范圍,判斷哪些工作可交由計算機完成。
(2)了解用戶對數據庫應用系統的各種要求,包括信息要求、處理要求、安全性和完整性要求。
(3)深入分析用戶的各種需求,并用數據流圖或數據字典描述數據及處理過程。
如上圖所示,需求分析階段工作過程中,數據庫設計者要向用戶作需求調查,在進行調查時最好深入用戶的工作場所進行詳細了解,與用戶交流,明確用戶需求并確定系統服務邊界,最終形成需求分析報告。
2.概念結構設計
概念結構設計階段主要設計數據庫的整體概念結構,即把需求分析結果抽象為反映用戶需求信息和信息處理需求的概念模型
概念模型獨立于數據庫管理系統,也獨立于數據庫邏輯模型,還獨立于計算機和存儲介質上的數據庫物理模型
2.1階段目標
概念結構設計目標是在需求分析的基礎上,進行分析、歸納、抽象,形成一個符合數據對象實際、用戶需求及工作要求的、獨立于具體DBMS和計算機硬件結構的整體概念結構,即提出概念模型.
2.3工作任務
概念結構設計的具體工作任務流程如下:
(1)進行數據抽象;
(2)設計局部概念模式,得到局部E -R圖;
(3)將局部概念模式綜合成全局概念模式,得到全局E-R圖;
(4)評價全局概念模式與優化,得到優化的全局E- R圖。
2.4設計策略
(1)自頂向下:先定義全局E-R模式框架,然后逐步進行細化。
(2)自底向上:首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構。
(3)由內向外:首先定義最重要的核心概念結構,然后向外擴充,以滾雪球的方式逐步生成其他概念結構,直至生成總體概念結構。
(4)混合策略:將“自頂向下”和“自底向上”相結合。
2.5設計方法
(1)集中式設計法:
根據用戶需求由一個統一的機構或人員一次設計出數據庫的全局E-R模式。
特點:容易保證E-R模式的統一性與一致性, 但它僅適用于小型或并不復雜的數據庫設計問題,而對大型的或語義關聯復雜的數據庫設計并不適用。
(2)分散-集成設計法:設計過程分為兩步:
①將企業或部門的用戶需求,根據原則將其分解成若干個部分,對每個部分設計局部E-R模式;
②各個局部E-R模式進行集成,消除可能的沖突,形成一個全局E-R模式。
特點:設計過程比較復雜,但能較好地反映用戶需求,對于大型和復雜的數據庫設計問題比較有效。
2.6工作過程
概念結構設計階段工作過程:先設計局部概念結構,再整合全局概念結構
2.6.1局部設計
(1) 確定概念結構的范圍:將用戶需求劃分成若千個部分。
劃分方法:
①根據企業的組織機構對其進行自然劃分
②根據數據庫提供的服務種類進行劃分
(2)定義實體型:逐一確定每一個實體型的屬性及其屬性名和主碼
①區分實體與屬性。
②給實體集與屬性命名。
③確定實體標識,即確定實體集的主碼
④非空值原則:保證主碼中的屬性不出現空值。
(3)定義聯系:即判斷實體集之間是否存在聯系,并定義實體集之間聯系的類型。
①確定實體集之間是否存在聯系,并確定聯系類型。
②定義聯系的方法。
③為實體集之間的聯系命名:聯系的命名應反映聯系的語義性質,通常采用動詞。
④確定每個聯系的存在屬性,并為其命名。
2.6.2合并局部
合并局部E-R模式為全局E R模式:
區分公共實體型、 合并局部概念結構設計和消除沖突。
(1)區分公共實體型:一般根據實體型名稱和主碼來認定公共實體型。
(2)合并局部概念結構:將具有公共實體型的局部概念結構設計進行合并,再加入獨立的局部概念結構設計。
(3)消除沖突:消除合并過程中局部概念結構設計之間出現的不一致描述。
①命名沖突:包括屬性名,實體型名,聯系名之間的沖突。
同名異義,即不同意義的對象具有相同的名字(編號)異名同義,即同一意義的對象具有不同的名字(姓名和名字)。
②結構沖突:同一對象在不同的局部概念結構設計中的抽象不一致,同一實體在不同的局部E-R模式中其屬性組成不同。
2.6.3優化全局
(1)優化標準
①能全面、準確地反映用戶需求,且具有實體型的個數盡可能少
②實體型所含屬性個數盡可能少
③實體型之間聯系無冗余
(2)優化方法:
①將實體型進行合并,將兩個有聯系的實體型合并為一個實體型
②消除屬性的冗余
③消除聯系的冗余
(3)優化原則:
①權衡存儲空間、訪問效率和維護代價
②適當合并實體型
③適當消去部分冗余屬性和聯系。
概念結構設計階段工作過程,如圖所示:
3.邏輯結構設計
3.1階段目標
邏輯結構設計目標是在概念結構設計的基礎上,在一定的原則指導下將概念模式結構轉換為與某具體DBMS支持的數據模型相符合的、經過優化的邏輯結構。
3.2工作任務
(1) 選定DBMS;
(2)將概念模式轉換DBMS支持的數據模型(全局關系模式) ;
(3)利用規范化原則優化( 良好全局關系模式) ;
(4)實現數據模型完整性(關系的完整性相關約束)
3.3轉換方法
概念結構轉換成邏輯結構的方法通常采用“二步式”,一是按“轉換規則”直接轉換,二是進行關系模式的優化
一、概念模型轉換成邏輯結構原則
(1)實體型的轉換:對于概念結構中的每個實體型,設計一個關系模式與之對應,使該關系模式包含實體型的所有屬性。通常用下劃線來表示關系模式的主碼所包含的屬性。
(2)聯系的轉換:聯系的轉換方法是由聯系的類型決定的,具體做法如下。
①1:1聯系的轉換
②1:n聯系的轉換
③m:n聯系的轉換
二、關系模式的優化
1、 確定數據依賴
2、消除冗余的聯系
3、確定所屬范式
4、數據處理的是否合適
5、對關系模式進行必要分解,提高數據操作效率和存儲空間的利用率
3.4工作過程
首先是要選定DBMS,然后將概念結構轉換為DBMS支持的數據模型,最后利用規范化原則優化數據模型。
邏輯結構設計階段工作過程,如下圖所示:
4.物理結構設計
4.1階段目標
物理結構設計階段目標是為邏輯數據結構選取一個最適合應用環境的物理結構,包括存儲結構和存取方法等。
整體可分為兩個部分:一是確定物理結構,二是評價物理結構。
4.2工作任務
1、存儲記錄結構設計:定義數據庫表結構
2、確定數據存放位置:數據庫存儲設計的基本原則:
①同一類文件存放在同一目錄。
②易變部分和穩定部分應該分開存放。
③存取頻率搞得部分和低的部分應該分別存放到快速和慢速設備。
④根據應用系統的文件類型和應用選修,統一設計文件目錄結構。
3、存取方法的設計:數據庫管理系統一般提供索引方法和聚簇方法。
①B+樹索引方法:根據應用要求確定對關系的那些屬性列建立索引、哪些屬性列建立組合索引、哪些索引|要設計唯一索引。
②Hash索引方法:如果一個關系的屬性主要出現在等值連接條件中或主要出現在等值比較選擇條件中,而且滿足下列兩個條件之一,則此關系可以選擇Hash存取方法。
③聚簇存取方法:為了提高某個屬性(或屬性組)的查詢速度,把這個或這些屬性(稱為聚簇碼).上具有相同值的元組集中存放在連續的物理塊稱為聚簇。
4、完整性和安全性考慮;
5、對物理結構進行評價:
①評價內容:存取方法選取的正確性、存儲結構設計的合理性、文件存放位置的規范性、存儲質選取的標準性。
①評價指標:存儲空間的利用率、存儲數據的速度和維護費用等。
②評價方法:根據評價內容,統計存儲空間的利用率、數據的存取速度的維護費用指標。
6、程序設計:如前臺代碼的設計等。
4.3注意問題
物理模型設計注意的問題有以下:
1.確定數據的存儲結構:設計關系、索弓|等數據庫文件的物理存儲結構,需注意存取時間、空間效率和維護代價間的平衡;
2.選擇合適的存取路徑:確定哪些關系模式建立索引,索引關鍵字是什么等等;
3.確定數據的存放位置:確定數據存放在一個磁盤上還是多個磁盤上;
4.確定存取分布:許多DBMS都提供了一些存儲分配參數供設計者使用(如緩沖區的大小和個數、塊的長度、塊因子的大小等等)
4.4工作過程
物理結構設計階段首先要設計存儲記錄的表結構,然后,確定數據存放位置和存取方法,同時也要設計數據的完整性和安全性。
物理結構設計階段工作過程,如下圖所示:
5.總結
在新時代下,由于在功能和可靠性上優于傳統數據庫,再加上增強的可伸縮性,云原生分布式數據庫無疑代表了數據庫的未來。
華為云GaussDB數據庫的全新升級是數據庫行業自身快速發展的又一個里程碑。在整個科技領域快速向前的加速周期中,華為云GaussDB再次指引了數據庫行業的發展方向。在新基建大潮中,華為云乘風破浪,以全新的GaussDB數據庫賦能千行百業智能升級。
我相信,未來的時代屬于云時代!
本文整理自華為云社區【內容共創】活動第15期。
https://bbs.huaweicloud.com/blogs/345822
任務19:華為云數據庫之數據庫設計和建模
上云必讀 云數據庫 GaussDB(for MySQL)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。