數(shù)據(jù)庫設計步驟
數(shù)據(jù)庫應用系統(tǒng)與其它計算機應用系統(tǒng)相比,一般具有數(shù)據(jù)量龐大、數(shù)據(jù)保存時間長、數(shù)據(jù)關聯(lián)比較復雜、用戶要求多樣化等特點。設計數(shù)據(jù)庫的目的實質上是設計出滿足實際應用需求的實際關系模型。在Access中具體實施時表現(xiàn)為數(shù)據(jù)庫和表的結構合理,不僅存儲了所需要的實體信息,并且反映出實體之間客觀存在的聯(lián)系。
一、設計原則
為了合理組織數(shù)據(jù),應遵從以下基本設計原則:
1.關系數(shù)據(jù)庫的設計應遵從概念單一化“一事一地”的原則
―個表描述一個實體或實體間的一種聯(lián)系。避免設計大而雜的表,首先分離那些需要作為單個主題而獨立保存的信息,然后通過Access確定這些主題之間有何聯(lián)系,以便在需要時將正確的信息組合在一起。通過將不同的信息分散在不同的表中,可以使數(shù)據(jù)的組織工作和維護工
作更簡單,同時也可以保證建立的應用程序具有較高的性能。
例如,將有關教師基本情況的數(shù)據(jù),包括姓名、性別、工作時間等,保存到教師表中。將工資單的信息應該保存到工資表中,而不是將這些數(shù)據(jù)統(tǒng)統(tǒng)放到一起。同樣道理,應當把學生信息保存到學生表中,把有關課程的成績保存在選課表中。
2.避免在表之間出現(xiàn)重復字段
除了保證表中有反映與其他表之間存在聯(lián)系的外部關鍵字之外,應盡量避免在表之間出現(xiàn)重復字段。這樣做的目的是使數(shù)據(jù)冗余盡量小,防止在插入、刪除和更新時造成數(shù)據(jù)的不一致。
例如,在課程表中有了課程名宇段,在選課表中就不應該有課程名字段。需要時可以通過兩個表的聯(lián)接找到所選課程對應的課程名稱。
3.表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素
表中不應包括通過計算可以得到的“二次數(shù)據(jù)”或多項數(shù)據(jù)的組合。能夠通過計算從其他字段推導出來的字段也應盡量避免。
例如,在職工表中應當包括出生日期字段,而不應包括年齡字段。當需要査詢年齡的時候, 可以通過簡單計算得到準確年齡。
在特殊情況下可以保留計算字段,但是必須保證數(shù)據(jù)的同步更新。例如,在工資表中出現(xiàn)的“實發(fā)工資”字段,其值是通過“基本工資+獎金+津貼-房租-水電費-托兒費”計算出來的。每次更改其他字段值時,都必須重新計算。
4.用外部關鍵字保證有關聯(lián)的表之間的聯(lián)系
表之間的關聯(lián)依靠外部關鍵字來維系,使得表結構合理,不僅存儲了所需要的實體信息,并且反映出實體之間的客觀存在的聯(lián)系,最終設計出滿足應用需求的實際關系模型。
二、設計的步驟
(1)需求分析。確定建立數(shù)據(jù)庫的目的,這有助于確定數(shù)據(jù)庫保存哪些信息。
(2)確定需要的表?梢灾謱⑿枨笮畔澐殖筛鱾獨立的實體,例如教師、學生、工資、選課等。每個實體都可以設計為數(shù)據(jù)庫中的一個表。
(3)確定所需字段。確定在每個表中要保存哪些字段,確定關鍵字,字段中要保存數(shù)據(jù)的數(shù)據(jù)類型和數(shù)據(jù)的長度。通過對這些宇段的顯示或計算應能夠得到所有需求信息。
(4)確定聯(lián)系。對每個表進行分析,確定一個表中的數(shù)據(jù)和其他表中的數(shù)據(jù)有何聯(lián)系。必要時可在表中加入一個字段或創(chuàng)建一個新表來明確聯(lián)系。
(5)設計求精。對設計進一步分析,査找其中的錯誤;創(chuàng)建表,在表中加入幾個示例數(shù)據(jù)記錄,考察能否從表中得到想要的結果。需要時可調整設計。
在初始設計時,難免會發(fā)生錯誤或遺漏數(shù)據(jù)。這只是一個初步方案,以后可以對設計方案進一步完善。完成初步設計后,可以利用示例數(shù)據(jù)對表單、報表的原型進行測試。Access很容易在創(chuàng)建數(shù)據(jù)庫時對原設計方案進行修改?墒窃跀(shù)據(jù)庫中載入了大量數(shù)據(jù)或報表之后,再要修改這些表就比較困難了。正因為如此,在開發(fā)應用系統(tǒng)之前,應確保設計方案已經(jīng)比較合理。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |