時(shí)間:2022-11-18 06:30:02 | 來(lái)源:信息時(shí)代
時(shí)間:2022-11-18 06:30:02 來(lái)源:信息時(shí)代
數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì) : 根據(jù)數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)所獲得的概念模型,直接轉(zhuǎn)換成與某個(gè)具體DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)及能進(jìn)行處理的局部結(jié)構(gòu)(外部模式,也叫子模式),并進(jìn)行優(yōu)化。也就是說(shuō)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)包括具體數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的模式和子模式設(shè)計(jì)。設(shè)計(jì)邏輯結(jié)構(gòu)應(yīng)該選擇最適于描述和表達(dá)相應(yīng)概念結(jié)構(gòu)的數(shù)據(jù)模型,然后選擇最合適的DBMS。
數(shù)據(jù)庫(kù)設(shè)計(jì)的方法因具體數(shù)據(jù)庫(kù)而異,但是在邏輯建模階段是相同的,所以可以用一些通用的輔助工具來(lái)進(jìn)行,如ERwin,Power Designer等。這一階段主要是依據(jù)系統(tǒng)的需求,獲取和分析要實(shí)現(xiàn)的應(yīng)用系統(tǒng)信息,進(jìn)行數(shù)據(jù)內(nèi)部以及外在關(guān)系的分析,從而有效地建立整個(gè)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)(在關(guān)系數(shù)據(jù)庫(kù)中通常稱為表結(jié)構(gòu)),在此基礎(chǔ)上對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)量、數(shù)據(jù)流量及響應(yīng)速度估算分析,從而得到應(yīng)用系統(tǒng)的數(shù)據(jù)模型。
具體的操作準(zhǔn)則是依據(jù)數(shù)據(jù)庫(kù)規(guī)范化理論、用戶的具體需求和分析者的經(jīng)驗(yàn),同時(shí)考慮數(shù)據(jù)庫(kù)的性能、安全、方便管理、易于開(kāi)發(fā)等因素。
設(shè)計(jì)邏輯結(jié)構(gòu)時(shí)一般分三步進(jìn)行:
(1)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系(或網(wǎng)狀、層次等)模型。
(2)將轉(zhuǎn)換來(lái)的關(guān)系(或網(wǎng)狀、層次等)模型向特定的DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換。
(3)對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。
將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上主要是將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:
(1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的鍵就是關(guān)系的鍵。
(2)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的鍵以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。關(guān)系的鍵為各實(shí)體鍵的組合。
(3)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的鍵以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,關(guān)系的鍵為n端實(shí)體的鍵。
(4)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。
(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的鍵以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。關(guān)系的鍵為各實(shí)體鍵的組合。
(6) 同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。
(7)具有相同鍵的關(guān)系模式可合并。
為了進(jìn)一步提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,通常以規(guī)范化理論為指導(dǎo),還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),確定數(shù)據(jù)依賴,消除冗余的聯(lián)系。確定各關(guān)系模式分別屬于第幾范式,確定是否要對(duì)它們進(jìn)行合并或分解,這就是數(shù)據(jù)模型的優(yōu)化。一般來(lái)說(shuō)將關(guān)系分解為3NF的標(biāo)準(zhǔn),即: 表內(nèi)的每一個(gè)值都只能被表達(dá)一次; 表內(nèi)的每一行都應(yīng)該被唯一的標(biāo)識(shí)(有唯一鍵);表內(nèi)不應(yīng)該存在依賴于非主鍵屬性的信息。
從E-R圖轉(zhuǎn)換而來(lái)的關(guān)系模式還只是邏輯模式的雛形,要成為邏輯結(jié)構(gòu)模式,還需進(jìn)行下列處理:①適應(yīng)DBMS限制條件的修改; ②滿足性能、存儲(chǔ)空間等要求的調(diào)整; ③用DBMS所提供的DDL實(shí)現(xiàn)邏輯模式。
必須指出,以上得到的數(shù)據(jù)庫(kù)的全局關(guān)系模式是對(duì)系統(tǒng)整體而言的,它與需求分析時(shí)各個(gè)用戶反映的局部應(yīng)用是有區(qū)別的。為了體現(xiàn)用戶對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)模式的看法,必須定義相應(yīng)的局部關(guān)系模式。它實(shí)際上是系統(tǒng)全局關(guān)系模式的一個(gè)子集,一般用定義用戶視圖的方法來(lái)實(shí)現(xiàn)。
客戶&案例
營(yíng)銷資訊
關(guān)于我們
客戶&案例
營(yíng)銷資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。