關係模型是由若干個關係模式組成的集合,關係模式的例項稱為關係,每個關係實際上是一張二維**。關係模型用鍵導航資料,其**簡單,使用者只需用簡單的查詢語句就可以對資料庫進行操作,並不涉及儲存結構、訪問技術等細節。sql語言是關聯式資料庫的代表性語言,已經得到了廣泛的應用。典型的關聯式資料庫產品有db2、oracle、sybase、sql server等。
關聯式資料庫是以關係模型為基礎的資料庫,是一種根據表、元組、字段之間的關係進行組織和訪問資料的資料庫,它通過若干個表來訪問資料,並且通過關係將這些表聯絡在一起。關聯式資料庫是目前應用最廣泛的資料庫。關係資料是支援關係模型的資料庫,下面先介紹關係資料模型。
目前,在實際資料庫系統中支援的資料模型主要有3種:層次模型(hierarchical model)、網狀模型(network model)和關係模型(relational model)。20世紀80年代以來,計算機廠商推出的資料庫管理系統幾乎都是支援關係模型的資料庫系統。關係模型已經占領市場主導地位。
關係模型有3個組成部分:資料結構、資料操作和完整性規則。
關係模型建立在嚴格的數學概念的基礎上,它用二維表來描述實體與實體間的聯絡。下面以學生資訊表(如下表所示)為例,介紹關係模型中的一些術語。
⑴關係(relation):對應通常所說的一張表。
⑵元組(tuple):表中的一行即為乙個元組,可以用來標識實體集中的乙個實體,表中任意兩行(元組)不能相同;
⑶屬性(attribute):表中的一列即為乙個屬性,給每個屬性起乙個名稱即屬性名,表中的屬性名不能相同。
⑷主碼(key):表中的某個屬性組,它可以唯一確定乙個元組。
⑸域(domain):列的取值範圍稱為域,同列具有相同的域,不同的列也可以有相同的域。
⑹分量:元組中的乙個屬性值。
⑺關係模式:對關係的描述。可表示為:關係名(屬性1,屬性2,…,屬性n)。例如上面的關係可以描述為:學生(學號,姓名,年齡,性別,系別)。
乙個關係模型是若干個關係模式的集合。在關係模型中,實體以及實體間的聯絡都是用關係來表示的。例如學生、課程、學生與課程之間的多對多聯絡在關係模型中可以如下所示。
學生(學號,姓名,年齡,性別,系別)
課程(課程號,課程名,學分)
選修(學號,課程號,成績)
由於關係模型概念簡單、清晰、易懂、易用,並有嚴密的數學基礎以及在此基礎上發展起來的關係資料理論,簡化了程式開發及資料庫建立的工作量,因而迅速獲得了廣泛的應用,並在資料庫系統中佔據了統治地位。
儘管關係與傳統的二維**資料檔案具有類似之處,但是它們又有區別,嚴格地說,關係是一種規範化的二維**,具有如下性質。
⑴屬性值具有原子性,不可分解。
⑵沒有重複的元組。
⑶理論上沒有行序,但是使用時有時可以有行序。在關聯式資料庫中,關碼碼(簡稱碼)是關係模型的乙個重要概念,是用來標識行(元組)的乙個或幾個列(屬性)。如果碼是唯一的屬性,則稱為唯一碼;反之由多個屬性組成,則稱為復合碼。
碼的主要型別如下。
⑴超碼:在乙個關係中,能唯一標識元組的屬性或屬性集稱為關係的超碼。
⑵候選碼:如果乙個屬性集能唯一標識元組,且又不含有多餘的屬性,那麼這個屬性集稱為關係的候選碼。
⑶主碼:如果乙個關係中有多個候選碼,則選擇其中的乙個碼為關係的主碼。用主碼可以實現關係定義中「表中任意兩行(元組)不能相同」的約束。
例如,在乙個資料庫圖書管理系統中,可將圖書明細表中的圖書編號列假設是唯一的,因為圖書館管理員是通過該編號對圖書進行操作的。因此,把圖書編號作為主碼是最佳的選擇,而如果使用圖書名稱列作為主碼則會存在問題。為此,最好建立乙個單獨的碼將其明確地指定為主碼,這種唯一識別符號在現實生話中很普遍,例如,身份證號、牌照號、訂單號、學生標識號和航班號等。
⑷外碼:如果乙個關係r中包含另乙個關係s的主碼所對應的屬性組f,則稱此屬性組f為關係r的外碼,並稱關係s為參照關係,關係r是依賴關係。為了表示關聯,可以將乙個關係的主碼作為屬性放入另外乙個關係中,第二個關係中的那些屬性就稱為外碼。
關係型資料模型 相關術語
student 姓名,學號,性別,出生年份,籍貫,系別,入學年份 描述乙個事物,常常取其若干特徵來表示,這些特徵稱為屬性 attribute 例如 student表中的姓名,學號等等 每個屬性對應乙個值的集合,作為其可以取值的範圍,稱為該屬性的域 domain 例如 姓名的域 所有合法姓名的集合 表...
關係資料模型
一 資料結構 關係資料模型是有若干個關係模式組成的集合。關係模式的例項成為關係。每個關係可看為乙個二維表,表的行稱為元組,用來標識實體集中的乙個實體 表的列稱為屬性,列名即為屬性名,屬性名不能相同。關係的描述稱為關係模式 relation schema 它可以形式化地表示為 r u,d,dom,f ...
關係型資料模型(庫)中的鍵
現在我們要介紹關係型資料庫中的4中鍵 超鍵 候選鍵 主鍵 外來鍵 乙個列或者列集,唯一標識表中的一條記錄。超鍵可能包含用於唯一標識記錄所不必要的額外的列,我們通常只對僅包含能夠唯一標識記錄的最小數量的列感興趣。其實乍一看很難懂,其實是說法不太容易懂 我們來弄一張表來說明一下 student id n...