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