资料库的正规化.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
资料库的正规化.ppt

資料正規化 何謂正規化 正規化的步驟 欄位相依的用意 正規化的另類思考 實體 - 關係圖與正規化的關係 資料表的正規化理論 (Normalization Theory) 其實是一套資料表分割的法則。 正規化的目的, 則是要避免資料重複或相互矛盾的情形, 並使資料庫在使用時能更有效率、更容易維護。 資料庫的正規化 資料庫的正規化共可分為 1NF (Normal Form)、2NF、3NF、BCNF (Boyce-Codd Normal Form)、4NF、5NF 等多個階段, 不過對於一般資料庫設計來說, 通常只需要執行到 BCNF 即可, 而其他更高階的正規化只有在特殊的情況下才用得到。 在資料表正規化的過程 (1NF 到 BCNF) 中, 每個階段都是以欄位的相依性, 做為分割資料表的依據之一。 資料庫的正規化 欄位相依 在一個資料表中, 若乙欄位的值必須搭配甲欄位才有意義, 則我們說『乙欄位相依於甲欄位』。舉例來說, 一個員工資料表如下: 欄位相依 正規化基本概念 正規化的過程是循序漸進的, 資料表必須在滿足第一階正規化的條件之下, 才能進行第二階正規化。也就是說, 第二階正規化必須建立在符合第一階正規化的資料表上, 依此類推。而第一階正規化正是所有正規化的基礎。 第一階正規化的規則 如果資料表符合以下條件, 我們就說這個資料表符合第一階正規化的形式(First Normal Form, 簡稱 1NF): 資料表中有主鍵, 而其他所有的欄位都相依於主鍵。 每個欄位中都只有儲存單一值, 例如姓名欄位中不能存放 2 個人的姓名。 資料表中沒有意義相同的多個欄位, 例如姓名1、姓名2...等重複的欄位。 未符合 1NF 資料表的缺點 學號、學生姓名及成績欄的長度無法確定 降低存取資料的效率 建構 1NF 資料表的方法 對於不具第一階正規化形式的資料表, 我們可將重複的資料項分別儲存到不同的記錄中, 並加上適當的主鍵: 第二階正規化 (2NF) 在執行符合一階正規化的資料表時, 應該會發覺:我們輸入了許多重複的資料。如此, 不但浪費儲存的空間, 更容易造成新增、刪除或更新資料時的異常狀況。所以, 我們必須進行第二階正規化, 來消除這些問題。 第二階正規化的規則 如果資料表符合以下的條件, 我們說這個資料表符合第二階正規化的形式 (Second Normal Form, 簡稱 2NF): 符合 1NF 的格式。 各欄位與主鍵間沒有部分相依的關係。 第二階正規化的規則 部分相依的問題 新增資料時:若有一個新來的轉學生『吳技安』, 但還沒有選修任何課程, 那麼它的資料將無法輸入。 更改資料時:當我們想要將課程名稱『資料庫系統』更改為『資料庫管理』時, 必須搜尋整個資料庫並一一更改, 非常沒有效率。 刪除資料時:由於陳鐵雄只修了『CS101』一門課, 如果將該筆記錄刪除, 那麼陳鐵雄的資料也就跟著消失了。 建構 2NF 資料表的方法 要除去資料表中的部分相依性, 只需將部份相依的欄位分割成另外的資料表即可。例如我們將修課資料表分割成 3 個較小的資料表 (加 * 號的欄位為主鍵): 建構 2NF 資料表的方法 第三階正規化 (3NF) 經過了第二階正規化後的資料表, 其實還存在一些問題: 在課程資料表中, 如果新來了一位教師『甄蒡』, 在尚未安排他教授的課程之前, 我們無法輸入該教師的資料。 若要刪除影像處理的課程, 勢必會將教授該門課程的教師一併刪除。 若要更改影像處理課程的名稱, 則必須同時更改多筆記錄, 造成不便。 第三階正規化的規則 如果資料表符合以下條件, 我們就說這個資料表符合第三階正規化的形式 (Third Normal Form, 簡稱 3NF): 符合 2NF 的格式。 各欄位與主鍵間沒有間接相依的關係。 第三階正規化的規則 建構 3NF 資料表的方法 要除去資料表中的間接相依性, 其方法和除去部分相依性完全相同。例如課程資料表可再分割成兩個資料表: 與直覺式的分割技巧做比較 Boyce-Codd 正規化 (BCNF) 對於大部分資料庫來說, 通常只需要執行到第三階段的正規化即足夠了。如果資料表的主鍵是由多個欄位組成的, 則必須再執行 Boyce-Codd 正規化。 Boyce-Codd 正規化的規則 如果資料表的主鍵只由單一欄位組成, 則符合第三階正規化的資料表, 亦符合 Boyce-Codd 正規化。 若資料表的主鍵由多個欄位組成, 則資料表只要符合以下條件, 我們就說這個資料表符合Boyce-Codd 正規化的形式 (Boyce-Codd Normal Form, 簡稱 BCNF): 符合 2NF 的格式。 各欄位與主鍵沒有間接相依的關係。 主鍵中的各欄位不可以相依於其他非主鍵的欄位。 檢驗成績

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档