首頁>Club>
8
回覆列表
  • 1 # 使用者8183768386098

    關係完整性是為保證資料庫中資料的正確性和相容性:對關係模型提出的某種約束條件或規則,完整性通常包括實體完整性,參照完整性和使用者定義完整性(又稱域完整性其中實體完整性和參照完整性,是關係模型必須滿足的完整性約束條件。

    1.實體完整性 實體完整性是指關係的主關鍵字不能取“空值\"。

    一個關係對應現實世界中一個實體集。現實世界中的實體是可以相互區分、識別的,也即它們應具有某種惟一性標識。在關係模式中,以主關鍵字作為惟一性標識,而主關鍵字中的屬性(稱為主屬性)不能取空值,否則,表明關係模式中存在著不可標識的實體(因空值是“不確定\"的),這與現實世界的實際情況相矛盾,這樣的實體就不是一個完整實體。按實體完整性規則要求,主屬性不得取空值,如主關鍵字是多個屬性的組合,則所有主屬性均不得取空值。

    如表1.1將編號作為主關鍵字,那麼,該列不得有空值,否則無法對應某個具體的職工,這樣的表格不完整,對應關係不符合實體完整性規則的約束條件。

    2.參照完整性

    參照完整性是定義建立關係之間聯絡的主關鍵字與外部關鍵字引用的約束條件。

    關係資料庫中通常都包含多個存在相互聯絡的關係,關係與關係之間的聯絡是透過公共屬性來實現的。所謂公共屬性,它是一個關係R(稱為被參照關係或目標關係)的主關鍵字,同時又是另一關係K(稱為參照關係)的外部關鍵字。如果參照關係K中外部關鍵字的取值,要麼與被參照關係R中某元組主關鍵字的值相同,要麼取空值,那麼,在這兩個關係間建立關聯的主關鍵字和外部關鍵字引用,符合參照完整性規則要求。如果參照關係K的外部關鍵字也是其主關鍵字,根據實體完整性要求,主關鍵字不得取空值,因此,參照關係K外部關鍵字的取值實際上只能取相應被參照關係R中已經存在的主關鍵字值。

    在學生管理資料庫中,如果將選課表作為參照關係,學生表作為被參照關係,以“學號\"作為兩個關係進行關聯的屬性,則“學號\"是學生關係的主關鍵字,是選課關係的外部關鍵字。選課關係透過外部關鍵字“學號’’參照學生關係。

    3.使用者定義完整性

    實體完整性和參照完整性適用於任何關係型資料庫系統,它主要是針對關係的主關鍵字和外部關鍵字取值必須有效而做出的約束。使用者定義完整性則是根據應用環境的要求和實際的需要,對某一具體應用所涉及的資料提出約束性條件。這一約束機制一般不應由應用程式提供,而應有由關係模型提供定義並檢驗,使用者定義完整性主要包括欄位有效性約束和記錄有效性。

  • 中秋節和大豐收的關聯?
  • 漢獻帝為什麼要寫下衣帶詔,他沒想過如果被曹操發現會有什麼後果嗎?