1. 程式人生 > >《資料庫系統概念》第二章:關係模型介紹

《資料庫系統概念》第二章:關係模型介紹

 

關係資料庫的結構

  • 關係(relation)
    • 關係資料庫由表(table)的集合構成。
    • 在關係模型的術語中,關係就用來指代表。
  • 元組(tuple)
    • 指代表中的一行,表示一組值的序列(或列表)。
    • n個值之間的聯絡被稱為n元組(n-tuple)
  • 屬性(attribute)
    • 指代表中的一列。
    • 對於關係的每個屬性,都存在一個允許取值的集合,稱為該屬性的域(domain)
    • 如果域中的元素被看作是不可再分的單元,則域是原子的(atomic)
  • 空值(NULL)
    是一個特殊的值,表示未知或不存在。

資料庫模式

  • 關係模式(relation schema)
    • 由屬性序列及各屬性對應域組成。
    • 是一種資料庫的邏輯設計。
    • 通常不會隨著關係的更新而變化。
  • 關係例項(relation instance)
    • 表示一個關係的特定例項,也就是表中所包含的一組特定的行。
    • 是給定時刻資料庫中資料的一個快照。
    • 當關系被更新時,關係例項的內容也會發生變化。

  • 超碼(superkey):一個或多個屬性的集合,這些屬性的組合可以使我們在一個關係中唯一地標識一個元組。
  • 候選碼(candidate key):它本身是一種超碼,且它的任意真子集都不能成為超碼。
  • 主碼(primary key):表示被資料庫設計者選中的、主要用來在一個關係中區分不同元組的候選碼。
  • 外碼(foreign key)
    • 一個關係模式(如r1),可能在它的屬性中包括另一個關係模式(如 r2)的主碼。這個屬性在 r1上被稱作參照 r2的外碼。關係 r1被稱作外碼依賴的參照關係(referencing relation)。r2也被稱為外碼的被參照關係(referenced relation)
  • 參照完整性約束(referential integrity constraint):
    要求在參照關係中任意元組在特定屬性上的取值必然等於被參照關係中某個元組在特定屬性上的取值。
  • 一個含有主碼和外碼依賴的資料庫模式可以用模式圖(schema diagram)來表示。

 


關係運算

運算名稱

表示式
選擇運算(Seliction) \sigma _{P} E_{1}
投影運算(Projection) \prod s(E_{1})
並運算(Union) E_{_{1}} \cup E_{_{2}}
集合差運算(Cartesian product)

E_{1}-E_{2}

集合交運算(Set-Intersection) E_{_{1}} \cap E_{_{2}}
更名運算(Rename) \rho _{x}(E_{1})
自然連線運算(Natural join) E_{_{1}} \Join E_{_{2}}
笛卡爾叉積(Cartesian product) ​​E_{_{1}} \times E_{_{2}}E_{_{1}} \times E_{_{2}}

 


[參考資料]:《資料庫系統概念》 機械工業出版社