第12章 資料表正規化

●重點整理●

1、正規化理論的目的是將一個資料表分割成為許多獨立但彼此關聯的小檔案。避免資料重複或互相矛盾的情形發生,定始資料庫更有效率且供容易維護。

2、資料庫的正規過程,1NF到BCNF處理的工作如下:
◎1NF:除去資料表中意義相同的欄位,並讓每個欄位中只有一個單一值。也要為資料表建立主鍵。
◎2NF:除去資料表中與主鍵『部分相依』的欄位。
◎3NF:除去資料表中與主鍵『間皆相依』的欄位。
◎BCNF:除去主鍵中的各欄位相依於其他非主鍵的欄位。

3、所謂欄位相依就是在資料表中,乙欄位的值必須搭配甲欄位才有意義,則我們說『乙欄位相依於甲欄位』。

4、部分相依只有在主鍵是由多個欄位組成時才會發生,部分相依的欄位只與主鍵中的部分欄位有相依性,而與另一部份的欄位沒有相依性。

5、間接相依是指二個欄位並非直接相依,而是藉助其他藍未來達成資料相依的關係。例如A與B相依且B與C相依,則我們說A與C為間接相依

6、當我們在執行資料表的正規化時,應視資料表的使用狀況來執行正規化的動作,否則過於徹底執行正規化,只會降低資料庫的執行效率。

7、當資料表的主鍵由多個欄位組成時,則資料表只要符合以下條件,我們就說這個資料表符合『Boyce-codd正規化的形式』:
◎符合3NF的格式。
◎主鍵中的各欄位不可相依於其他非主鍵的欄位。


●實力評量●

一、選擇題
1.(3)請問我們在資料表中除去與主鍵間皆相依的欄位,是屬於正規化的第幾階段?
3NF

2.(1)請問我們在資料表中加入主鍵欄位,是屬於正規化中的第幾階段?
1NF

3.(2)請問我們在資料表中除去與主鍵部分相依的欄位,是屬於正規化中的第幾階段?
2NF

4.(4)請問我們在資料表中除去與主鍵中的各欄位相依於其他非主鍵的欄位,是屬於正規化中的第幾階段?
BCNF

5.(2)帳目管理資料表中有甲、乙、丙三個欄位,其中甲欄位和乙欄位具有資料相依性而乙欄位與丙欄位有具有資料相依性,我們稱甲欄位與丙欄位具有何種關係?
間接相依


二、填充題

1、在設計資料庫的過程中,我們必須執行資料庫的正規化理論,來避免資料重複或互相矛盾的情形,病使資料庫在使用時能更有效率、共容易維護。

2、在正規化的階段中,2NF的目的是在除去資料表中與主鍵具有部分相依的欄位,而3NF的目的是除去資料表中與主鍵具有間接相依的欄位。


三、問答題

1、是說明1NF到BCNF個步驟的主要工作
A:
◎1NF:除去資料表中意義相同的欄位,並讓每個欄位中只有一個單一值。也要為資料表建立主鍵。
◎2NF:除去資料表中與主鍵『部分相依』的欄位。
◎3NF:除去資料表中與主鍵『間皆相依』的欄位。
◎BCNF:除去主鍵中的各欄位相依於其他非主鍵的欄位。

四、實作題

●搶答時間●

Q12-1
A:邏輯設計
1NF、2NF、3NF、4NF、5NF、BCNF等階段。

Q12-3
A:Yes

Q12-4
A:Yes

Q12-5
A:Yes

Q12-6
A:Yes

Q12-7
A: