- 電子商務數據庫技術(第3版)
- 潘郁
- 1267字
- 2019-12-11 15:42:23
3.1.5 關系模式規范化小結
關系模式規范化的過程是逐步消除關系模式中不合適的數據依賴的過程,使關系模型中的各個關系模式達到某種程度的分離,各個范式所滿足的條件一個比一個嚴格。按照它們的定義,可用圖3.1概括關系模式規范化的過程。

圖3.1 關系模式規范化的過程
以簡單的關系模式為例,根據上述過程將其逐級規范化。
設有“教師任課”關系如下:
分析上述關系模式可知,該關系模式為非規范化的關系模式,所以,要對其進行規范化,具體步驟如下。
(1)消去重復組。
以教師講授一門課作為一條記錄,合并所有的有關屬性,得到如下的關系模式:
其中,{教師工號,課程號{為關鍵字,此關系為1NF。
(2)消去部分函數依賴。
在“教師任課”關系模式中,一些非主屬性對關鍵字{教師工號,課程號{部分函數依賴,如“姓名”“性別”“職稱”部分函數依賴于關鍵字{教師工號,課程號{,因為它們實際上是由教師工號決定的。因此,需要對關系進行分解,使非主屬性完全函數依賴于關鍵字,從而得到如下三個關系模式:
以上三個關系模式都是2NF。
但是,在“教師”關系模式中,{教師工號{→{系號{,{系號{→{系名稱{,所以,非主屬性“系名稱”傳遞函數依賴于關鍵字{教師工號{,因此“教師”關系模式不是3NF。
(3)消去傳遞函數依賴。
為消除傳遞函數依賴,將“教師”關系模式進一步分解成如下兩個關系模式:
關鍵字為{教師工號{。
關鍵字為{系號{。
所以,可以用下面的四個關系模式代替最初的“教師任課”關系模式:
關鍵字為{教師工號{。
關鍵字為{系號{。
關鍵字為{教師工號,課程號{。
關鍵字為{課程號{。
在這四個關系模式組成的關系模型中消除了傳遞函數依賴,達到了3NF。在以上任意一個關系模式中,每個決定因素都是關鍵字,因此也同時滿足了BCNF的要求。
一個關系模式達到BCNF,說明在函數依賴的范疇內已經實現了徹底分離,可以消除插入、刪除和更新的異常。
對關系模式的規范化可以小結如下。
(1)目的
規范化的目的是使關系模式結構合理,清除存儲異常,并使數據冗余盡量小,便于數據的插入、刪除和更新。
(2)原則
遵從“一事一地”的模式設計原則,即一個關系模式描述一個概念、一個實體或實體間的一種聯系。規范化的實質是概念單一化。
(3)方法
將關系模式投影分解成兩個或兩個以上的關系模式。
(4)要求
分解后的關系模式集合應當與原關系模式等價,即經過自然連接可恢復原關系而不丟失信息,并保持屬性間合理的聯系。