一、設(shè)計過程包含五個主要步驟。
第 1 步:確定實體和關(guān)系
第 2 步:確定所需數(shù)據(jù)
第 3 步:規(guī)范化數(shù)據(jù)
第 4 步:解析關(guān)系
第 5 步:驗證設(shè)計
二、閱讀別人的概念模型圖:
不管是從左到右讀取還是從右到左讀取,下面的規(guī)則都會使讀取這些圖示變得容易:讀取 (1) 第一個實體的名稱,(2) 第一個實體 旁邊的角色,(3) 到第二個實體 的連接的基數(shù),(4) 第二個實體的名稱。
三、確定所需數(shù)據(jù)(實體屬性的設(shè)計)需要注意的:
確定支持數(shù)據(jù)時,一定要參考前面確定的活動以了解將如何訪問這些數(shù)據(jù)。
例如,在某些情況下可能需要按雇員的名字列出雇員,而在另一些情況下可能需要按姓氏列出。要滿足這兩種需要,應(yīng)創(chuàng)建一個 First Name 屬性和一個 Last Name 屬性,而不應(yīng)創(chuàng)建一個既包含名字又包含姓氏的屬性。將姓氏和名字分開后,以后可以創(chuàng)建兩個索引,分別適用于這兩項任務(wù)。
請選擇一致的名稱。使用一致的名稱可以使數(shù)據(jù)庫便于維護,并且便于閱讀報告和輸出窗口。
例如,如果一個屬性使用了縮略名稱,如 Emp_status,則另一個屬性不應(yīng)使用完整名稱,如 Employee_ID。應(yīng)使名稱保持一致,如 Emp_status 和 Emp_ID。
在這個階段,數(shù)據(jù)是否與正確的實體相關(guān)聯(lián)并不十分重要。您可以根據(jù)自己的判斷進行設(shè)計。在下一節(jié)中,將對設(shè)計進行測試,檢查您的判斷是否正確。
四、規(guī)范化是指一系列測試,通過這些測試可以消除冗余的數(shù)據(jù),并確保數(shù)據(jù)與正確的實體或關(guān)系相關(guān)聯(lián)。共有五項測試。本節(jié)介紹其中前三項測試。這三項測試最重要,因此也最常使用。
五、范式:
數(shù)據(jù)規(guī)范化包括幾項測試。數(shù)據(jù)在通過了第一項測試后,我們認為它滿足第一范式;通過了第二項測試后,它滿足第二范式;通過了第三項測試后,則滿足第三范式。
六、標(biāo)識符是唯一地標(biāo)識實體中各行的一組屬性,至少由一個屬性組成。
七、解析關(guān)系:
執(zhí)行完規(guī)范化過程后,設(shè)計幾乎就完成了。唯一還需要做的事情就是生成與概念數(shù)據(jù)模型相對應(yīng)的物理數(shù)據(jù)模型。這個過程也稱作解析關(guān)系,因為其中涉及的大量工作就是將概念模型中的關(guān)系轉(zhuǎn)換為相應(yīng)的表和外鍵關(guān)系。
八、概念數(shù)據(jù)模型可以簡化設(shè)計過程,因為它將大量細節(jié)隱藏起來。例如,多對多關(guān)系總會生成一個額外的表和兩個外鍵引用。在概念數(shù)據(jù)模型中,通常可以用一個連接來標(biāo)識這類結(jié)構(gòu)。
九、域(用戶定義的數(shù)據(jù)類型)
十、數(shù)據(jù)庫對象的定義構(gòu)成了數(shù)據(jù)庫模式:您可以將模式看做一個空數(shù)據(jù)庫。(是否可以理解成C#的命名空間或java里的包概念)
十一、