資料庫管理系統 - ER模型基本概念



ER模型定義了資料庫的概念檢視。它圍繞現實世界中的實體及其之間的關聯。在檢視級別,ER模型被認為是設計資料庫的一個不錯的選擇。

實體

實體可以是現實世界中的物件,無論是生物還是非生物,都可以輕鬆識別。例如,在學校資料庫中,學生、教師、班級和提供的課程可以被視為實體。所有這些實體都具有一些屬性或特性,這些屬性或特性賦予了它們身份。

實體集是相同型別實體的集合。實體集可能包含具有共享相似值的屬性的實體。例如,一個學生集可能包含一所學校的所有學生;同樣,一個教師集可能包含一所學校來自所有院系的所有教師。實體集不必是不相交的。

屬性

實體透過其屬性(稱為屬性)來表示。所有屬性都有值。例如,學生實體可能具有姓名、班級和年齡作為屬性。

存在一個可以分配給屬性的值域或範圍。例如,學生的姓名不能是數值。它必須是字母的。學生的年齡不能為負數,等等。

屬性型別

  • 簡單屬性 - 簡單屬性是原子值,不能進一步細分。例如,學生的電話號碼是10位數字的原子值。

  • 複合屬性 - 複合屬性由多個簡單屬性組成。例如,學生的全名可能包含first_name和last_name。

  • 派生屬性 - 派生屬性是不存在於物理資料庫中的屬性,但其值是從資料庫中存在的其他屬性派生出來的。例如,部門中的average_salary不應直接儲存在資料庫中,而是可以派生出來。再舉一個例子,年齡可以從data_of_birth派生出來。

  • 單值屬性 - 單值屬性包含單個值。例如 - 社會保障號碼。

  • 多值屬性 - 多值屬性可能包含多個值。例如,一個人可以有多個電話號碼、電子郵件地址等。

這些屬性型別可以以以下方式組合 -

  • 簡單單值屬性
  • 簡單多值屬性
  • 複合單值屬性
  • 複合多值屬性

實體集和鍵

鍵是唯一標識實體集中實體的屬性或屬性集合。

例如,學生的roll_number使他/她可以在學生中識別出來。

  • 超鍵 - 一組(一個或多個)屬性,它們共同標識實體集中實體。

  • 候選鍵 - 最小的超鍵稱為候選鍵。實體集可能有多個候選鍵。

  • 主鍵 - 主鍵是由資料庫設計人員選擇用於唯一標識實體集的一個候選鍵。

關係

實體之間的關聯稱為關係。例如,員工部門工作,學生註冊課程。這裡,Works_at和Enrolls稱為關係。

關係集

一組相同型別的關係稱為關係集。與實體一樣,關係也可以具有屬性。這些屬性稱為描述性屬性

關係的度

關係中參與實體的數量定義了關係的度。

  • 二元 = 度2
  • 三元 = 度3
  • n元 = 度n

對映基數

基數定義了一個實體集中實體的數量,可以透過關係集與另一個實體集中的實體數量相關聯。

  • 一對一 - 實體集A中的一個實體最多可以與實體集B中的一個實體相關聯,反之亦然。

  • One-to-one relation
  • 一對多 - 實體集A中的一個實體可以與實體集B中的多個實體相關聯,但是實體集B中的一個實體最多可以與一個實體相關聯。

  • One-to-many relation
  • 多對一 - 實體集A中的多個實體最多可以與實體集B中的一個實體相關聯,但是實體集B中的一個實體可以與實體集A中的多個實體相關聯。

  • Many-to-one relation
  • 多對多 - A中的一個實體可以與B中的多個實體相關聯,反之亦然。

  • Many-to-many relation
廣告