資料庫完整性(Database Integrity)是指資料庫中資料的正確性和相容性。資料庫完整性由各種各樣的完整性約束來保證,因此可以說資料庫完整性設計就是資料庫完整性約束的設計。資料庫完整性約束可以透過DBMS或應用程式來實現,基於DBMS的完整性約束作為模式的一部分存入資料庫中。透過DBMS實現的資料庫完整性按照資料庫設計步驟進行設計,而由應用軟體實現的資料庫完整性則納入應用軟體設計。資料庫完整性對於資料庫應用系統非常關鍵,其作用主要體現在以下幾個方面:
1.資料庫完整性約束能夠防止合法使用者使用資料庫時向資料庫中新增不合語義的資料。
2.利用基於DBMS的完整性控制機制來實現業務規則,易於定義,容易理解,而且可以降低應用程式的複雜性,提高應用程式的執行效率。同時,基於DBMS的完整性控制機制是集中管理的,因此比應用程式更容易實現資料庫的完整性。
3.合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能。比如裝載大量資料時,只要在裝載之前臨時使基於DBMS的資料庫完整性約束失效,此後再使其生效,就能保證既不影響資料裝載的效率又能保證資料庫的完整性。
4.在應用軟體的功能測試中,完善的資料庫完整性有助於儘早發現應用軟體的錯誤。 資料庫完整性約束可分為6類:列級靜態約束、元組級靜態約束、關係級靜態約束、列級動態約束、元組級動態約束、關係級動態約束。動態約束通常由應用軟體來實現。不同DBMS支援的資料庫完整性基本相同,Oracle支援的基於DBMS的完整性約束如下表所示:
資料庫完整性(Database Integrity)是指資料庫中資料的正確性和相容性。資料庫完整性由各種各樣的完整性約束來保證,因此可以說資料庫完整性設計就是資料庫完整性約束的設計。資料庫完整性約束可以透過DBMS或應用程式來實現,基於DBMS的完整性約束作為模式的一部分存入資料庫中。透過DBMS實現的資料庫完整性按照資料庫設計步驟進行設計,而由應用軟體實現的資料庫完整性則納入應用軟體設計。資料庫完整性對於資料庫應用系統非常關鍵,其作用主要體現在以下幾個方面:
1.資料庫完整性約束能夠防止合法使用者使用資料庫時向資料庫中新增不合語義的資料。
2.利用基於DBMS的完整性控制機制來實現業務規則,易於定義,容易理解,而且可以降低應用程式的複雜性,提高應用程式的執行效率。同時,基於DBMS的完整性控制機制是集中管理的,因此比應用程式更容易實現資料庫的完整性。
3.合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能。比如裝載大量資料時,只要在裝載之前臨時使基於DBMS的資料庫完整性約束失效,此後再使其生效,就能保證既不影響資料裝載的效率又能保證資料庫的完整性。
4.在應用軟體的功能測試中,完善的資料庫完整性有助於儘早發現應用軟體的錯誤。 資料庫完整性約束可分為6類:列級靜態約束、元組級靜態約束、關係級靜態約束、列級動態約束、元組級動態約束、關係級動態約束。動態約束通常由應用軟體來實現。不同DBMS支援的資料庫完整性基本相同,Oracle支援的基於DBMS的完整性約束如下表所示: