數(shù)據(jù)庫設(shè)計步驟
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)的課程名稱。
3.表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素
表中不應(yīng)包括通過計算可以得到的“二次數(shù)據(jù)”或多項數(shù)據(jù)的組合。能夠通過計算從其他字段推導(dǎo)出來的字段也應(yīng)盡量避免。
例如,在職工表中應(yīng)當(dāng)包括出生日期字段,而不應(yīng)包括年齡字段。當(dāng)需要査詢年齡的時候, 可以通過簡單計算得到準(zhǔn)確年齡。
在特殊情況下可以保留計算字段,但是必須保證數(shù)據(jù)的同步更新。例如,在工資表中出現(xiàn)的“實發(fā)工資”字段,其值是通過“基本工資+獎金+津貼-房租-水電費-托兒費”計算出來的。每次更改其他字段值時,都必須重新計算。
4.用外部關(guān)鍵字保證有關(guān)聯(lián)的表之間的聯(lián)系
表之間的關(guān)聯(lián)依靠外部關(guān)鍵字來維系,使得表結(jié)構(gòu)合理,不僅存儲了所需要的實體信息,并且反映出實體之間的客觀存在的聯(lián)系,最終設(shè)計出滿足應(yīng)用需求的實際關(guān)系模型。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |