Presentation is loading. Please wait.

Presentation is loading. Please wait.

第 2 章 規劃關聯式資料庫.

Similar presentations


Presentation on theme: "第 2 章 規劃關聯式資料庫."— Presentation transcript:

1 第 2 章 規劃關聯式資料庫

2 本章提要 簡易的規劃流程 收集資料項並轉換成欄位 認識關聯、Primary Key 與 Foreign Key 資料的完整性
資料表的關聯種類 資料庫的正規化分析

3 簡易的規劃流程 第一階段:收集完整且必要的資料項, 並轉換成資料表的欄位形式。
第二階段:將收集的欄位做適當分類後, 歸入不同的資料表中, 並建立資料表間的關聯。

4 收集資料項並轉換成欄位 收集必要且完整的資料項

5 收集資料項並轉換成欄位 轉換成資料表的欄位

6 收集資料項並轉換成欄位 轉換成資料表的欄位

7 關聯 下圖的訂單資料表與客戶資料表, 便因為客戶編號欄位而產生關聯:

8 分割資料表並建立關聯的優點 節省儲存空間 減少輸入錯誤 方便資料修改

9 節省儲存空間

10 節省儲存空間 當書籍資料表需要使用到作者名稱或分類時, 就可以經由關聯, 到作者資料表與分類資料表中選取:

11 減少輸入錯誤

12 Primary key Primary key 是用來辨識記錄的欄位, 具有唯一性, 且不允許重複。

13 Primary key

14 Foreign key 在關聯式資料庫中, 資料表之間的關係是藉由 Foreign key 來建立的:

15 資料的完整性 實體完整性 (Entity Integrity) 區域完整性 (Domain Integrity)
參考完整性 (Referential Integrity) 使用者定義的完整性 (User-defined Integrity)

16 資料表的關聯種類 一對一關聯 (one-to-one) 一對多關聯 (one-to-many) 多對多關聯 (many-to-many)

17 一對一關聯 (one-to-one)

18 一對一關聯 (one-to-one)

19 一對多關聯 (one-to-many)

20 多對多關聯 (many-tomany)

21 資料庫的正規化分析 正規化就是要讓資料庫中重複的資料減到最少, 讓我們能夠快速地找到所要的資料, 以提高關聯式資料庫的效能。

22 資料庫的正規化之前 資料表必須先設好 Primary key 確定資料表中所有欄位的值是不可分割的

23 在正規化之前 設好 Primary key:

24 在正規化之前

25 在正規化之前 確定所有欄位的值是不可分割的:

26 在正規化之前 資料表進行正規化, 必須先將欄位內多出的資料項分割成獨立的記錄:

27 資料庫的正規化 規則 1 :除去同類型的欄位 規則 2 :非 Primary key 的欄位需與整個 Primary key 有直接相關性

28 規則 1 : 除去同類型的欄位 規則 1 稱為第一階正規化 (1st Normal Form;1NF) - 其目的在除去同類型的欄位, 亦即同類型的欄位不能重複:

29 規則 1 : 除去同類型的欄位

30 規則 2 :非 Primary key 的欄位需與整個 Primary key 有直接相關性
規則 2 稱為第二階正規化 (2nd Normal Form;2NF) - 目的在除去僅與部份 Primary key 相依的欄位。

31 規則 2 :非 Primary key 的欄位需與整個 Primary key 有直接相關性

32 規則 3 :非 Primary key 的欄位間不應有從屬關係
規則 3 稱為第三階正規化 (3rd Normal Form;3NF) - 目的在除去所有非 Primary key 的欄位間的相依性。

33 規則 3 :非 Primary key 的欄位間不應有從屬關係

34 正規化的另類思考 不必要的分割 人工的分割

35 不必要的分割 正規化的工作有時不必做得非常徹底, 例如郵遞區號與縣市、區若分割後, 每次查詢都要多一道還原手續, 實無必要:

36 人工的分割 有時為了增加資料處理的效率, 我們會將已經符合 3NF 的資料表再做分割。


Download ppt "第 2 章 規劃關聯式資料庫."

Similar presentations


Ads by Google