數據庫系統(四)---關係型數據庫設計及E-R圖

一、關係型數據庫:html

  關係型數據庫是一類採用關係模型做爲邏輯數據模型的數據庫系統,聽從數據庫設計的基本步驟,包括:需求分析、概念結構設計、邏輯結構設計、物理結構設計、數據庫實施、數據庫的運行和維護等階段。 概念結構設計與邏輯結構設計是關係數據庫整個設計過程的關鍵。數據庫

 

二、關係數據庫設計過程與各級模式 安全

  在關係數據庫設計的不一樣階段,會造成數據庫的各級模式。數據庫設計

   1)需求分析階段,綜合各個用戶的應用需求;函數

   2)概念結構設計階段,造成獨立於機器特色、獨立於各個關係數據庫管理系統產品的概念模式;工具

   3)邏輯結構設計階段,將 E-R 圖轉換成具體的數據庫產品支持的關係數據模型,造成數據庫邏輯模式,而後根據用戶處理的要求、安全性的考慮,在基本表的基礎上再創建必要的視圖,造成數據的外模式;學習

   4)物理結構的設計階段,根據關係數據庫管理系統的特色和處理的須要,進行物理存儲安排,創建索引,造成數據庫內模式。優化

      注:詳細瞭解,請參考數據模式https://www.cnblogs.com/huyangshu-fs/p/11620600.htmlspa

 

三、 概念結構設計方法設計

  關係數據庫的概念結構設計一般採用自頂向下法,它經過兩個步驟來完成概念設計,首先創建局部信息結構,而後將局部信息結構合成爲全局信息結構並優化,使用 E-R 圖做爲概念模型的描述工具。

   1)局部信息結構設計

  局部信息結構設計:根據需求分析報告中標明的不一樣用戶視圖範圍所創建的知足該範圍內用戶需求的信息結構,稱爲局部信息結構。

  局部信息結構設計的步驟包括:肯定局部範圍;選擇實體;選擇實體關鍵字; 肯定實體間聯繫;肯定實體的屬性。

   2)E-R 圖的表示方法

  概念結構設計就是將需求分析獲得的用戶需求抽象爲信息結構的過程,一般使用 E-R 圖來做爲描述現實世界的建模工具。E-R 圖提供了表示信息世界中實體、屬性和聯繫的方法。

  1.實體型,用矩形表示,寫明實體的名稱;

  2.屬性,用橢圓形表示,並用無向邊將其與其相應的實體鏈接起來。

  3.聯繫,用菱形表示,寫明聯繫的名稱,用無向邊分別與有關實體鏈接起來,同時在無向邊旁標註聯繫的類型(1:一、1:N 或 M:N),若是一個聯繫具備屬性, 則這些屬性也要用無向邊與該聯繫鏈接起來。

  兩個實體型之間、兩個以上的實體型之間以及單個實體型內的聯繫,都會存在以下關係: 一對一聯繫(1:1) 一對多聯繫(1:N) 多對多聯繫(M:N)

 

   3)全局信息結構設計

 

  全局信息結構設計是將上述步驟中產生的全部局部信息結構合併成爲一個全局信息結構。 各局部 E-R 圖之間的衝突主要表如今三個方面:

 

  3.1).屬性衝突:屬性域衝突和屬性取值單位衝突。

 

  3.2).命名衝突:同名異義和異名同義。

 

  3.3).結構衝突:

 

   ① 同一對象在一個局部 E-R 圖中做爲實體,而在另外一個 局部 E-R 圖中做爲屬性;

 

   ② 同一實體在不一樣的 E-R 圖中屬性個數和類型不一樣;

 

   ③ 實體之間的聯繫在不一樣的 E-R 圖中是不一樣的類型。

 

  eg:

  【例】設有以下實體:

    學生:學號,姓名,性別

    課程:課程號,課程名,學分

    班級:班號,班名,

    其中,每一個班有若干學生,每一個學生只能夠在—個班級學習;每一個學生可選修多門課程,每門課程可被多個學生選修,學生選修課程要記錄成績。

   1. 試畫出反映上述實體關係的 E-R 圖(沒必要畫實體的屬性)。

    

 

 

     注意:學生選修課程以後纔能有成績,故成績是選修(聯繫)的屬性。

 

 

 

四、邏輯結構設計方法

  邏輯結構設計的任務是把在概念結構設計產生的概念模型轉換爲具體的 DBMS 所支持的邏輯數據模型,也就是導出特定的 DBMS 能夠處理的數據庫邏輯結構。 一般包括三項工做:將 E-R 圖轉換爲關係模型、對關係數據模型進行優化、設計面向用戶的外模式。

   1)E-R 圖向關係模型的轉換 遵循原則以下:

  1. 一個實體型轉換爲一個關係模式。

  2. 一個一對一聯繫能夠轉換爲一個獨立的關係模式。

  3. 一個一對多聯繫能夠轉換爲一個關係模式。

  4. 一個多對多聯繫轉換爲一個關係模式。

  5. 具備相同碼的關係模式可合併。

  eg:

  使用3中的示例,將E-R圖轉化爲關係模式,並說明主外鍵

  (1)一個實體型對應一個關係模式:

         R學生(學號,姓名,性別)

 

    R課程(課程號,課程名,學分)

 

    R班級(班號,班名)

 

     (2)一個一對多聯繫可轉化爲一個關係模式(中間表)

    R屬於(學號、班號)外鍵 學號 和 班號

  (3)一個多對多聯繫可轉化爲一個關係模式(中間表)

    R選修(學號、課程號、成績)外鍵 學號 和 課程號

  (4)R學生和R屬於可合併成一張表

    R學生(學號、姓名、性別、班號)外鍵 班號

    2)數據模型的優化 方法以下:

  1.肯定各屬性間的函數依賴關係。

  2.對於各個關係模式的範式,根據實際須要肯定最合適的範式。

  3.判斷每一個關係模式的範式,根據實際須要肯定最合適的範式。

  4.按照需求分析階段獲得的處理要求,分析這些模式對於這樣的應用環境是否 合適,肯定是否要對某些模式進行合併或分解。

  5.對關係模式進行必要的分解,提升數據操做的效率和存儲空間的利用率。

 

   3)設計用戶子模式 定義用戶模式具體包括如下幾個方面:

  1.能夠經過視圖機制在設計用戶視圖時,從新定義某些屬性的別名,使其更符合用戶的習慣,以方便使用。

  2.能夠對不一樣級別的用戶定義不一樣的視圖,以保證系統的安全性。

  3.簡化用戶對系統的使用。

 

五、物理設計方法

   關係數據庫系統的優勢之一是用戶一般不須要進行數據存儲結構和存取方法的設計。

   物理設計的任務主要是經過對關係創建索引和彙集來實現與應用相關數據的邏輯鏈接和物理彙集,以改善對數據庫的存取效率。

 1)創建索引

  索引的創建是經過 DBMS 提供的有關命令來實現的。 用以創建索引的那些屬性也應是其所在關係中使用頻率較高的屬性。 創建索引的方式一般有靜態和動態兩種。 靜態創建索引是指應用人員預先創建索引,一旦創建,後續的應用程序都可直 接使用該索引存取數據,它多適合於用戶較多且使用週期相對較長的數據;動 態創建索引是指應用人員在程序內外臨時創建索引,它多適合於單獨用戶或臨 時性使用要求狀況。

    2) 創建彙集

  彙集是將相關數據集中存放的物理存儲技術,藉以提升 I/O 的數據命中率而改 善存取速度,其功能由具體的 DBMS 所提供,如 MySQL。 數據彙集結構的一種有效方式是塊結構方式,塊與塊之間由指針鏈接,一個塊對應於一個物理分區。

相關文章
相關標籤/搜索