1.3.1 數(shù)據(jù)庫設(shè)計步驟
數(shù)據(jù)庫應(yīng)用系統(tǒng)與其它計算機應(yīng)用系統(tǒng)相比,一般具有數(shù)據(jù)量龐大、數(shù)據(jù)保存時間長、數(shù)據(jù)關(guān)聯(lián)比較復(fù)雜、用戶要求多樣化等特點。設(shè)計數(shù)據(jù)庫的目的實質(zhì)上是設(shè)計出滿足實際應(yīng)用需求的實際關(guān)系模型。在Access中具體實施時表現(xiàn)為數(shù)據(jù)庫和表的結(jié)構(gòu)合理,不僅存儲了所需要的實體信息,并且反映出實體之間客觀存在的聯(lián)系。
一、設(shè)計原則
為了合理組織數(shù)據(jù),應(yīng)遵從以下基本設(shè)計原則:
1.關(guān)系數(shù)據(jù)庫的設(shè)計應(yīng)遵從概念單一化“一事一地”的原則
―個表描述一個實體或?qū)嶓w間的一種聯(lián)系。避免設(shè)計大而雜的表,首先分離那些需要作為單個主題而獨立保存的信息,然后通過Access確定這些主題之間有何聯(lián)系,以便在需要時將正確的信息組合在一起。通過將不同的信息分散在不同的表中,可以使數(shù)據(jù)的組織工作和維護工作更簡單,同時也可以保證建立的應(yīng)用程序具有較高的性能。
例如,將有關(guān)教師基本情況的數(shù)據(jù),包括姓名、性別、工作時間等,保存到教師表中。將工資單的信息應(yīng)該保存到工資表中,而不是將這些數(shù)據(jù)統(tǒng)統(tǒng)放到一起。同樣道理,應(yīng)當(dāng)把學(xué)生信息保存到學(xué)生表中,把有關(guān)課程的成績保存在選課表中。
2.避免在表之間出現(xiàn)重復(fù)字段
除了保證表中有反映與其他表之間存在聯(lián)系的外部關(guān)鍵字之外,應(yīng)盡量避免在表之間出現(xiàn)重復(fù)字段。這樣做的目的是使數(shù)據(jù)冗余盡量小,防止在插入、刪除和更新時造成數(shù)據(jù)的不一致。
例如,在課程表中有了課程名宇段,在選課表中就不應(yīng)該有課程名字段。需要時可以通過兩個表的聯(lián)接找到所選課程對應(yīng)的課程名稱。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |