陳印 何強(qiáng)
摘 要:E-R模型在系統(tǒng)開(kāi)發(fā)中用于業(yè)務(wù)需求的概念建模較為常見(jiàn),通過(guò)E-R模型將實(shí)體及聯(lián)系轉(zhuǎn)化為關(guān)系模型,能為關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)提供參考依據(jù)。本文闡述了三元E-R模型的概念、各實(shí)體間存在的聯(lián)系類(lèi)別、三元E-R模型的設(shè)計(jì)方法及三元E-R模型向關(guān)系模型轉(zhuǎn)化的方法,對(duì)高職院校教材管理系統(tǒng)中教學(xué)班、課程及教材中存在的聯(lián)系進(jìn)行了三元E-R模型設(shè)計(jì),并實(shí)現(xiàn)了該模型到關(guān)系模型的轉(zhuǎn)化。
關(guān)鍵詞:教材管理系統(tǒng) 三元E-R模型 關(guān)系模型
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2018)09(c)-0027-02
在高職院校教材管理系統(tǒng)初始設(shè)計(jì)階段,需要使用E-R模型對(duì)業(yè)務(wù)需求進(jìn)行概念建模。E-R模型是實(shí)體聯(lián)系模型的簡(jiǎn)稱(chēng),用于描述現(xiàn)實(shí)世界中的事物及其相互聯(lián)系,用實(shí)體(Entity)、屬性(Attributes)、聯(lián)系(Relationship)來(lái)進(jìn)行數(shù)據(jù)庫(kù)建模[1]。通常,E-R模型中用于描述兩個(gè)實(shí)體之間聯(lián)系的二元模型較為常見(jiàn)。如果業(yè)務(wù)需求中有3個(gè)實(shí)體之間存在著某種聯(lián)系,就會(huì)用到三元E-R模型,以此甚至可以擴(kuò)展到N元模型。
1 三元E-R模型
1.1 三元E-R模型的類(lèi)型及關(guān)系模式的轉(zhuǎn)換
1.1.1 1∶1∶1類(lèi)型
這種類(lèi)型各個(gè)實(shí)體之間存在著一對(duì)一對(duì)一的聯(lián)系。如實(shí)體A、B、C之間存在著函數(shù)依賴(lài):A,B->C、B,C->A、A,C->B,則實(shí)體A、B、C存在1∶1∶1的聯(lián)系,且A、B、C的度均為1。
這種模型轉(zhuǎn)化為關(guān)系模型的方法是:將其中一個(gè)實(shí)體轉(zhuǎn)換成關(guān)系模式,再將另外兩個(gè)實(shí)體的鍵作為外鍵與聯(lián)系的屬性(集)一起加在該關(guān)系模式的屬性集,另外兩個(gè)實(shí)體也單獨(dú)轉(zhuǎn)換為兩個(gè)獨(dú)立的關(guān)系模式即可。
1.1.2 1∶1∶N類(lèi)型
這種類(lèi)型各個(gè)實(shí)體之間存在著一對(duì)一對(duì)多的聯(lián)系。如實(shí)體A、B、C之間存在著函數(shù)依賴(lài):C,A->B、C,B->A,則實(shí)體A、B、C存在1∶1∶N的聯(lián)系,且A、B的度為1,C的度為N。
這種模型轉(zhuǎn)化為關(guān)系模型的方法是:將度為N的實(shí)體轉(zhuǎn)換成的關(guān)系模式,再將兩個(gè)度為1的實(shí)體的鍵作為外鍵與聯(lián)系的屬性(集)加在該關(guān)系模式的屬性集,另外兩個(gè)實(shí)體也單獨(dú)轉(zhuǎn)換為兩個(gè)獨(dú)立的關(guān)系模式即可。
1.1.3 1∶N∶M類(lèi)型
這種類(lèi)型各個(gè)實(shí)體之間存在著一對(duì)多對(duì)多的聯(lián)系。如實(shí)體A、B、C之間存在著函數(shù)依賴(lài):B,C->A,則實(shí)體A、B、C存在1∶N∶M的聯(lián)系,且A的度為1,B、C的度為N或M。
這種模型轉(zhuǎn)化為關(guān)系模型的方法是:除了3個(gè)實(shí)體需要轉(zhuǎn)換為3個(gè)獨(dú)立的關(guān)系模式外,還需要將聯(lián)系也轉(zhuǎn)換為關(guān)系模式,將3個(gè)實(shí)體的鍵以及聯(lián)系的屬性作為該關(guān)系模式的屬性、度為N和M的實(shí)體鍵作為該關(guān)系模式的組合鍵。
1.1.4 N∶M∶P類(lèi)型
這種類(lèi)型各個(gè)實(shí)體之間存在著多對(duì)多對(duì)多的聯(lián)系。3個(gè)實(shí)體之間不存在函數(shù)依賴(lài)。
這種模型轉(zhuǎn)化為關(guān)系模型的方法與1∶N∶M類(lèi)型轉(zhuǎn)換方式類(lèi)似,只是聯(lián)系所轉(zhuǎn)換的關(guān)系模式的鍵由3個(gè)實(shí)體的鍵組合而定。
1.2 三元E-R模型類(lèi)型的確定
根據(jù)實(shí)體間的函數(shù)依賴(lài)可以確定三元E-R模型的類(lèi)型及各實(shí)體的度。此外,亦可使用以下方法判別三元E-R模型中某個(gè)實(shí)體的度:將另外兩個(gè)實(shí)體都看作只有一個(gè)實(shí)例,如果該實(shí)體只有一個(gè)實(shí)例能與這兩個(gè)實(shí)體的實(shí)例有聯(lián)系,則該實(shí)體的度就為“1”,反之則為“N”[2]。
2 案例
在高職院校教材管理系統(tǒng)中,教學(xué)班、課程及教材之間存在如下聯(lián)系:每個(gè)教學(xué)班可開(kāi)設(shè)多門(mén)課程,每門(mén)課程使用一種教材;多個(gè)教學(xué)班可開(kāi)設(shè)同一門(mén)課程,但不一定使用相同教材;多個(gè)教學(xué)班可開(kāi)設(shè)不同課程使用相同教材。其中“教學(xué)班”需要記錄班級(jí)編號(hào)(鍵)、班級(jí)名稱(chēng)、創(chuàng)建學(xué)期;“課程”需要記錄課程編號(hào)(鍵)、課程名稱(chēng);“教材”需要記錄書(shū)號(hào)(鍵)、書(shū)名、出版社、單價(jià);“選擇”聯(lián)系需要記錄征定狀態(tài)、征訂數(shù)量、實(shí)到數(shù)量、發(fā)放數(shù)量。
2.1 三元E-R模型設(shè)計(jì)
該業(yè)務(wù)需求中有3個(gè)實(shí)體:教學(xué)班、課程及教材,他們存在著選用教材的一種聯(lián)系,符合三元E-R模型特征。從上述描述中可以確定,這3個(gè)實(shí)體之間存在著以下函數(shù)依賴(lài):教學(xué)班,課程->教材;教學(xué)班,教材->課程。
這種函數(shù)依賴(lài)與三元E-R模型類(lèi)型中1∶1∶N的依賴(lài)關(guān)系相同,屬于1∶1∶N的E-R模型,所以教學(xué)班的度為N,課程、教材的度為1。由此繪制出其三元E-R模型如圖1所示。
2.2 關(guān)系模型的轉(zhuǎn)換
按照1∶1∶N的三元E-R模型轉(zhuǎn)換為關(guān)系模型的方法,應(yīng)該將教學(xué)班、課程及教材分別轉(zhuǎn)換為關(guān)系模式,并在教學(xué)班的關(guān)系模式中加入課程和教材的鍵以及聯(lián)系的屬性,結(jié)果有、R課程(課程編號(hào)、課程名稱(chēng));R教材(書(shū)號(hào)、書(shū)名、單價(jià)、出版社);R教學(xué)班(班級(jí)編號(hào)、班級(jí)名稱(chēng)、課程編號(hào)、書(shū)號(hào)、征訂狀態(tài)、征訂數(shù)量、實(shí)到數(shù)量、發(fā)放數(shù)量)。
3 結(jié)語(yǔ)
三元E-R模型的設(shè)計(jì)需要考慮3個(gè)實(shí)體之間存在的依賴(lài)關(guān)系來(lái)確定各個(gè)實(shí)體在聯(lián)系中的度。只有確定了各個(gè)實(shí)體的度,繪制E-R模型圖才有依據(jù);也只有這樣,才能確定該聯(lián)系屬于哪一種類(lèi)型,從而按照相應(yīng)的轉(zhuǎn)換規(guī)則對(duì)E-R模型進(jìn)行關(guān)系模型的轉(zhuǎn)換。
參考文獻(xiàn)
[1] 張勇,陳印.SQL數(shù)據(jù)庫(kù)技術(shù)——理實(shí)一體化教學(xué)課程[M].成都:西南交通大學(xué)出版社,2014.
[2] 佚名.ER圖中三元聯(lián)系[EB/OL].https://blog.csdn.net/zhaohuanhuanjiuqi/article/details/27826669.