国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 數(shù)據(jù)庫完整性類型(數(shù)據(jù)庫)

數(shù)據(jù)庫完整性類型(數(shù)據(jù)庫)

時間:2022-11-18 20:30:01 | 來源:信息時代

時間:2022-11-18 20:30:01 來源:信息時代

    數(shù)據(jù)庫完整性類型 : 在不同級別的粒度上,數(shù)據(jù)庫完整性的實現(xiàn)。由此,數(shù)據(jù)庫完整性分為域完整性、實體完整性、參照完整性、用戶定義完整性和其他完整性。域完整性定義了關系屬性的值域: 實體完整性保證了各記錄的可區(qū)分性: 參照完整性確保了維護關系之間的聯(lián)系的必要性; 用戶定義完整性是針對某一應用環(huán)境的完整性約束條件; 其他完整性包括函數(shù)依賴與多值依賴等主要用于規(guī)范化數(shù)據(jù)庫設計。
1.域完整性
域完整性(domain integrity)要求屬性值必須取自其對應的值域; 一個屬性值能否為空值由其語義決定。域完整性約束是最基本的約束。一個域是一個給定屬性的所有可能值的集合。域完整性約束是用來定義這些合法值的規(guī)則。
數(shù)據(jù)類型在數(shù)據(jù)模型中是一種比較便捷的實現(xiàn)方式,因此,在確定系統(tǒng)中的域約束時,選擇一個合適的邏輯類型來定義域是第一步要做的事情。但要注意對一些需要精確定義域的地方,還要附加規(guī)則。 例如, 若選擇一個Integer(取值范圍-32768~32767)數(shù)據(jù)類型作為年齡域定義就不合適,因在實際情況中,年齡的取值范圍在0~150之間已足夠了。
域完整性還要考慮“一個域是否應當包含未知的或者不存在的值”。需要確定這些未知的或者不存在的值能否被系統(tǒng)所接受。
域完整性要盡可能具體地定義由一個域所描述的值的集合。最簡單的描述一個域的方式是列舉域的所有值。例如,Weekends 域可以由集合{“Saturday”,“Sunday”}來描述。當然大多數(shù)域不能預先列舉其所有值,所以要按域的實際情況來定義。有時候列舉一個或多個規(guī)則來約束域成員會更加容易一些。
域完整性往往也是用戶定義完整性的不可或缺的一部分。
2. 實體完整性
實體完整性(entity integrity)指明主鍵值必須是唯一的,且其任何組成部分都不能是空值。
定義實體完整性的必要性是: 關系對應于現(xiàn)實世界中的實體,而現(xiàn)實世界中實體是可區(qū)分的,亦即每個實體應具有唯一性標志。在關系模型中,是以主鍵值作為唯一標志的。若主鍵值為空值,則說明這個實體無法標志,即不可區(qū)分,這顯然是錯誤的。例如,在關系“項目成員(項目、部門、職員姓名)”中,“職員姓名”屬性為主鍵(假設職員不會重名),則“職員姓名”不能取空值。
又如,職員銷售關系“銷售(工號、商品號、銷量)”中,“工號、商品號”為主鍵,則“工號”和“商品號”兩個屬性都不能取空值。
3. 參照完整性
參照完整性(referential integrity)指關系之間的引用應該遵守的規(guī)則,它用于維持關系的元組之間的一致性。參照完整性規(guī)則定義參照關系的外鍵與被參照關系的主鍵之間的引用關系。
對于永久關系的相關表,在更新、插入或刪除記錄時,如果只改其中一個表的記錄,而不改另外一個表的記錄,就會影響數(shù)據(jù)的完整性。
在數(shù)據(jù)庫設計中,實體之間往往存在某種聯(lián)系,在關系模型中實體及實體間的聯(lián)系都是用關系來描述的。這樣就存在著關系與關系間的引用。例如,職員實體和部門實體可以用下面的關系表示,其中主鍵用“*”標識:
職員(工號*,姓名,性別,部門號,年齡)
部門(部門號*,部門名,部門負責人)
這兩個關系之間存在著屬性的引用,即職員關系引用了部門關系的主鍵“部門號”。顯然,部門關系中的“部門號”值必須是確實存在的部門的部門號,即部門關系中有該部門的記錄,亦即職員關系中的“部門號”屬性的取值需要參照部門關系的“部門號”屬性的取值。在這里,職員關系的“部門號”屬性與部門關系的主鍵“部門號”相對應,因此“部門號”屬性是職員關系的外鍵。這里部門關系是被參照關系,職員關系為參照關系,見圖1(a)。


(a)



(b)


圖1 關系的參照圖


多個關系之間也可能存在屬性間的引用。例如,職員(工號*,姓名,性別,部門號,年齡),商品(商品號*,商品名,單價)和銷售(工號*,商品號*,銷量)。這三個關系之間也存在著屬性的引用,即銷售關系引用了職員關系的主鍵“工號”和商品關系的主鍵“商品號”。同樣,銷售關系中的“工號”值必須是確實存在的職員的工號,即職員關系中有該職員的記錄,銷售關系中的“商品號”值也必須是確實存在的商品的商品號,即商品關系中有該商品的記錄。例中銷售關系中某些屬性的取值需要參照其他關系的屬性取值。銷售關系的“工號”屬性與職員關系的主鍵“工號”相對應,“商品號”屬性與商品關系的主鍵“商品號”相對應,因此,“工號”和“商品號”屬性是銷售關系的外鍵。這里職員關系和商品關系均為被參照關系,銷售關系為參照關系。如圖1(b)所示。
不僅兩個或兩個以上的關系間可以存在引用關系,同一關系內部屬性間也可能存在引用關系。例如,在關系職員(工號*,姓名,性別,部門號,年齡,負責人)中,“工號”屬性是主鍵,“負責人”屬性表示該職員所在部門的負責人的工號,它引用了本關系“工號”屬性,即“負責人”必須是確實存在的職員的工號。在這里,“負責人”屬性與本身的主鍵“工號”屬性相對應,因此“負責人”是外鍵。這里職員關系既是參照關系也是被參照關系。
所以,參照完整性屬于表間規(guī)則。
4. 用戶定義的完整性
任何關系數(shù)據(jù)庫系統(tǒng)都應該支持域完整性、實體完整性和參照完整性。
在此基礎上,不同的應用環(huán)境往往還需要一些特殊的約束條件,用戶定義的完整性(user-defined integrity)就是針對某一應用環(huán)境的完整性約束條件。它反映一個具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。例如,某個屬性必須取值不重復,某個屬性的取值范圍在’A’~’E’之間,某些屬性值之間應滿足一定的對應關系等。關系模型應提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的方式由系統(tǒng)處理它們,從而減輕應用程序的處理負擔。
在實際系統(tǒng)中,這類完整性規(guī)則一般在建立數(shù)據(jù)庫表的同時進行定義,應用程序人員不需再做考慮。如果某些約束條件沒有建立在數(shù)據(jù)庫表一級,則應用編程人員應在各模塊的具體編程中通過程序進行檢查和控制。

74
73
25
news

版權所有? 億企邦 1997-2022 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉