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