数据库完整性和约束
一、數(shù)據(jù)庫完整性
1、定義
關系完整性是為保證數(shù)據(jù)庫中數(shù)據(jù)的正確性和相容性,對關系模型提出的某種約束條件或規(guī)則。完整性包括:
域完整性:
域完整性是保證數(shù)據(jù)庫字段取值的合理性。包括限制類型(數(shù)據(jù)類型),格式(通過檢查約束和規(guī)則),可能值范圍(通過外鍵約束,檢查約束,默認值定義,非空約束和規(guī)則),在當今的關系DBMS中,一般都有域完整性約束檢查功能。
實體完整性:
實體完整性是指關系的主關鍵字不能重復也不能取空值,
參照完整性:
也稱“引用完整性”,是定義建立關系之間聯(lián)系的主關鍵字與外部關鍵字引用的約束條件。在刪除和輸入記錄時,引用完整性保持表之間已定義的關系.引用完整性確保鍵值在所有表中一致.這樣的一致辭性要求不能引用不存在的值.如果一個鍵值更改了,那么在整個數(shù)據(jù)庫中,對該鍵值的引用要進行一致的更改.
用戶自定義完整性:
實體完整性和參照完整性適用于任何關系型數(shù)據(jù)庫系統(tǒng),它主要是針對關系的主關鍵字和外部關鍵字取值必須有效而做出的約束。用戶定義完整性則是根據(jù)應用環(huán)境 的要求和實際的需要,對某一具體應用所涉及的數(shù)據(jù)提出約束性條件。這一約束機制一般不應由應用程序提供,而應有由關系模型提供定義并檢驗,用戶定義完整性 主要包括字段有效性約束和記錄有效性。
總結
- 上一篇: Python零碎知识(3):对文件的基本
- 下一篇: 更改表结构