-
關係模式
鎖定
關係模式定義
關係的描述稱為關係模式(Relation Schema)它可以形式化地表示為:
R(U,D,dom,F)
其中R為關係名,U為組成該關係的屬性名集合,D為屬性組U中屬性所來自的域,dom為屬性向域的映象集合,F為屬性間數據的依賴關係集合。
通常簡記為:
R(U)或R(A1,A2,…,An)
其中R為關係名,U為屬性名集合,A1,A2,…,An為各屬性名。
關係模式性質
若關係模式所有屬性不可再分,則達到第一範式1NF
(2)如果關係模式屬於2NF,且每個非主屬性都不傳遞依賴於關係的任何鍵,這該關係模式屬於3NF的要求。
(4)達到2NF的關係模式沒有去掉非主屬性對關係鍵的傳遞依賴關係,而達到3NF的關係模式去掉了非主屬性對關係鍵的傳遞依賴關係。2NF和3NF沒有去掉主屬性對關係鍵的依賴關係,而滿足BCNF的關係消除了任何屬性(主屬性或非主屬性)對鍵的部分依賴或傳遞依賴。
(5)各個範式之間的聯繫有BCNF?3NF?2NF,如果關係滿足某個範式要求,也會滿足級別較低的所有範式的要求,即較高層次的範式比較低層次的範式具有更合乎要求4.證明在關係數據庫中任何的二元關係模式必定是BCNF。
設R為一個二元關係R(x1,x2),則屬性x1和x2之間可能存在以下幾種依賴關係:
(1) x1→x2,但x2 !→x1,則關係R的候選關鍵字為x1,函數依賴的左部包含候選關鍵字x1,所以R為BCNF。
(2) x1 !→x2,x2 !→x1,則關係R的候選關鍵字為x1和x2,這兩個函數依賴的左部都包含了R的任一候選關鍵,所以R為BCNF。
關係模式構成
在數據庫中要區分型和值。關係數據庫中,關係模式是型,關係是值。關係模式是對關係的描述,那麼一個關係需要描述哪些方面呢?
首先,應該知道,關係實質上是一張二維表,表的每一行為一個元組,每一列為一個屬性。一個元組就是該關係所涉及的屬性集的笛卡爾積的一個元素。關係是元組的集合,因此關係模式必須指出這個元組集合的結構,即它由哪些屬性構成,這些屬性來自哪些域,以及屬性與域之間的映象關係。
其次,一個關係通常是由賦予它的元組語義來確定的。元組語義實質上是一個n目謂詞(n是屬性集中屬性的個數)。凡使該n目謂詞為真的笛卡爾積中的元素(或者説凡符合元組語義的那部分元素)的全體就構成了該關係模式的關係。
關係模式運用
關係模式僅涉及關係名、各屬性名、域名、屬性向域的映象四部分。
例如,在上面例子中,由於導師和研究生出自同一個域—人,所以要取不同的屬性名,並在模式中定義屬性向域的映象,即説明它們分別出自哪個域,如:
dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON 關係模式通常可以簡記為 R(U)或R(A1,A2,…,An)
其中R為關係名,A1,A2,…,An為屬性名。而域名及屬性向域的映象常常直接説明為屬性的類型、長度。關係是關係模式在某一時刻的狀態或內容。關係模式是靜態的、穩定的,而關係是動態的、隨時間不斷變化的,因為關係操作在不斷地更新着數據庫中的數據。但在實際當中,人們常常把關係模式和關係都稱為關係,這不難從上下文中加以區別。
- 參考資料
-
- 1. 《數據庫原理及應用》習題精練 .網易[引用日期2016-11-13]