关联式资料模式的整合限制条件.pptVIP

  • 3
  • 0
  • 约3.05千字
  • 约 24页
  • 2019-12-23 发布于湖北
  • 举报
關聯式資料模式的整合限制條件 羅家倫 * 整合限制條件(Integrity Rule) 是用來規範資料在關聯表中的儲存、刪除或更改動作,以防止不一致或錯誤的情況發生 「資料庫整合性」(Database Integrity) 應該包含兩部分[Motro (1989b)]: 正確性(Validity):確保錯誤資料都已經被排除在資料庫之外; 完整性(Completeness):保證所有正確資料都已包含在資料庫中。 關聯式模式最初的兩條整合規則 1. 個體整合限制規則(Entity Integrity):規範關聯表內部的限制條件 2. 參考整合限制規則(Referential Integrity):規範關聯表之間的限制條件 * 延伸性整合限制條件 近年陸續加入以下兩類延伸性整合限制條件,擴充成為四類規則: 3. 值域整合限制條件(Domain Integrity)— 以Check 條件約束與規則(Rule) 限制資料內容/格式、 Create Default 規則設定預設值,以及 Not Null 宣告來限制屬性值的存在必要性。 4. 使用者自訂整合限制條件(User-Defined Integrity)— 使用預儲程序(Stored Procedure)、 使用者自訂函數(User-Defined Function) 或 觸發程序(Trigger) 來撰寫規範。 * 整合限制規則: 整合限制規則,都是在基底關聯表上訂定 導出(衍生)關聯表(DerivedRelations)、視界或其它類型的關聯表,會繼承所屬基底關聯表上的整合限制規則 沒有完備的整合限制條件會造成資料庫內容的大亂,就如社會缺乏法律一樣,絕對不可以忽略 * 個體整合限制(Entity Integrity)─規範關聯表內部的限制條件 參考整合限制(Referential Integrity)─規範關聯表與關聯表之間的限制條件 * 個體整合限制 基底關聯表主鍵的任何屬性值都不可以是某個內定值─當然更不可以是虛值(Null)。 每一個實體都必須是可以分辨的(Distinguishable) 主鍵為虛值表示該個體是一個完全不確定的個體 查詢處理上的方便性與務實性:請問下列的關聯表含有幾家書局的資料?(不知道) * 主鍵的注意事項 若主鍵是由複合屬性所構成的話,則全部都不能是虛值 個體整合限制條件原則上只適用於基底關聯表 * 廣義的個體整合限制規則 更廣義的個體整合限制規則也可以寫成:在基底關聯表中,主鍵的任何一個屬性,都不可以存放「預設值」(Default Values),而虛值就是一種特殊的預設值。 主鍵中的屬性,雖然不可存放預設值(Default Values),但是卻可以存放預設系統函數,只要該函數每次都產生具有唯一性的值即可。 * 主鍵可以存放預設系統函數 只要該函數每次都產生具有唯一性的值即可(課本圖5.8) 設定屬性的「識別規格」(Is Identity) 特性為「是」:以便讓系統自動產生遞增的識別值。 預設成getdate() 函數直接抓取系統時間:因為datetime 的精確度達到3.33 毫秒(ms, 即3.33/1000 秒),只要確保產生值組的速度不超過此時段即可。 對於uniqueidentifier 資料型態的屬性來說:可以預設成newid() 函數,它會直接傳回一個128 bits 的唯一編號。 * 參考整合限制 R2中的外來鍵FK,若參考到關聯表R1中的候選鍵CK時,則所有R2中的FK值一定要符合底下其中一項條件︰ 全部屬性的值都是虛值(不是必要存在的值),或 等於R1中某值組的候選鍵值。 * 例 * 外來鍵使用規則 對關聯表新增/刪除/修改時要符合下列規則: 外來鍵的虛值規則(Null Rule for Foreign Key)─既是外來鍵又是主鍵的屬性不可以新增或更改為虛值。 外來鍵參考對象的刪除/更新規則(Delete/Update Rule for Foreign Key Reference)─刪除或更新參考對象後,如何維持「參考整合限制」? * 外來鍵參考對象的刪除/更新規則 例如:由Bookstores 中刪除(4, 天秤書局, ...) 後,Orders 中的(4, ...) 便不符參考整合限制了(課本圖4.2) 所以想刪除Bookstores 中的(4, 天秤書局, ...),可以採用下列做法: 限制性做法(RESTRICTED) 連鎖反應的做法(CASCADES) 虛值化的做法(NULLIFIES) 限制性做法(RESTRICTED) 在沒有刪除Orders 中所有的(4, ...) 以前不准刪除Bookstores 中的(4, 天秤書局, ...) 連鎖反應做法(CASCADES) 刪除B

文档评论(0)

1亿VIP精品文档

相关文档