定義
關系的描述稱為關系模式(Relation Schema)它可以形式化地表示為:R(U,D,dom,F)
其中R為關系名,U為組成該關系的屬性名集合,D為屬性組U中屬性所來自的域,dom為屬性向域的映象集合,F為屬性間數據的依賴關系集合。
通常簡記為:
R(U)或R(A1,A2,…,An)
其中R為關系名,U為屬性名集合,A1,A2,…,An為各屬性名。
簡介
在數據庫中要區分型和值。關系數據庫中,關系模式是型,關系是值。關系模式是對關系的描述,那麼一個關系需要描述哪些方面呢?
首先,應該知道,關系實質上是一張二維表,表的每一行為一個元組,每一列為一個屬性。一個元組就是該關系所涉及的屬性集的笛卡爾積的一個元素。關系是元組的集合,因此關系模式必須指出這個元組集合的結構,即它由哪些屬性構成,這些屬性來自哪些域,以及屬性與域之間的映象關系。
其次,一個關系通常是由賦予它的元組語義來确定的。元組語義實質上是一個n目謂詞(n是屬性集中屬性的個數)。凡使該n目謂詞為真的笛卡爾積中的元素(或者說凡符合元組語義的那部分元素)的全體就構成了該關系模式的關系。
運用
現實世界随着時間在不斷地變化,因而在不同的時刻,關系模式的關系也會有所變化。但是,現實世界的許多己有事實限定了關系模式所有可能的關系必須滿足一定的完整性約束條件。這些約束或者通過對屬性取值範圍的限定,例如職工年齡小于65歲(65歲以後必須退休),或者通過屬性值間的相互關連(主要體現于值的相等與否)反映出來。關系模式應當刻劃出這些完整性約束條件。關系模式僅涉及關系名、各屬性名、域名、屬性向域的映象四部分。
例如,在上面例子中,由于導師和研究生出自同一個域—人,所以要取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分别出自哪個域,如:dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON關系模式通常可以簡記為 R(U)或R(A1,A2,…,An)
其中R為關系名,A1,A2,…,An為屬性名。而域名及屬性向域的映象常常直接說明為屬性的類型、長度。
關系是關系模式在某一時刻的狀态或内容。關系模式是靜态的、穩定的,而關系是動态的、随時間不斷變化的,因為關系操作在不斷地更新着數據庫中的數據。但在實際當中,人們常常把關系模式和關系都稱為關系,這不難從上下文中加以區别。