利用實體-關系模型規(guī)劃資料庫_第1頁
利用實體-關系模型規(guī)劃資料庫_第2頁
利用實體-關系模型規(guī)劃資料庫_第3頁
利用實體-關系模型規(guī)劃資料庫_第4頁
利用實體-關系模型規(guī)劃資料庫_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第10章利用『實體-關係模型』規(guī)劃資料庫著作權(quán)所有?旗標出版股份有限公司本章提要何謂『實體-關係模型』『實體-關係模型』的組成要素擴充實體-關係模型何謂『實體-關係模型』實體-關係模型(Entity-RelationshipModel,簡稱E-RModel)是一套資料庫的設計工具,運用真實世界中事物和關係的觀念,來解釋資料庫中抽象的資料架構(gòu)。由於利用實體-關係模型設計資料庫時,並不會牽涉到資料庫的操作、儲存方式...等複雜的電腦運作。何謂『實體-關係模型』實體-關係模型利用圖形的方式–實體-關係圖(Entity-RelationshipDiagram)來表示資料庫的概念設計,有助於設計過程中的構(gòu)思及溝通討論。如下圖所示:『實體-關係模型』的組成

要素實體-關係模型主要是由實體(Entity)、關係(Relationship)及屬性(Attribute)所組成。實體實體(Entity)就是真實世界中的物件,例如:實體集合、實體類型與實例在實體-關係模型中,我們會將同一類型的實體集合起來成為實體集合(EntitySet),它們都具有相同的特性。例如Randy、Admas、George...等學生都是同類型的實體,集合起來成為實體集合,他們都有相同的特性,像學號、姓名、性別...等等:實體集合、實體類型與實例實體集合、實體類型與實例為了能明確區(qū)別每一個實體集合,我們便依照其特性之不同,賦予一個識別的名稱。例如將上圖的實體集合稱為學生實體類型(EntityType)。而Randy、Admas及George就稱為學生實體類型中的實例(Instance)。實體集合、實體類型與實例在實體–關係圖中,我們以單矩形來表示實體類型,並將其名稱標示在矩形中。例如:弱實體弱實體,就是必須依靠其他實體才能存在。如果弱實體所依靠的實體消失了,則該弱實體也就變得沒有意義了。例如學校的學生是一個實體,而學生家長就可算是弱實體,必須依靠學生實體才能存在,如果學生從學校畢業(yè)了,則該學生的家長自然也就跟著被刪除了。弱實體在實體–關係圖中,弱實體是以雙矩形來表示,並將名稱標示在其中。例如:一般實體弱實體以外的實體都算一般實體,它不必依靠其他實體存在。例如學生、書籍都是一般實體。通常我們所稱的實體就是指一般實體。關係實體和實體之間必須透過關係才能產(chǎn)生聯(lián)繫,否則只是兩個不相干的實體。例如學生Randy必須要選修電腦概論,才能上該門課,並取得學分。如果沒有選修該門課程,就無法上該門課及取得學分。也就是說學生實體必須透過選修關係和課程實體產(chǎn)生關聯(lián)。關係實體和實體之間的關係,在實體-關係圖中我們以菱形表示(名稱標示其中),並利用直線連接兩個實體。例如:關係的類型實體-關係模型為建立關聯(lián)式資料庫的過程之一,我們在前一章曾提到關聯(lián)式資料庫的關聯(lián)類型有一對一、一對多及多對多三種。同樣,在實體-關係模型中,我們亦可將實體與實體之間的關係分為一對一、一對多及多對多等3種關係:關係的類型『一對一』關係(OnetoOne)

這是最簡單的關係,在具有關係的兩個實體中,甲實體的任一實例只能對應到乙實體的單一實例;而乙實體中的任一實例也只能對應到甲實體的單一實例。關係的類型『一對一』關係(OnetoOne)

例如:一個學生只能分配到一個座位,而一個座位同時也只能分配給一個學生。如下圖(我們以"1"分別代表一對一的兩方):關係的類型『一對多』關係(OnetoMany)

在具有關係的兩個實體中,甲實體的任一實例可對應到乙實體的多個實例;但乙實體的任一實例只能對應到甲實體的單一實例。關係的類型『一對多』關係(OnetoMany)

例如一個學生只能分配一間宿舍,但一個宿舍卻可同時容納多個學生。如下圖所示(我們以"1"代表一對多關係中一的一方,而"m"代表一對多關係中多的一方):關係的類型『多對多』關係(ManytoMany)

在具有關係的兩個實體中,甲實體的任一實例可對應到乙實體的多個實例;而乙實體的任一實例也可對應到甲實體的多個實例。關係的類型『多對多』關係(ManytoMany)

例如一個學生可選修多門課程,而一個課程也可同時讓多位學生選修。如下圖所示(我們以英文字母"m"及"n"分別代表多對多的兩方):實體與弱實體的表示法以上這3種關係皆適用於實體與弱實體之間的關係。不過,為了區(qū)分和一般實體的關係,我們會以雙菱形來表示實體與弱實體之間的關係,而弱實體和關係之間以雙直線連接,如下圖所示:屬性實體由若干屬性(attribute)所組成,每個屬性都代表實體某方面的特性。例如一本書有書名、出版社、出版年份、定價...等特性。若有一本書的書名為『數(shù)位相機聖經(jīng)』、出版社為旗旗出版公司、出版年份為2003年、定價860元...等等,這些都是該本書的屬性。屬性在實體-關係圖中,

屬性是以"橢圓形"來表示,並且以實線和實體相連接,屬性名稱放至於橢圓形中。例如書籍實體的屬性表示如下:屬性的類型鍵屬性(KeyAttribute)推導屬性(DerivedAttribute)複合屬性(CompositeAttribute)多值屬性(Multi-ValuedAttribute)鍵屬性在實體的所有屬性中,若有一個屬性能唯一代表該實體,則我們稱之為鍵(Key)屬性。例如以學號屬性就能識別學生實例,或利用訂單編號+

產(chǎn)品編號來識別訂單實例。學號及訂單編號+

產(chǎn)品編號都是鍵屬性。鍵屬性若為鍵屬性,在實體-關係圖中會在屬性名稱底下畫"底線"表示。例如書籍實體中的書籍編號屬性:弱實體中的識別屬性在一般實體中,我們會選擇一個唯一識別該實體的屬性做為鍵屬性;同理,在弱實體中,亦會選擇一個屬性做為該弱實體中各個實例的識別屬性,如下圖所示:推導屬性實體中某些屬性可由其他屬性推導而來,則這些屬性我們稱之為推導屬性(DerivedAttribute)。在實體–關係圖中,以"虛線橢圓形"來表示:複合屬性若某些屬性又可再細分為多個小屬性,我們稱這些屬性為複合屬性(CompositeAttribute)。例如姓名屬性就可再細分為姓氏及名字兩種屬性。在實體–關係圖中,其表示方式為:多值屬性當一個屬性具有一個以上的值時,我們稱為多值屬性。在實體–關係圖中,以"雙橢圓形"來表示:擴充實體-關係模型擴充實體-關係模型(ExtendedEntity-RelationshipModel,簡稱EERModel)是實體-關係模型的擴充,除了包含前述實體-關係模型的概念外,還加入了超類型和子類型的觀念。擴充實體-關係模型超類型/子類型的關聯(lián)特殊化(Specialization)歸納化(Generalization)子類型的disjoint與overlap超類型/子類型的關聯(lián)在設計資料庫的過程中,其實實體並不如想像中單純。因為有時實體還可依據(jù)某些特性上的差異,再細分為更多的實體。例如圖書公司的員工,還必須區(qū)分出哪些員工是寫作人員、哪些是美編人員、哪些是銷售人員...等。因此,必須要利用超類型和子類型的觀念來操作。如下圖所示:超類型/子類型的關聯(lián)在員工實體中,依照職務上的特殊性再區(qū)分為寫作人員、美編人員及銷售人員等實體。員工實體就是超類型(SuperType),而寫作人員、美編人員及銷售人員就是員工實體的子類型(SubType)。採用超類型/子類型的因素在一個實體集合中,可能某些實體具有特殊的屬性,而我們必須要將它們和其他實體做區(qū)別,此時就必須運用到超類型和子類型。例健身俱樂部的客戶實體,又區(qū)分了一般客戶及會員客戶,主要是在會員客戶實體中具有特殊的屬性-是否參加健身課程,而在一般客戶實體中就沒有這個屬性。採用超類型/子類型的因素可能某些關係只關聯(lián)到一個實體集合中的某些實體,此時就必須運用到超類型和子類型。例如健身俱樂部開設了有氧舞蹈...等課程,這些課程只允許會員參加,此時便需要在客戶實體中細分出會員客戶實體,然後再將它和課程建立關係。擴充實體-關係模型的屬性

繼承關係在擴充實體-關係模型中,有一個非常重要的觀念,那就是繼承。因為子類型中的任一實例都是由超類型再細分出來,所以一定也屬於超類型的實例之一。特殊化(Specialization)將員工實體依照其特殊特性,細分為寫作人員、美編人員及銷售人員實體的過程,我們稱為特殊化(Specialization)。在實體-關係圖中,我們會將此種關係表示如下:歸納化(Generalization)在圖書公司的員工實體例子中,我們是利用實體中部份相異的特性,區(qū)分出許多子類型。但反過來,我們亦可將許多實體中共同的特性集合起來,合成一個超類型。例如我們可將大學生、中學生及小學生等子類型中相同的特性抽出來(例如姓名、年齡、地址...),

歸納成一個學生超類型。這種處理過程,我們稱為歸納化

(Generalization)。歸納化(Generalization)特殊化和歸納化最大的差別在於前者強調(diào)一個實體類型中不同的特性。而後者是強調(diào)多個實體中的共同特性。子類型的disjoint與overlap在特殊化的過程中,依照實體在子類型中的隸屬關係,還可區(qū)分為disjoint(不相交)與overlap(重疊)的關係。子類型的disjoint關係在disjoint的關係中,所有的實例最多都只能隸屬於一個子類型。例如我們將某大學的學生實體區(qū)分為大學生及研究生兩種子類型,被歸類到其中一個子類型的學生,就不可能再屬於其它的子類型,意即不是大學生就是研究生,不可能出現(xiàn)既是大學生

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論