6.2數(shù)據(jù)庫設(shè)計
6.2.1數(shù)據(jù)庫設(shè)計的要求和步驟 1.數(shù)據(jù)庫設(shè)計的要求 數(shù)據(jù)庫設(shè)計的目標(biāo)是建立一個合適的數(shù)據(jù)模型,。這個數(shù)據(jù)模型應(yīng)當(dāng)是: ?。?)滿足用戶要求:既能合理地組織用戶需要的所有數(shù)據(jù),又能支持用戶對數(shù)據(jù)的所有處理功能,。 ?。?)滿足某個數(shù)據(jù)庫管理系統(tǒng)的要求:能夠在數(shù)據(jù)庫管理系統(tǒng)中實現(xiàn)。 ?。?)具有較高的范式:數(shù)據(jù)完整性好,、效益高,便于理解和維護(hù),,沒有數(shù)據(jù)沖突,。 2.數(shù)據(jù)庫設(shè)計步驟 數(shù)據(jù)庫設(shè)計可以分為概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計三個階段,。 ?。?)概念結(jié)構(gòu)設(shè)計。這是數(shù)據(jù)庫設(shè)計的第一個階段,,在管理信息系統(tǒng)的分析階段,,已經(jīng)得到了系統(tǒng)的數(shù)據(jù)流程圖和數(shù)據(jù)字典,現(xiàn)在要結(jié)合數(shù)據(jù)規(guī)范化的理論,,用一種數(shù)據(jù)模型將用戶的數(shù)據(jù)需求明確地表示出來,。 概念數(shù)據(jù)模型是面向問題的模型,反映了用戶的現(xiàn)實工作環(huán)境,,是與數(shù)據(jù)庫的具體實現(xiàn)技術(shù)無關(guān)的,。建立系統(tǒng)概念數(shù)據(jù)模型的過程叫做概念結(jié)構(gòu)設(shè)計,。 (2)邏輯結(jié)構(gòu)設(shè)計,。根據(jù)已經(jīng)建立的概念數(shù)據(jù)模型,,以及所采用的某個數(shù)據(jù)庫管理系統(tǒng)軟件的數(shù)據(jù)模型特性,,按照一定的轉(zhuǎn)換規(guī)則,,把概念模型轉(zhuǎn)換為這個數(shù)據(jù)庫管理系統(tǒng)所能夠接受的邏輯數(shù)據(jù)模型。不同的數(shù)據(jù)庫管理系統(tǒng)提供了不同的邏輯數(shù)據(jù)模型,,如層次模型,、網(wǎng)狀模型、關(guān)系模型等,。 ?。?)物理結(jié)構(gòu)設(shè)計。為一個確定的邏輯數(shù)據(jù)模型選擇一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程,,就叫做數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計,。數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法稱為數(shù)據(jù)庫的物理數(shù)據(jù)模型。 6.2.2概念結(jié)構(gòu)設(shè)計 描述概念數(shù)據(jù)模型的主要工具是E-R(實體一聯(lián)系)模型,,或者叫做E-R圖,。利用E-R圖實現(xiàn)概念結(jié)構(gòu)設(shè)計的方法就叫做E-R方法。 1.概念模型的表示方法 E-R圖主要是由實體,、屬性和聯(lián)系三個要素構(gòu)成的,。在E-R圖中,使用了下面四種基本的圖形符號,。 2.確定系統(tǒng)實體,、屬性及聯(lián)系 利用系統(tǒng)分析階段建立的數(shù)據(jù)字典,并對照數(shù)據(jù)流程圖對系統(tǒng)中的各個數(shù)據(jù)項進(jìn)行分類,、組織,,確定系統(tǒng)中的實體、實體的屬性,、標(biāo)識實體的碼以及實體之間聯(lián)系的類型,。 在數(shù)據(jù)字典中“數(shù)據(jù)項”是基本數(shù)據(jù)單位,一般可以作為實體的屬性,。“數(shù)據(jù)結(jié)構(gòu)”,、“數(shù)據(jù)存儲”和“數(shù)據(jù)流”條目都可以作為實體,因為它們總是包含了若干的數(shù)據(jù)項,。作為屬性必須是不可再分的數(shù)據(jù)項,,也就是說在屬性中不能包含其他的屬性。 3.確定局部(分)E-R圖 根據(jù)上面的分析,,可以畫出部分實體-聯(lián)系圖,。 在這些實體中有下畫線的屬性可以作為實體的碼,,這幾個實體之間存在著1:1、l:n和m:n幾種聯(lián)系,。 4.集成完整(總)E-R圖 各個局部(分)E-R圖畫好以后,,應(yīng)當(dāng)將它們合并起來集成為完整(總)E-R圖。在集成時應(yīng)當(dāng)注意如下幾點: ?。?)消除不必要的冗余實體,、屬性和聯(lián)系。 ?。?)解決各分E-R圖之間的沖突,。 (3)根據(jù)情況修改或重構(gòu)E-R圖,。 6.2.3邏輯結(jié)構(gòu)設(shè)計 邏輯結(jié)構(gòu)設(shè)計的任務(wù),,就是把概念結(jié)構(gòu)設(shè)計階段建立的基本E-R圖,按選定的管理系統(tǒng)軟件支持的數(shù)據(jù)模型(層次,、網(wǎng)狀,、關(guān)系),轉(zhuǎn)換成相應(yīng)的邏輯模型,。這種轉(zhuǎn)換要符合關(guān)系數(shù)據(jù)模型的原則,。 E-R圖向關(guān)系模型的轉(zhuǎn)換是要解決如何將實體和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系,并確定這些關(guān)系的屬性和碼,。這種轉(zhuǎn)換一般按下面的原則進(jìn)行: ?。?)一個實體轉(zhuǎn)換為一個關(guān)系,實體的屬性就是關(guān)系的屬性,,實體的碼就是關(guān)系的碼,。 (2)一個聯(lián)系也轉(zhuǎn)換為一個關(guān)系,,聯(lián)系的屬性及聯(lián)系所連接的實體的碼都轉(zhuǎn)換為關(guān)系的屬性,,但是關(guān)系的碼會根據(jù)聯(lián)系的類型變化,如果是: 1:1聯(lián)系,,兩端實體的碼都成為關(guān)系的候選碼,。 1:n聯(lián)系,n端實體的碼成為關(guān)系的碼,。 m:n聯(lián)系,,兩端實體碼的組合成為關(guān)系的碼。 ?。?)具有相同碼的關(guān)系可以合并,。 1.轉(zhuǎn)換關(guān)系 2.合并關(guān)系 |
|