實體:現實中可區別與其他對象的事物。實體可以是任何實際或抽象的。
實體集是相同類型的實體的集合。
實體是實體集的外延。
聯絡集是實體(非實體集)之間的聯絡。
實體集參與聯絡集。並且特定的實體間的關聯稱為聯絡執行個體。
角色:當一個實體多次參與一個聯絡集中,則會有不同的角色。例如員工和工作之間,員工可能既是員工也是經理。
聯絡集的描述性屬性:用來描述聯絡集。當一對多時,描述性屬性可以放入多的屬性裡。可以通過多值屬性來解決匹配問題。
度:聯絡集關聯的實體集個數。
域:屬性的可取值的集合。
複合屬性:可再劃分的屬性。簡單屬性:不可再劃分的屬性。
多值屬性:能取多個值。需要時,可以對多值屬性的數量限制。
派生屬性:可以由其他屬性推導得。虛線
映射基數:一個實體集與多少實體相連。
超碼,候選碼(最小超碼),主碼。
聯絡集的超碼是所關聯的實體集的主碼的並。
聯絡集的主碼與映射基數關聯。多對一,是“多”實體集的主碼。 一對一,是任意實體集的主碼選一。
全部參與:實體集的每個屬性都與聯絡集相連。
非二元聯絡集中,只能有一個箭頭。
l...h表明一個實體最少與l個實體相連,最多與h個實體相連。
當描述發生實體間聯絡的行為採用聯絡集。
非二元聯絡可以用多個二元聯絡替代。
多對一聯絡集識別屬性可以放入“多”的實體集中。一對一則任意。
弱實體集:沒有足夠的屬性標識形成主碼。否則為強實體集。
弱實體集需要與標識性實體集通過標識性聯絡集關聯才有意義,弱實體集是多對一的。弱實體集要全部參與。
弱實體集只需要規定一個屬性作為分配符,分配符可以區分依賴於特定強實體集的弱實體集中的實體。
弱實體集存在依賴於標識實體集。弱實體集的主碼是弱實體集的分配符和標識實體的主碼。
如果弱實體集參與到其他標識性聯絡中,則用弱實體集而不用多值屬性。
特殊化,一般化。
高層實體集和低層實體集。
屬性繼承。
多繼承:由多個實體繼承。
一般化約束:
1.成員資格:(1)條件定義的:滿足謂詞。(2)使用者定義的:由使用者自訂。
2.同一一般化:(1)不相交。一個實體至多屬於一個底層實體集。(2)有重疊的。同一實體可以屬於多個低層實體集。
預設是有重疊的,在三角旁加disjoint表示不相交。
3.完全性約束。(1)全部一般化。每個高層實體都屬於其中一個低層實體集。(2)部分一般化。允許某些高層實體不屬於低層實體。
部分一般化是預設。全部一般化用雙線表示。
由於完全性約束,因此更新需要同時更新。
ER模型不能表現聯絡間的聯絡,因此有聚集。將一個聯絡抽象成虛擬實體。
轉換為關係模式
實體集和聯絡集都是一個表。
強實體集略。
弱實體集:弱實體集的主碼是弱實體集的分配符和對應的強實體集的主碼; 弱實體集的屬性為強實體集的主碼(外碼約束)+原來屬性。
聯絡集:聯絡集的屬性是有關聯的實體集的主碼+描述性屬性。聯絡集的主碼的選擇採用“多”的那邊。如果多對一則取多的那邊的主碼為主碼。
如果n元聯絡集,有箭頭,則聯絡集主碼為實體集的主碼並去除箭頭的實體集的主碼。
冗餘:
串連弱和強實體集的標識性聯絡集是冗餘的,不用表示出來。因為按照前面的,標識性屬性的主碼且全部屬性是強實體集的主碼+分配集。但是這些tuple都在弱實體集中有,所以不必給出,沒有起到聯絡的作用。
合并:如果有個實體集對於聯絡集是全部參與,則實體集和聯絡集合并。
不用把複合屬性建立一個獨立的關係,只需要用子屬性即可。
對於多值屬性,為他重新分一個關係,屬性有多值屬性+所在實體集或聯絡集的主碼屬性。主碼由所有屬性群組成。
一般化:低層實體集屬性包含特有屬性+高層實體主碼。
當一般化是全部的並且不相交的,則可以不用建立高層實體集表,為每個低層實體集建立表,列出高層實體集的每個屬性。但是有個缺點,就是如果有個聯絡集與高層實體集相關聯,則需要用一般的一般化方法變成關聯式模式。
聚集:聯絡集的全部屬性包括將虛擬實體中的聯絡集的主碼(多的那邊的主碼)+另一個實體的主碼。