Download presentation
Presentation is loading. Please wait.
1
資料庫簡介 郭士煒 助教
2
教學用書與軟體 Access 2010 實力養成暨評量,松崗 Access_TQC模擬系統
3
資料庫簡介 Access使用範圍 中小企業 常被用來開發簡單的WEB應用程式。 資料庫,基本上是電腦化的資料保存系 統。資料庫本身可視為電子化的檔案櫃 ——儲存電腦化檔案的處所,使用者可 以新增檔案或刪除檔案,也可以對檔案 中的資料執行新增、擷取、更新、刪除 等操作。
4
轉換成資料表的欄位 收集必要且完整的資料項 轉換成資料表的欄位 分類 資料項目加上一些簡單的描述 例:沒有產品成本,就無法計算藥品利潤
例:客戶星座沒有意義就不需要記錄 分類 資料項目加上一些簡單的描述 例:屬於什麼樣的資料型別 (整數、文字或 者是日期) 例:有沒有什麼特殊限制
5
轉換成資料表的欄位(con.)
6
規劃資料庫的第二階段 將收集的欄位做適當分類,歸入不同的 資料表中,建立資料表間的關聯
7
分割資料表並建立關聯的優點 關聯式資料庫優點 節省儲存空間 減少輸入錯誤 方便資料修改
8
關聯 關聯式資料庫是由一個或多個資料表 (Table) 所構成, 每個資料表與其它的資料表之間, 因為某些欄位的相關性而產生關聯 (Relationship)。 例:訂單資料表與客戶資料表, 便因為客戶編號 欄位而產生關聯:
9
關聯 在實際分析資料表的關聯時, 一般都是 使用分割資料表的方式
先將所有需要的欄位大略歸類, 然後再 透過正規化分析將重複的資料一一挑出 來 產生新的資料表, 並建立與原資料表的 關聯。
10
Primary key 與 Foreign key
Foreign key:在關聯式資料庫中, 資料表之 間的關係是藉由 Foreign key 來建立的
11
Primary Key 和 Foreign Key
這兩個欄位的資料型別、寬度等屬性必 須相同, 但名稱不一定要一樣, Foreign key 中的資料可以重複 (例如多 本書作者可能是同一人), 這點和 Primary key 不同。 Primary key Primary key Foreign key
12
正規化 正規化就是要讓資料庫中重複的資料減到最 少, 讓我們能夠快速地找到所要的資料, 以提 高關聯式資料庫的效能。 資料庫的正規化共可分為
第一階正規化 (1st Normal Form, 1NF) 第二階正規化 (2NF) 第三階正規化 (3NF) BCNF (Boyce-Codd Normal Form) 第四階正規化 (4NF) 第五階正規化 (5NF) 一般執行到第三正規化即可
13
第一階正規化 第一階正規化的規則 資料表中必須有 Primary Key, 而其他所 有的欄位都 『相依』 於 Primary Key。
『相依』是指一個資料表中, 若欄位 B 的值必須搭配欄位 A 才有意義, 就是「B 欄位相依於 A 欄位」。舉例來說, 某一員工資料表如下:
14
第一階正規化(con.) 反之, 若資料表的欄位不符合以上規則, 則稱為 『非正規化』 的資料表。
2. 每個欄位中都只儲存單一值, 例如同一筆 記錄的姓名欄位中不能存放 2 個人的姓名。 3. 資料表中沒有意義相同的多個欄位, 例如 姓名 1、姓名 等重複的欄位。 反之, 若資料表的欄位不符合以上規則, 則稱為 『非正規化』 的資料表。
15
第一階正規化(con.) 不符合 1NF 資料表 如何修改為符合1NF的資料表呢?
16
第一階正規化
17
第二階正規化 第二階正規化的規則 1. 必須符合 1NF 的格式。 2. 各欄位與 Primary Key 間沒有『部分相依』 的關係。
『部分相依』 只有在 Primary Key是由多個 欄位組成時才會發生, 它是指某些欄位只與 Primary Key 中的部分欄位有相依性, 而與 另一部分的欄位沒有相依性。
18
第二階正規化(con.) 不符合 2NF 資料表
19
第二階正規化(con.) 部分相依會造成下列問題: 新增資料時可能會無法輸入: 更改資料時沒有效率: 刪除資料時可能會同時刪除仍有用的資料:
若有一新出的書籍 “Linux 架站實務 更改資料時沒有效率: 當客戶名稱 "十全書店" 更改為 "大補書店“ 刪除資料時可能會同時刪除仍有用的資料: “XOOPS 架站王” 僅在 “OD101” 這筆訂單中被訂購, 如果將該筆記錄刪除, 此書 “XOOPS 架站王” 的資料也就跟著消失了。
20
第二階正規化(con.)
21
第三階正規化 第三階正規化的規則 1. 符合 2NF 的格式 2. 各欄位與 Primary Key 間沒有 "間接相依" 的關係 "間接相依" 是指二個欄位間並非直接相 依, 而是借助第三個欄位來達成資料相 依的關係, 例如 A 相依於 B;而 B 又相 依於 C, 如此 A 與 C 之間就是間接相依 的關係。
22
第三階正規化(con.) 要找出各欄位與 Primary Key 間的間接相依性, 最簡單的方式就是看看資料表中有沒有 "與 Primary Key 無關的相依性" 存在。例如在訂單資 料表中: 與Primary key無關的相依
23
第三階正規化(con.) 建構 3NF 資料表的方法 要除去資料表中的 “間接相依性”, 其 方法和除去 “部分相依性” 完全相同。
例如訂單資料表可再分割成兩個資料表:
24
請修改為符合3NF 訂單編號 訂貨日期 客戶 產品編號 產品名稱 單價 數量 0001 2011/06/18 王大明 T5001 C0002
紅茶 咖啡 奶茶 20 60 40 100 80 90 0002 2012/09/02 林柯德 T5002 D1110 烏龍茶 25 500 70
Similar presentations