實體 聯絡模型

2021-08-20 05:07:25 字數 3046 閱讀 6964

一、實體—聯絡(e-r)資料模型概述

該資料模型基於對現實世界的這樣一種認識:世界由一組稱為實體的基本物件及這些物件間的聯絡組成,該模型是一種語義模型,模型的語義方面主要體現在模型力圖去表達資料的意義。

1.1 實體集

實體是現實世界中可區別於其他物件的「事件」或「物體」。每個實體有一組性質,其中一部分性質的取值可以唯一地標識實體。

實體集是具有相同型別及共享相同性質(或屬性)的實體集合。

實體通過一組屬性來表示。屬性是實體集中每個成員具有的描述性性質。將乙個屬性賦予某實體集表明資料庫為實體集中的每個實體儲存相似資訊,但每個實體在自己的每個屬性上都有各自的值。而每個屬性都有乙個可取值的集合,稱為該屬性的域,或者該屬性的值集。因此,資料庫包括一組實體集,每個實體集中包括一些相同型別的實體。

1.2 屬性型別

e-r模型中的屬性可以按照以下的屬性型別進行劃分:

1)簡單屬性和復合屬性

例如,位址可以作為復合屬性,因為從中可以更細分為國家、省、市、縣、鎮、村。可以看出,復合屬性是有層次的。

2)單值屬性和多值屬性

3)派生屬性

這類屬性的值可以從其他的相關屬性或實體派生出來。例如,乙個的年齡可以由其出生年月派生而來。

1.3 聯絡集

聯絡是指多個實體間的相互關聯。例如,定義乙個客戶與其貸款的聯絡。

聯絡集是同型別聯絡的集合。例如,聯絡集是n(n>2)個實體集上的數學關係。

二、約束

2.1 對映基數

對映基數,或基數比例,指明通過乙個聯絡集能同時與另一實體相聯絡的實體數目。對於實體集a與b之間的二元聯絡集r來說,對映基數無非是這幾種情況:一對一(a中的乙個實體至多同b中的乙個實體相聯絡,b中的乙個實體也至多同a中的乙個實體相聯絡);一對多(a中的乙個實體可以同b中的任意數目的實體相聯絡,而b中的乙個實體至多同a中的乙個實體相聯絡);多對一(與前者相反);多對多。

2.2 參與約束

如果實體集e中的每個實體都參與到聯絡集r的至少乙個聯絡中,則稱之為實體集e全部參與聯絡集r;如果只有部分,則稱之為實體集e部分參與聯絡集r。舉例:對於銀行的客戶而言,由於每個貸款必須通過某種聯絡與客戶相關聯,但並不是每個客戶都有貸款。這就是部分參與,集貸款實體集部分參與聯絡集。

三、碼

碼的概念可以使我們區別實體,也可以惟一地標識聯絡,並將聯絡相區分開來。

3.1 實體集

超碼是乙個或多個屬性的集合,這些屬性的組合可以使我們在乙個實體集中惟一地標識乙個實體。例如,對於客戶而言,其」客戶編號「就是乙個超碼,該屬性可以惟一區別乙個實體(客戶);而「客戶編號」+「客戶名稱」的組合也是實體集的乙個超碼,但「客戶名稱」有可能出現重複,因此,「客戶名稱」不是超碼。由此可以看出,超碼中可能也包含了一些無關緊要的屬性。須知,如果k是乙個超碼,那麼k的任意超集也是超碼。但這並沒有多大**的意義,我們需要關注的是,如果k是乙個超碼,那麼它的任意真子集都不能成為超碼,這樣的最小超碼,稱之為候選碼。值得注意的是,幾個不同的屬性集都可以作為超碼的情況是存在的,只要所給的屬性足夠嚴謹甚至苛刻。在這之中,我們使用主碼(**於候選碼)來表示被開發者選用的超碼。記住,碼(主碼、候選碼、超碼)是實體集的性質,而不是單個實體的性質。實體集中的任意兩個實體都不允許同時在碼屬性上具有相同的值。

3.2 聯絡集

實體集的主碼使得我們可以將實體集中不同的實體區別開來,而聯絡集的作用是如何選用主碼來使得實體集a與實體集b達到某種合理的聯絡。

四 實體—聯絡圖

e-r圖的重要元件 元件

意義元件

意義矩形

表示實體集

雙橢圓表示多值屬性

橢圓表示屬性

虛橢圓表示派生屬性

稜形表示聯絡集

雙線表示乙個實體全部參與到聯絡集中

線段將屬性連線到實體集或將實體集連線到聯絡集

雙矩形表示弱實體集

注:線段:表示從實體集a到b是多對多或一對多的關係

箭頭:表示從實體集a到b是一對一或多對一的關係

舉例:

3.3 弱實體集

乙個弱實體集的屬性可能不足以形成主碼,這樣的實體集就稱為弱實體集。與此相對,有主碼的實體稱為強實體集。例如實體集付款單payment,其具有屬性payment-number、payment-date以及payment-amount。payment-number是從1開始的,雖然payment實體互不相同,但不同貸款的payment卻可能具有相同的payment-number。因此,實體集payment-numner沒有主碼,是乙個弱實體集。

弱實體集必須與另乙個標識實體或屬主實體集關聯才有意義。每個弱實體必須和乙個標識實體關聯,即,弱實體集是存在依賴於標識實體集。我們稱標識實體集擁有它所標識的弱實體集。將弱實體與其標識實體集相聯的聯絡集稱為標識性聯絡。標識性聯絡是從弱實體集到標識實體集的多對一聯絡,並且弱實體集全部參與聯絡。

雖然弱實體集沒有主碼,但仍需要使用某個屬性來區分那些依賴於某個強實體集的弱實體集。弱實體集的解析度是使得我們能進行這種區分的屬性集合。對於下圖中的payment弱實體而言,payment-number就是其分辨符。

舉例:

四、擴充套件的特殊化

4.1 特殊化

實體集中有時包含一些子集,子集中的實體在某些方面區別於實體集中的其他實體。例如,實體集中某個實體子集可能具有不被該實體集中所有實體集中所有實體所共享的一些屬性。須知,在實體集內部進行分組的過程稱為特殊化。

4.2 一般化

對初始實體集求精產生一系列不同層次的實體子集代表自頂向下的設計過程,在這個自頂向下的設計過程中,區別被顯示地表達出來。設計過程還可以是自底向上的,在這個過程中,根據共同具有的特徵,多個實體集綜合成乙個較高的實體集。

舉例:在e-r圖中,特殊化通過標記為isa的三角形構建來表示。標記isa表示「is a」,例如,乙個客戶「is a」人。isa聯絡也稱超類-子類聯絡。高層實體和低層實體仍如同普通實體的表示法,即以包含了實體集名稱的矩形表示。

2 實體聯絡模型

學生可以是乙個實體,他的屬性集可以是學號姓名性別專業等 實體的值是它本身的n元組 實體集的值是所有n元組 1 碼 超碼 能唯一確定某個實體的屬性集 碼 表示主碼或候選碼,超碼是碼的超集 候選碼 真子集都不是超碼的極小超碼 主碼 資料庫設計者選中的,區分不同實體的候選碼 以上四個都可以唯一確定乙個實體...

E R(實體 聯絡模型)轉化為模型

實體轉化為關係 關係名 實體集的名稱 關係的屬性 實體集的屬性 關係的主碼 實體集的主碼 聯絡轉化為關係 根據聯絡的類別進行轉化 對於1 n聯絡,首先區分幾個概念 單方實體集,多方實體集,n端,1端.a.首先在e r模型中聯絡的數量的定義是 一方實體通過聯絡集合與多少個另一方的實體有聯絡,因此單方實...

資料庫 實體聯絡模型

1.實體 客觀存在並且可以相互區分的任何事物,可以是實際物件,也可以是抽象概念。2.屬性 實體所代表的事物具有的某種特性,每個實體都可以用一組屬性來刻畫 例如,我們可以用學號 姓名 性別 出生年月 專業等屬性來刻畫學生實體。對於同乙個實體,刻畫它的屬性集可以有不同的選擇。3.實體集 實體集是具有相同...