資源描述:
《er圖,對象聯(lián)系圖和類圖的特征與比較》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、數(shù)據(jù)庫自學(xué)札記(2)ER圖、對象聯(lián)系圖和類圖的特征與比較第一部分:簡述ER圖,對象聯(lián)系圖和類圖的基本概念和特點(diǎn)ER圖:ER圖是用來表示實體聯(lián)系模型(EntityRelationshipModel)的方式,這個模型可以直接從現(xiàn)實世界中抽象出實體類型和實體間的聯(lián)系。舉個例子來說。。。下面對上述例子做一個說明,同時給出ER圖的約定表示方法。(1)矩形框,表示實體類型(即考慮問題的對象)(2)菱形框,表示聯(lián)系類型(即實體間的聯(lián)系)(3)橢圓形框,表示實體類型和聯(lián)系類型的屬性(對于鍵的屬性,在屬性下面劃一條橫線)(4)直線,聯(lián)系類型與其涉及
2、的實體類型之間用直線相連,用來表示他們之間的聯(lián)系,在直線端部標(biāo)注聯(lián)系的種類(1:1,1:N,M:N)再通過一個例子來說明用ER圖表示現(xiàn)實世界的特點(diǎn):1)考慮零件和工程的關(guān)系,零件可以服務(wù)于不同的工程,一個工程也需要各種不同的零件,因此,建模的時候零件和工程是一個多對多的聯(lián)系。a)首先確定實體類型,這個例子中,實體只有兩個,就是工程和零件b)再確定聯(lián)系類型,正如前面所述,工程和零件的關(guān)系是M:N的關(guān)系c)把實體類型和聯(lián)系類型組合成ER圖(見圖1)d)確定實體類型和聯(lián)系類型的屬性。在這個例子中,project的屬性有項目號J#、項目名
3、稱JNAME、項目開工日期DATE;而part的屬性有零件號P#、零件名PNAME、零件顏色COLOR以及零件重量WEIGHT。聯(lián)系類型P_P的屬性是項目需要的零件數(shù)量TOTLE。JNAMEJ#DATEPROJECTPARTP#PNAMEWEIGHTCOLORP_PTOTALMN圖1工程和零件的ER圖從上面的可以看出,ER圖作為對現(xiàn)實世界的抽象,可以很方便的表示出現(xiàn)實中實體以及實體間的聯(lián)系,不同形狀的框代表不同的概念,讓讀者一目了然哪些是實體,哪些是聯(lián)系,哪些是屬性。實體間的數(shù)量對應(yīng)關(guān)系也通過連線兩端的數(shù)字記號體現(xiàn)出來了??梢哉f,
4、ER圖是一種簡潔的模擬現(xiàn)實世界的符號方法。對象聯(lián)系圖:使用類型構(gòu)造圖的思想,可以把ER圖擴(kuò)充成為對象聯(lián)系圖。對象聯(lián)系圖可以完整地揭示數(shù)據(jù)間的聯(lián)系。對象聯(lián)系圖有一下幾個基本成分:數(shù)據(jù)庫自學(xué)札記(2)(1)橢圓,表示對象類型(相當(dāng)于ER圖中的實體類型)(2)小圓圈,表示屬性是基本數(shù)據(jù)類型(例如整型、實型、字符串型等)(3)橢圓之間的邊,表示對象之間的嵌套或引用(4)單箭頭(->)表示屬性值是單值(屬性可以是基本數(shù)據(jù)類型,也可以是另一個對象類型,即元組類型)(5)雙箭頭(->>)表示屬性是多值(屬性可以是基本數(shù)據(jù)類型,也可以是另一個對象
5、類型,即關(guān)系類型)(6)雙線箭頭(=>)表示對象類型之間的超類與子類聯(lián)系(從子類指向超類)(7)雙向箭頭(<――>)表示兩個屬性之間的聯(lián)系為逆聯(lián)系。下面通過一個例子來看一看對象聯(lián)系圖的表示方法和特點(diǎn):2)關(guān)于大學(xué)、教師和上課教材的一個關(guān)系模型,我們可以畫出如下的對象聯(lián)系圖:UniversityunounamecityFacultyCoursetextfnofnameagesalarycnametextnameeditortescherteachpresidentworks_forstaff圖2一個對象聯(lián)系圖實例這里面有三個對象:學(xué)
6、校、教師和教材,他們分別具有的屬性可以分為兩種,一種是基本數(shù)據(jù)類型的屬性,比如University的學(xué)校編號uno、校名uname和學(xué)校所在城市city,另一種是引用類型的屬性(這是ER圖所不能刻畫的),如University的staff、president等。實體之間的聯(lián)系通過橢圓之間的邊表示,由于在這個例子中聯(lián)系本身沒有自己的屬性,所以并沒有出現(xiàn)聯(lián)系對象。可以發(fā)現(xiàn),對象聯(lián)系圖相對ER圖來說略顯復(fù)雜一些,因為它引入了引用類型的屬性,但是這也使得它的表現(xiàn)力強(qiáng)于ER圖,能更好地描述現(xiàn)實的情況。圖的符號表示方面,一方面秉承了ER圖簡明
7、的風(fēng)格,另一方面為了滿足關(guān)系表述的要求,添加了幾個新的符號,比如在表現(xiàn)數(shù)據(jù)的概化與特化的時候,用到了“=>”符號(如圖3所示)。FacultyStudentPersonagenamesonfonsalary圖3帶概化邊的對象聯(lián)系圖數(shù)據(jù)庫自學(xué)札記(2)類圖:基于面向?qū)ο蠹夹g(shù)UML(統(tǒng)一建模語言)的類圖可以描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括類和類之間的聯(lián)系。類圖和前面所說的ER圖及對象聯(lián)系圖有著許多相似的地方,但是所用的術(shù)語和符號不同。下面的是ER圖中術(shù)語和類圖中術(shù)語的一個對照:類圖中的基本成分是類和關(guān)聯(lián):(1)類被表示為由三個部分組成的方框a
8、)上面部分給出了類的名稱b)中間部分給出了該類的單個對象的屬性c)下面部分給出了一些可以應(yīng)用到這些對象的操作(2)關(guān)聯(lián)是對類的實例之間聯(lián)系的命名,相當(dāng)于ER模型中的聯(lián)系類型。與聯(lián)系有關(guān)的內(nèi)容有:a)關(guān)聯(lián)元數(shù)(degree):與關(guān)聯(lián)有關(guān)的類的個數(shù),亦