實體-聯絡(e-r)模型是基於如下的一種認識:世界由一組實體和實體之間的相互聯絡組成。e-r模型是一種語義模型, 前面也提到過,這種模型經常作為關聯式資料庫模型的基礎。 很多資料庫設計工具也都使用了e-r模型的概念。
下面是幾個核心概念
實體集:具有相同型別及共享相同性質的實體集合。而相應的實體集中每乙個元素就是實體。這個概念對應到物件導向中就是class-object概念, 而我們野可以想象,實體集還會有繼承的概念(雖然我暫時還無法想象在資料庫中如何實現實體集的繼承)。
屬性,值和域:實體是通過一組屬性來表示的,屬性就是每個成員所具有的描述性性質,而每個實體的所有屬性都有乙個值, 每乙個屬性的取值範圍就稱作該屬性的域。
聯絡集:聯絡是指實體之間的相互關聯,而同型別的關係組成的集合就是關係集。在通常的資料庫系統中,聯絡可以表現為兩種,一種是聯絡表,而另一種就可能是乙個簡單的sql語句。
有了實體集合,有了聯絡集合,自然而然的就產生出來約束,約束描述的是實體集和實體集之間的關係,而這種關係就具現為乙個聯絡集。 我們要討論的是對映基數和參與約束這兩類最重要的約束。
2.1.對映基數
對映基數是指乙個實體集和另乙個實體集之間的實體對應關係。有如下的四種
一對一
多對一
一對多
多對多
具體的解釋可以看書,對映基數在描述二元聯絡集的時候,特別有用。
2.2.參與約束
參與約束只是講實體集和聯絡集的關係,實體集e中的任意乙個實體e如果都參與到了聯絡集r中,那麼就說e對r是完全參與的;相對來說就有部分參與。
碼是在實體集中唯一表示某乙個實體的屬性集合,按照超碼中包含的屬性數量分可以分為「超碼」,「候選碼」,「主碼」三種。
超碼:在實體集中任何可以唯一標識實體的屬性集合都叫做超碼,所以,根據這個定義,任何超碼的超集也都是超碼。
候選碼:任意真子集都不能成為超碼的超碼叫做候選碼。
主碼:資料庫設計者選中的候選碼。
候選碼應該選擇那些從不或者極少變化的屬性。
4.1.用實體集還是用屬性
書中給的例子是很明顯的,employee-name本身不能作為乙個實體,儘管employee-name可能會有first-name,會有 middle-name 和last-name,但是把它們做成employee 的屬性更加的合理。而把telephone做成乙個實體就很有道理了,因為我們可以儲存telephone的額外資訊。而有兩種錯誤一定要注意一下。
不要用實體集的主碼作為另乙個實體集的屬性。
不要將有關係的實體集的主碼屬性作為聯絡集的屬性。(這句話不明白)
4.2.用實體集還是聯絡集
原則:當描述發生在實體之間的行為時採用聯絡集。
4.3.二元聯絡集與n元聯絡集
n元關係可以分解成二元關係,但是會出現關係描述不準確的情況。
如果乙個實體集的屬性可能不足以形成主碼,這樣的實體集就成為弱實體集。反之就叫做強實體集。而作為設計的目標之一,乙個弱實體集必須要依賴 於乙個強實體集,標識性聯絡是從弱實體集到標識實體集的多對一的聯絡,並且弱實體集全部參與聯絡。
另外,我們還有一些關於實體的特性,比如繼承,說的是實體集之間的繼承關係,但是這樣的關係只是在設計的時候適用,在真正建立 table的時候,會造成一些實現上的困難。還有聚集,這是非常有用的,說明了聯絡集和其他集的聯絡集,具體的例子參考書,就是employee, branch,job和manager之間的關係(論述非常的經典)。
6.1.強實體集
強實體集被對應成資料庫裡面的一張表,有多少個屬性就有多少列。並且主碼做主鍵
6.2.弱實體集
弱實體集也被對應成一張表,這張表一定要包含所依賴的強實體集的主碼。
6.3.聯絡集
聯絡集被翻譯成一張表,整個表裡面要包含所有參與聯絡的實體的主碼。並且附加描述性屬性。
1對1:任意一方的主碼都可以拿來作為主碼。
1對n:多方主碼成為聯絡集的主碼,單方主碼作為屬性。
n對n:把雙方的主碼的組合作為主碼。
6.4.復合屬性
性為每乙個子屬性建立乙個單獨的屬性。
6.5.多值屬性
必須為多值屬性建立乙個表。
6.6.一般化(父子整合的關係)
通常都為子實體集合建立乙個單獨的表,如果還有實體屬於父實體集合,那麼也要為父實體建立表
資料庫系統概念 讀書筆記 1 8 1 14
1.在生活中,一項工作時常由多個操作組成。比如a學院給b學院轉賬。2.a的賬戶扣錢和b的賬戶加錢這兩個操作應該要麼都完成要麼都不完成才是正確的。原子性atomicity指的就是多個操作要麼全成要麼全掛。3.另一方面,轉賬之後,資料庫的狀態應該仍與之前保持一致,也就是說,轉賬之後,a和b的賬戶餘額之和...
資料庫系統概論 讀書筆記 2 資料模型
資料模型 對現實世界資料特徵的抽象 資料庫系統的核心和基礎 資料模型用來描述數,組織數和對資料進行操作 1.2.1 兩類資料模型 第一類 概念模型 第二類 邏輯模型 物理模型 概念模型 使用者觀點對資料和資訊建模 邏輯模型 層次模型,網狀模型,關係模型,物件導向資料模型,物件關係資料模型 半結構化資...
資料庫系統 2
關係模型 三個要素 1.基本結構 2.基本操作 3.完整性約束 實體完整性,參照完整性,使用者自定義完整性 域 乙個屬性可能的取值範圍 笛卡兒積 n個域所能組合成的所有元組 笛卡兒積也是個集合 笛卡兒積的基數 元組的個數 笛卡兒積中有意義的元組稱作乙個關係 概念 第一正規化 屬性不可再分的特性 候選...