資料正規化.

Slides:



Advertisements
Similar presentations
正規化範例 第 1 、 2 階正規化. 正規化範例 ( 水果供應商 ) 編號姓名電話地址 郵遞區 號 品名價格 001 林國鐘 高雄市 100 頻果 100 香蕉 60 鳳梨 葉連芳 台北市 400 葡萄 60 頻果 郭明正
Advertisements

指導教授 ~ 張志勇 組員: 彭勇盛 陳信通 吳建賦
企业涉税业务基本知识宣传 郑州航空港区国家税务局机场税务分局 王 磊.
第六章 数据库设计.
大 播 海 直.
資料表關聯與正規化.
Access資料庫管理系統 授課教師:陳恩航 老師 學歷:國立台灣科技大學資管系博士 經歷:國立台北商業技術學院資管系.
第六章 結構化分析與設計 ─資料塑模.
Views ,Stored Procedures, User-defined Function, Triggers
实践 课题 周围环境对当代大学生成长的影响 指导老师:王永章 小组成员:陈荣、刘若楠、张红艳、吕雪丹、樊金芳、李惠芬、黄婧
題目:十六對一多工器 姓名:李國豪 學號:B
資料庫概論.
LINQ 建國科技大學 資管系 饒瑞佶.
9/28號專題報告 Web網頁遊戲 曾建瑋.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
JAVA vs. SQL Server 建國科技大學 資管系 饒瑞佶 2013/4 V1.
Chap 7 關聯式資料庫的正規化.
第7章 關聯式資料庫的正規化 7-1 正規化的基礎 7-2 功能相依 7-3 第一階到第三階正規化型式 7-4 多重值相依與第四階正規化型式
第八章 利用SELECT查詢資料.
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
第五章 關聯式資料庫的理論基礎.
資料表正規化.
第 2 章 規劃關聯式資料庫.
SQL語法 定義與操作指令.
正規化 Normalization.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 21 章 資料庫管理概論.
Chapter 3 正規化與各種合併.
資料庫簡介 郭士煒 助教.
表格正規化簡介 講授大綱: 第一正規化 資料表的切割 第二正規化 第三正規化 Boyce/Codd正規化 第四正規化 第五正規化
使用VHDL設計—4位元位移器 通訊一甲 B 楊穎穆.
第5章 資料庫的正規化.
SQL Stored Procedure SQL 預存程序.
陳以德 助理教授: 濟世CS 轉 2782 資料庫系統 database 陳以德 助理教授: 濟世CS 轉 2782
SQL語法.
連結資料庫管理系統.
App Inventor2呼叫PHP存取MySQL
Database Systems Design Part III : Normalization
Java 程式設計 講師:FrankLin.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
Chap3 Linked List 鏈結串列.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
TB-054A  周天穎 編著 儒林圖書公司 發行.
Ch20. 計算器 (Mac 版本).
Ch05 實體關圖與正規化分析 資料庫管理.
建国以来,大陆对台政策 金亚丽 周莎 黄运娜.
第 19 章 XML記憶體執行模式.
授課老師:楊維邦教授 組長:劉秋良 成員:李政均、郭瀚文、鄒震耀
HTML – 超連結與圖片 資訊教育.
網頁資料知多少? 事 實 ? 謠言?.
資料庫管理系統 緒 論.
使用VHDL設計 七段顯示器 通訊工程系 一年甲班 姓名 : 蘇建宇 學號 : B
如何使用Gene Ontology 網址:
中三生物科 生物的七個特徵.
以四元樹為基礎抽取圖片物件特徵 之 影像檢索
資料庫正規化與E-R Model 簡介 義守大學資管系 張心怡、陶幼慧
MicroSim pspice.
線上MySQL測試資料庫 db4free.net (
陣列與結構.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
商品交易資料庫 顧客上網買商品 如何紀錄客戶資料? 如何紀錄商品資料? 如何紀錄交易資料? 如何處理交易後的所有『後處理』程序?
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
資料表示方法 資料儲存單位.
連結資料庫 MYSQL.
第三章 系統與資料庫檔案設計.
Test for R Data Processing & Graphics
SQLite資料庫 靜宜大學資管系 楊子青.
Chapter 4 Multi-Threads (多執行緒).
Joining Multiple Tables
Chapter 16 動態規劃.
Presentation transcript:

資料正規化

何謂正規化 正規化的步驟 欄位相依的用意 正規化的另類思考

實體 - 關係圖與正規化的關係 資料表的正規化理論 (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 的格式。 各欄位與主鍵沒有間接相依的關係。 主鍵中的各欄位不可以相依於其他非主鍵的欄位。

檢驗成績資料表是否滿足 BCNF 規範 我們利用 Boyce-Codd 正規化的條件, 來檢驗主鍵由多個欄位組成的成績資料表:

經過正規化產生的資料表

正規化的另類思考 不必要的分割, 以郵遞區號為例: 人工的分割