目錄
5 . 5 數(shù)據(jù)庫(kù)設(shè)計(jì)與建模
5.5.1數(shù)據(jù)庫(kù)設(shè)計(jì)階段
1 . 規(guī)劃:為什么做?能不能做?
2 . 需求分析:做成什么樣子?
3 . 概念設(shè)計(jì):怎么做 - 概念 (用戶)
4 . 邏輯設(shè)計(jì):怎么做?-- 邏輯
5 . 物理設(shè)計(jì):怎么做?-- 物理
5.5.2 實(shí)體聯(lián)系模型到關(guān)系圖
0. 三要素
1 . 聯(lián)系的類型
2. E- -R 圖的集成
3. E - R 圖向關(guān)系模式的轉(zhuǎn)換 (向關(guān)系型數(shù)據(jù)庫(kù)的格式轉(zhuǎn)換)
附錄:
5 . 5 數(shù)據(jù)庫(kù)設(shè)計(jì)與建模
數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)一個(gè)給定的應(yīng)用環(huán)境,提供:
- 一個(gè)確定:最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),
- 以及一個(gè)確定數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),
- 建立起能反映現(xiàn)實(shí)世界信息和信息聯(lián)系及滿足用戶數(shù)據(jù)要求和加工要求,以能夠被某個(gè) D B M S 所接受,
- 同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫(kù)。
5.5.1數(shù)據(jù)庫(kù)設(shè)計(jì)階段
基于數(shù)據(jù)庫(kù)系統(tǒng)生命周期的數(shù)據(jù)庫(kù)設(shè)計(jì)可分為如下5 個(gè)階段:
規(guī)劃、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。
1 . 規(guī)劃:為什么做?能不能做?
規(guī)劃階段的主要任務(wù)是進(jìn)行建立數(shù)據(jù)庫(kù)的必要性及可行性分析,確定數(shù)據(jù)庫(kù)系統(tǒng)在企業(yè)和信息系統(tǒng)中的地位,以及各個(gè)數(shù)據(jù)庫(kù)之間的聯(lián)系。有關(guān)系統(tǒng)規(guī)劃方面的知識(shí),將在第 9 章中詳細(xì)介紹。
2 . 需求分析:做成什么樣子?
需求分析的目標(biāo)是通過(guò)調(diào)査研究,了解用戶的數(shù)據(jù)和處理要求,并按一定格式整理形成需求說(shuō)明書。需求說(shuō)明書包括數(shù)據(jù)庫(kù)所涉及的數(shù)據(jù)、數(shù)據(jù)的特征、使用頻率和數(shù)據(jù)的估計(jì),例如,數(shù)據(jù)名、屬性及其類型 、主鍵屬性、保密要求 、完 整性約束條件、更改要求、使用頻率和數(shù)據(jù)量估計(jì)等。這些關(guān)于數(shù)據(jù)的數(shù)據(jù)稱為元數(shù)據(jù)。
在設(shè)計(jì)大型數(shù)據(jù)庫(kù)時(shí),這些數(shù)據(jù)通常由數(shù)據(jù)字典來(lái)管理。用數(shù)據(jù)字典管理元數(shù)據(jù),有利于避免數(shù)據(jù)的重復(fù)或電名,以保持?jǐn)?shù)據(jù)的一致性。同時(shí),有利于提高數(shù)據(jù)庫(kù)設(shè)計(jì)的質(zhì)量,減輕設(shè)計(jì)者的負(fù)擔(dān)。有關(guān)需求分析的知識(shí),將在第11章中詳細(xì)介紹。
3 . 概念設(shè)計(jì):怎么做 - 概念 (用戶)
概念(Idea;Notion;Concept)是人類在認(rèn)識(shí)過(guò)程中,從感性認(rèn)識(shí)上升到理性認(rèn)識(shí),把所感知的事物的共同本質(zhì)特點(diǎn)抽象出來(lái),加以概括,是自我認(rèn)知意識(shí)的一種表達(dá),形成概念式思維慣性。在人類所認(rèn)知的思維體系中最基本的構(gòu)筑單位。
心理學(xué)上認(rèn)為,概念是人腦對(duì)客觀事物本質(zhì)的反映,這種反映是以詞來(lái)標(biāo)示和記載的。概念是思維活動(dòng)的結(jié)果和產(chǎn)物,同時(shí)又是思維活動(dòng)借以進(jìn)行的單元。表達(dá)概念的語(yǔ)言形式是詞或詞組。概念都有內(nèi)涵和外延,即其涵義和適用范圍。概念隨著社會(huì)歷史和人類認(rèn)識(shí)的發(fā)展而變化。中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)GB/T15237.1-2000:“概念”是對(duì)特征的獨(dú)特組合而形成的知識(shí)單元。德國(guó)工業(yè)標(biāo)準(zhǔn)2342將概念定義為一個(gè)“通過(guò)使用抽象化的方式從一群事物中提取出來(lái)的反映其共同特性的思維單位”。
概念設(shè)計(jì)也稱為概念結(jié)構(gòu)設(shè)汁,其任務(wù)是在需求分析階段產(chǎn)生的需求說(shuō)明書的基礎(chǔ)上,按照特定的方法將它們抽象為一個(gè)不依賴于任何 D B M S 的數(shù)據(jù)模型,即概念模型。
概念模型使設(shè)計(jì)人員的注意力能夠從復(fù)雜的實(shí)現(xiàn)細(xì)節(jié)中解脫出來(lái),而只集中在最重要的數(shù)據(jù)的組織結(jié)構(gòu)和處理模式上。為保證所設(shè)汁的概念模型能正確、完全地反映用戶的數(shù)據(jù)及其相互關(guān)系,便于進(jìn)行所要求的各種處理,在概念設(shè)計(jì)階段中,可邀請(qǐng)用戶參與。
在進(jìn)行概念設(shè)計(jì)時(shí),可先設(shè)計(jì)各個(gè)應(yīng)用的視圖,即各個(gè)應(yīng)用所看到的數(shù)據(jù)及其結(jié)構(gòu),然后再進(jìn)行視圖集成,以形成一個(gè)單一的概念數(shù)據(jù)模型。
4 . 邏輯設(shè)計(jì):怎么做?-- 邏輯
邏輯設(shè)計(jì)也稱為邏輯結(jié)構(gòu)設(shè)計(jì),其任務(wù)是將概念模型轉(zhuǎn)化為某個(gè)特定的 D B M S 上的邏輯模型。設(shè)計(jì)邏輯結(jié)構(gòu)時(shí),首先為概念模型選定一個(gè)合適的邏輯模型(例如,關(guān)系模型、網(wǎng)狀模型或?qū)哟文P?/strong>),然后將其轉(zhuǎn)化為由特定 D B M S 支持的邏輯模型,最后對(duì)邏輯模型進(jìn)行優(yōu)化。
邏輯設(shè)計(jì)的目的是將概念設(shè)計(jì)階段設(shè)計(jì)好的 E - R 圖轉(zhuǎn)換為與選用的具體機(jī)器上的D B M S 所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。
5 . 物理設(shè)計(jì):怎么做?-- 物理
物理設(shè)計(jì)也稱為物理結(jié)構(gòu)設(shè)計(jì),其任務(wù)是對(duì)給定的邏輯模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),所謂數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),主要是指數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。
物理設(shè)計(jì)的步驟如下:
(1) 設(shè)計(jì)存儲(chǔ)記錄結(jié)構(gòu),包括記錄的組成、數(shù)據(jù)項(xiàng)的類型和長(zhǎng)度,以及邏輯記錄到存儲(chǔ)記錄的映射。
(2) 確定數(shù)據(jù)存儲(chǔ)安排。
(3) 設(shè)計(jì)訪問(wèn)方法,為存儲(chǔ)在物理設(shè)備上的數(shù)據(jù)提供存儲(chǔ)和檢索的能力。
(4) 進(jìn)行完整性和安全性的分析與設(shè)計(jì)。
(5) 數(shù)據(jù)庫(kù)程序設(shè)計(jì)。
5.5.2 實(shí)體聯(lián)系模型到關(guān)系圖
0. 三要素
E - R 模型也稱為 E - R 圖,它是描述概念世界,建立概念模型的實(shí)用工具。
在 E - R 圖中,主要包括以下三個(gè)要素:
(1) 實(shí) 體 (型)。
實(shí)體用矩形框表示,框內(nèi)標(biāo)注實(shí)體名稱。
(2) 屬性。
單值屬性用橢圓形表示,并用連線與實(shí)體連接起來(lái)。
如果是多值屬性,在橢圓形虛線外面再套實(shí)線橢圓;
如果是派生屬性,則用虛線橢圓表示。其中,多值屬性可以有一個(gè)或者兩個(gè)以上的值,例如,學(xué)員信息數(shù)據(jù)庫(kù)中可能包含關(guān)于他們個(gè)人興趣的數(shù)據(jù),一個(gè)學(xué)員可能有運(yùn)動(dòng)、電影、投資和烹調(diào)等多個(gè)興趣;
派生屬性是從基本屬性計(jì)算出來(lái)的屬性,例如,學(xué)員的總成績(jī)和平均成績(jī)等。
(3) 實(shí)體之間的聯(lián)系。
實(shí)體之間的聯(lián)系用菱形框表示,框內(nèi)標(biāo)注聯(lián)系名稱,并用連線將菱形框分別與有關(guān)實(shí)體相連,并在連線上注明聯(lián)系類型。例如,圖 5 4 就是某在線教育平臺(tái)系統(tǒng)的一個(gè) E - R 圖 (為了簡(jiǎn)單起見(jiàn),省略了部分實(shí)體的屬性和聯(lián)系的屬性)。
1 . 聯(lián)系的類型
E- -R 圖中的聯(lián)系可以歸結(jié)為三種類型,分別是一對(duì)一聯(lián)系 、 一 對(duì)多聯(lián)系和多對(duì)多聯(lián)系。
(1) 一對(duì)一聯(lián)系(1:1)。
設(shè) A, B 為兩個(gè)實(shí)體集,若 A 中的每個(gè)實(shí)體至多和B 中的一個(gè)實(shí)體有聯(lián)系,反過(guò)來(lái),B 中的每個(gè)實(shí)體至多和A 中的一個(gè)實(shí)體有聯(lián)系,則稱A 對(duì) 對(duì) B或 或 B 對(duì) 對(duì) A 是 1:1聯(lián)系。要注意的是,1:1聯(lián)系不一定都是一一對(duì)應(yīng)的關(guān)系,可能存在著無(wú)對(duì)應(yīng)。例如,在 圖 5 4 中,一個(gè)班只有一個(gè)班主任,一個(gè)輔導(dǎo)老師不能N 時(shí)兼任兩個(gè)班的班主任,由于輔導(dǎo)老師緊缺,某個(gè)班的班主任也可能暫缺
(2) —對(duì) 多 聯(lián) 系
如 果 實(shí) 體 集 A 中的每個(gè)實(shí)體可以和B中的幾個(gè)實(shí)體有聯(lián)系,而 而 B 中的每個(gè)實(shí)體至少和A 中的一個(gè)實(shí)體有聯(lián)系,則 A 對(duì) 對(duì) B M 于 1⑺聯(lián)系。例如,在圖 5-4中,一個(gè)班級(jí)有多個(gè)學(xué)員,而一個(gè)學(xué)員只能編排在一個(gè)班級(jí),班級(jí)與學(xué)員之間的關(guān)系屬于一對(duì)多的聯(lián)系。
?(3) 多對(duì)多聯(lián)系(mTi )。
若實(shí)體集A 中的每個(gè)實(shí)體可與B 中的多個(gè)實(shí)體有聯(lián)系,反過(guò)來(lái),B 中的每個(gè)實(shí)體也可以與A 中的多個(gè)實(shí)體有聯(lián)系,則稱A 對(duì) 對(duì) B 或 或 B 對(duì) 對(duì) A 是 是 w力 力聯(lián)系。例如,在 圖 5 4 中,一個(gè)學(xué)員可以選修多門課程,一門課程由多個(gè)學(xué)員選修,學(xué)員和課程之間存在多對(duì)多的聯(lián)系。
2. E- -R 圖的集成
在數(shù)據(jù)庫(kù)的概念設(shè)計(jì)過(guò)程中,先設(shè)計(jì)各子系統(tǒng)的局部E- -R 圖,其設(shè)計(jì)過(guò)程是,首先,確定局部視圖的范圍;然后,識(shí)別實(shí)體及其標(biāo)識(shí),確定實(shí)體之間的聯(lián)系;最后,分配實(shí)體及聯(lián)系的屬性。各子系統(tǒng)的局部E- -R 圖設(shè)計(jì)好后,下一步就是要將所有的分E- -R 圖綜合成一個(gè)系統(tǒng)的總體E- -R 圖,一般稱為視圖的集成。視圖集成通常有兩種方式,?一種方式是多個(gè)局部E- -R 圖一次集成,這種方式比較復(fù)雜,做起來(lái)難度較大;
另一種方式是逐步集成,用累加的方式一次集成兩個(gè)局部E- -R 圖。這種方式每次只集成兩個(gè)局部E- -R?圖,可以降低復(fù)雜度。
由于各子系統(tǒng)應(yīng)用所面臨的問(wèn)題不同,且通常是由不同的設(shè)計(jì)人員進(jìn)行局部視圖設(shè)計(jì),這就導(dǎo)致各個(gè)局部E- -R圖之間必定會(huì)存在許多不一致的問(wèn)題,稱之為沖突。因此,在合并E- -R 圖時(shí),不能簡(jiǎn)單地將各個(gè)局部E- -R 圖M 到一起,而是必須著力消除各個(gè)局部E- -R 圖中的不一致,以形成-?個(gè)能為全系統(tǒng)中所有用戶共同理解和接受的統(tǒng)一的概念模型。
各局部E- -R 圖之間的沖突主要有三類:屬性沖突、命名沖突和結(jié)構(gòu)沖突。
(1) 屬性沖突。
屬性沖突包括屬性域沖突和屬性取值沖突。屬性沖突理論上好解決,只要換成相同的屬性就可以了,但實(shí)際上需要各部門協(xié)商,解決起來(lái)并不簡(jiǎn)單。
(2) 命名沖突。
命名沖突包括同名異義和異名同義。處理命名沖突通常也像處理屬性沖突一樣,通過(guò)討論和協(xié)商等行政手段加以解決。
(3) 結(jié)構(gòu)沖突。
結(jié)構(gòu)沖突包括同一對(duì)象在不同應(yīng)用中具有不同的抽象,以及同一實(shí)體在不同局部E- -R 圖中所包含的屬性個(gè)數(shù)和屬性排列次序不完全相同。對(duì)于前者的解決辦法是將屬性變換為實(shí)體或?qū)嶓w變換為屬性,使同一對(duì)象具有相同的抽象。對(duì)于后者的解決辦法是使該實(shí)體的屬性取各 M 部 E - R 圖中屬性的并集,再適當(dāng)調(diào)整屬性的次序。
另外,實(shí)體間的聯(lián)系在不同的局部 E - R 圖中可能為不同的類型,其解決方法是根據(jù)
應(yīng)用的語(yǔ)義對(duì)實(shí)體聯(lián)系的類型進(jìn)行綜合或調(diào)整。在初步的 E - R 閣中,可能存在一些冗余
的數(shù)據(jù)和實(shí)體間冗余的聯(lián)系。冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫(kù)的完整性,給數(shù)據(jù)庫(kù)
維護(hù)增加困難,應(yīng)當(dāng)予以消除。消除冗余的主要方法為分析方法,即以數(shù)據(jù)字典和數(shù)據(jù)
流圖為依據(jù),根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間邏輯關(guān)系的說(shuō)明來(lái)消除冗余。有關(guān)數(shù)據(jù)字
典和數(shù)據(jù)流圖的詳細(xì)知識(shí),將 在 11.4節(jié)中介紹。
3. E - R 圖向關(guān)系模式的轉(zhuǎn)換 (向關(guān)系型數(shù)據(jù)庫(kù)的格式轉(zhuǎn)換)
E - R 圖向關(guān)系模式的轉(zhuǎn)換 用于數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)階段的工作,該階段需要將 E - R 模
型轉(zhuǎn)換為某種 D B M S 能處理的關(guān)系模式,具體轉(zhuǎn)換規(guī)則如下:
(1) 一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的主鍵就是關(guān)系的主鍵。
(2) —個(gè) 1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為?-個(gè)獨(dú)立的模式,則與該聯(lián)系相連的各實(shí)體的主鍵和聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)休的主鍵均是該關(guān)系的鍵屬性;如果與某一端實(shí)體對(duì)應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的主鍵和聯(lián)系本身的屬性。
(3) —個(gè)聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意《端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的模式,則與該聯(lián)系相連的各實(shí)體的主鍵和聯(lián)系本身的厲性均轉(zhuǎn)換為關(guān)系的屬性, fft 關(guān)系的主鍵為《端實(shí)體的主鍵;如果與《端實(shí)體對(duì)應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入1端關(guān)系模式的主鍵和聯(lián)系本身的屬性。
(4) 一個(gè)聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,與該聯(lián)系相連的各實(shí)體的主鍵以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的主鍵為各實(shí)體主鍵的組合。
(5) 三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,與該聯(lián)系相連的各實(shí)體的主鍵和聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的主鍵為各實(shí)體主鍵的組合。
另外,還有4 種情況是需要特別注意的:
( 1 ) 多值屬性的處理。
如果 E - R 圖中某實(shí)體具有一個(gè)多值屬性,則應(yīng)該進(jìn)行優(yōu)化,把該屬性提升為一個(gè)實(shí)體,通常稱為弱實(shí)體;或者在轉(zhuǎn)化為關(guān)系模式時(shí),將實(shí)體的主鍵與多值屬性單獨(dú)構(gòu)成一個(gè)關(guān)系模式。
(2) B L O B 型屬性的處理。
典型的 B L O B 是一張圖片或一個(gè)聲音文件,由于它們的容量比較大,必須使用特殊的方式來(lái)處理。處理 B L O B 的主要思想就是讓文件處理器(例如,數(shù)據(jù)庫(kù)管理器)不去理會(huì)文件是什么,而是關(guān)心如何去處理它。因此,從優(yōu)化的角度考慮,應(yīng)采用的設(shè)計(jì)方案是將 B L O B M 性與關(guān)系的主鍵獨(dú)立為一個(gè)關(guān)系模式。
(3) 派生屬性的處理。
因?yàn)榕缮鷮傩钥捎善渌麉栃杂?jì)算得到,因此,在轉(zhuǎn)化成關(guān)系模式時(shí),通常不轉(zhuǎn)換派生屬性。
(4) 在面向?qū)ο蟮哪P椭?/strong>,本節(jié)的關(guān)系模式就對(duì)應(yīng)類,關(guān)系模式的屬性就對(duì)應(yīng)類的屬性。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-421480.html
附錄:
數(shù)據(jù)庫(kù)主鍵:指的是一個(gè)列或多列的組合,其值能唯一地標(biāo)識(shí)表中的每一行,通過(guò)它可強(qiáng)制表的實(shí)體完整性。主鍵主要是用與其他表的外鍵關(guān)聯(lián),以及文本記錄的修改與刪除。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-421480.html
到了這里,關(guān)于[架構(gòu)之路-172]-《軟考-系統(tǒng)分析師》-5-數(shù)據(jù)庫(kù)系統(tǒng)-5- 數(shù)據(jù)庫(kù)設(shè)計(jì)與建模(邏輯設(shè)計(jì)-實(shí)體關(guān)系圖ER圖-關(guān)系圖、物理設(shè)計(jì))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!