數據庫原理(十 二)- 邏輯結構設計

前言

概念結構是獨立於任何一種數據模型的信息結構,邏輯結構設計的任務就是概念結構設計階段設計好的基本E-R圖轉換爲與選用數據庫管理系統產品所支持的數據模型相符合的邏輯結構。

E-R圖向關係模型的轉換

E-R圖向關係模型的轉換要解決的問題:

  • 如何將實體型和實體間的聯繫轉換爲關係模式
  • 如何確定這些關係模式的屬性和碼

轉換的一般規則:

一個實體型轉換爲一個關係模式,關係的屬性就是實體的屬性,關係的碼就是實體的碼

不同聯繫的轉換規則:

  • 一個1:1聯繫可以轉換爲一個獨立的關係模式,也可以與任意一端對應的關係模式合併
  • 一個1:n聯繫可以轉換爲一個獨立的關係模式,也可以與n端對應的關係模式合併
  • 一個m:n聯繫可以轉換爲一個關係模式,與該聯繫相連的各實體的碼以及聯繫本身的屬性均轉爲關係的屬性,各實體的碼組成關係的碼或關係碼的一部分
  • 多元聯繫轉換爲一個關係模式,與該多元聯繫相連的各實體的碼以及聯繫本身的屬性均轉爲關係的屬性,各實體的碼組成關係的碼或關係碼的一部分
  • 具有相同碼的關係模式可以合併

上面的幾條轉換規則不知道你們看不看得懂,如果看不懂用下面的例子說明

1:1聯繫,如下圖中
在這裏插入圖片描述
一共有兩個關係實體,我們可以轉化爲兩個關係模式,分別是顧客和會員卡,按照轉換規則,我們選擇任意一端合併,並將一端的主碼添加爲合併端關係模式的外碼

顧客(姓名,性別,年齡)
會員卡(卡號,消費金額,積分,顧客姓名)

1:n聯繫和m:n聯繫,如下圖:
在這裏插入圖片描述
1:n聯繫中,可以看到有班級和學生兩個實體,按照轉換規則,選擇n端合併,1端的主碼添加到n端的關係模式做外碼

班級(班級號,班級名,輔導員)
學生(學號,姓名,性別,年齡,班級號)

m:n聯繫中,可以看到有學生和課程兩個實體,以及一個選修聯繫實體,按照轉換規則,學生和課程兩個實體的碼和屬性不變,將各自的主碼添加進選修聯繫實體中做主碼和外碼

學生(學號,姓名,性別,年齡,班級號)
課程(課程號,課程名,學分)
選修(學號,課程號,成績)

如果m:n聯繫中,沒有聯繫的屬性,那麼就合併n端,m端的主碼作n端的外碼,在關係模式中主碼用下劃線標識外碼用波浪線標識

數據模型的優化

數據邏輯設計的結果不是唯一的。爲了進一步提高數據庫應用系統的性能,還應該根據應用需要適當地修改、調整數據模型的結構,這就是數據模型的優化。關係數據模型的優化通常以規範化理論爲指導,方法爲:

  1. 確定數據依賴
  2. 對於各個關係模式之間的數據依賴進行極小化處理,消除冗餘的聯繫
  3. 按照數據依賴的理論對關係模式逐一分析,考察是否存在部分函數依賴、傳遞函數依賴、多值依賴等,確定各關係模式屬於第幾範式
  4. 根據需求分析階段得到的處理要求分析對於這樣的應用環境這些模式是否合適,確定是否要對某些模式進行合併或分解
  5. 對關係模式進行必要分解,提高數據操作效率和存儲空間利用率

設計用戶子模式

將概念模型轉換爲全局邏輯模型後,還應該根據局部應用需求,結合具體關係數據庫管理系統的特點設計用戶的外模式。
定義數據庫全局模式主要是從系統的時間效率、空間效率、易維護等角度出發。由於用戶外模式與模式是相對獨立的,因此在定義用戶外模式時可以注重考慮用戶的習慣與方便,具體包括一下幾個方面:

  1. 使用更符合用戶習慣的別名
  2. 可以對不同級別的用戶定義不同的視圖
  3. 簡化用戶對系統的使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章