材料庫完全性對材料庫利用體系非常關鍵,其感化重要表現在以下多少個方面:
1.材料庫完全性束縛可能避免合法用戶利用材料庫時向材料庫中增加不合語義的數據。
2.利用基於DBMS的完全性把持機制來實現營業規矩,易於定義,輕易懂得,並且可能降落利用順序的複雜性,進步利用順序的運轉效力。同時,基於DBMS的完全性把持機制是會合管理的,因此比利用順序更輕易實現材料庫的完全性。
3.公道的材料庫完全性計劃,可能同時兼顧材料庫的完全性跟體系的效力。比方裝載大年夜量數據時,只有在裝載之前常設使基於DBMS的材料庫完全性束縛掉效,此後再使其掉效,就能保證既不影響數據裝載的效力又能保證材料庫的完全性。
4.在利用軟體的功能測試中,完美的材料庫完全性有助於儘早發明利用軟體的錯誤。
材料庫完全性束縛可分為6類:列級靜態束縛、元組級靜態束縛、關係級靜態束縛、列級靜態束縛、元組級靜態束縛、關係級靜態束縛。靜態束縛平日由利用軟體來實現。差別DBMS支撐的材料庫完全性基本相同。
關係模型
關係完全性的用於保證材料庫中數據的正確性。體系在停止更新、拔出或刪除等操縱時都要檢查數據的完全性,核實其束縛前提,即關係模型的完全性規矩。在關係模型中有四類完全性束縛:實體完全性、域完全性、參照完全性跟用戶定義的完全性,其中實體完全性跟參照完全性束縛前提,稱為關係的兩個穩定性。
實體
關係材料庫的完全性規矩是材料庫計劃的重要內容。絕大年夜部分關係型材料庫管理體系RDBMS都可主動支撐關係完全性規矩,只有效戶在定義(樹破)表的構造時,注意選定主鍵、外鍵及其參照表,RDBMS可主動實現其完全性束縛前提。
(1)實體完全性(Entity Integrity)。實體完全性指表中行的完全性。重要用於保證操縱的數據(記錄)非空、唯一且不重複。即實體完全性請求每個關係(表)有且僅有一個主鍵,每一個主鍵值必須唯一,並且不容許為「空」(NULL)或重複。
(2)實體完全性規矩請求。若屬性A是基本關係R的主屬性,則屬性A不克不及取空值,即主屬性弗成為空值。其中的空值(NULL)不是0,也不是空隔或空字元串,而是不值。現實上,空值是指臨時「不存放的值」、「不曉得」或「有意思」的值。因為主鍵是實體數據(記錄)的惟一標識,若主屬性取空值,關係中就會存在弗成標識(辨別)的實體數據(記錄),這與實體的定義抵觸,而對非主屬性可能取空值(NULL),因此,將此規矩稱為實體完全性規矩。如學籍關係(表)中主屬性「學號」(列)中不克不及有空值,不然無法操縱挪用學籍表中的數據(記錄)。
域完全性
域完全性(Domain Integrity)是指材料庫表中的列必須滿意某種特定的數據範例或束縛。其中束縛又包含取值範疇、精度等規定。表中的CHECK、FOREIGN KEY 束縛跟DEFAULT、 NOT NULL定義都屬於域完全性的範疇。
參照完全性
參照完全性(Referential Integrity)屬於表間規矩。對永久關係的相幹表,在更新、拔出或刪除記錄時,假如只改其一,就會影響數據的完全性。如刪除父表的某記錄後,子表的響應記錄未刪除,以致這些記錄稱為孤破記錄。對更新、拔出或刪除表間數據的完全性,統稱為參照完全性。平日,在客不雅現實中的實體之間存在一定聯繫,在關係模型中實體及實體間的聯繫都是以關係停止描述,因此,操縱時就可能存在著關係與關係間的關聯跟引用。
在關係材料庫中,關係之間的聯繫是經由過程大年夜眾屬性實現的。這個大年夜眾屬性常常是一個表的主鍵,同時是另一個表的外鍵。參照完全性表現在兩個方面:實現了表與表之間的聯繫,外鍵的取值必須是另一個表的主鍵的有效值,或是「空」值。
參照完全性規矩(Referential Integrity)請求:若屬性組F是關係形式R1的主鍵,同時F也是關係形式R2的外鍵,則在R2的關係中,F的取值只容許兩種可能:空值或等於R1關係中某個主鍵值。
R1稱為「被參照關係」形式,R2稱為「參照關係」形式。
注意:在現實利用中,外鍵不一定與對應的主鍵同名。外鍵常用下劃曲線標出。
用戶定義完全性
用戶定義完全性(User-defined Integrity)是對數據表中欄位屬性的束縛,用戶定義完全性規矩(User-defined integrity)也稱域完全性規矩。包含欄位的值域、欄位的範例跟欄位的有效規矩(如小數位數)等束縛,是由斷定關係構造時所定義的欄位的屬性決定的。如,百分製成績的取值範疇在0~100之間等。
計劃階段
一個好的材料庫完全性計劃起首須要在須要分析階段斷定要經由過程材料庫完全性束縛實現的營業規矩,然後在充分懂得特定DBMS供給的完全性把持機制的基本上,根據全部體系的體系構造跟機能請求,按照材料庫計劃方法跟利用軟體計劃方法,公道抉擇每個營業規矩的實現方法;最後,當真測試,打消隱含的束縛衝突跟機能成績。基於DBMS的材料庫完全性計劃大年夜要分為以下多少個階段:
須要分析
經過體系分析員、材料庫分析員、用戶的獨特盡力,斷定體系模型中應當包含的東西,如人事及工資管理體系中的部分、員工、經理等,以及各種營業規矩。
在實現尋覓營業規矩的任務之後,斷定要作為材料庫完全性的營業規矩,並對營業規矩停止分類。其中作為材料庫形式一部分的完全性計劃按下面的過程停止。而由利用軟體來實現的材料庫完全性計劃將按照軟體工程的方法停止。
不雅點計劃
不雅點構造計劃階段是將根據須要分析的成果轉換成一個獨破於具體DBMS的不雅點模型,即實體關係圖(ERD)。在不雅點構造計劃階段就要開端材料庫完全性計劃的本質階段,因為此階段的實體關係將在邏輯構造計劃階段轉化為實體完全性束縛跟參照完全性束縛,到邏輯構造計劃階段將實現計劃。
數據完全性5個原則
5個原則:歸屬性、清楚長久的屬性、同步性、原始性、正確性。