資料庫的「完整性」是指資料的正確性和相容性。完整性是指資料庫中資料在邏輯上的一致性、正確性、有效性和相容性。完整性對於資料庫系統的重要性:1、資料庫完整性限制能夠防止合法使用者使用資料庫時向資料庫中添加不合語意的資料;2、合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能;3、完善的資料庫完整性有助於儘早發現應用軟體的錯誤。
本教學操作環境:windows7系統、Dell G3電腦。
資料庫完整性(Database Integrity)是指資料庫中資料在邏輯上的一致性、正確性、有效性和相容性。
資料庫完整性由各種各樣的完整性約束來保證,因此可以說資料庫完整性設計就是資料庫完整性約束的設計。資料庫完整性約束可以透過DBMS或應用程式來實現,基於DBMS的完整性約束作為模式的一部分存入資料庫中。透過DBMS實現的資料庫完整性依照資料庫設計步驟進行設計,而由應用軟體實現的資料庫完整性則納入應用軟體設計。
資料庫完整性對於資料庫應用系統非常關鍵,其作用主要體現在以下幾個方面:
1.資料庫完整性約束能夠防止合法使用者使用資料庫時向資料庫中新增不合語意的資料。
2.利用基於DBMS的完整性控制機制來實現業務規則,易於定義,容易理解,並且可以降低應用程式的複雜性,並提高應用程式的運作效率。同時,基於DBMS的完整性控制機制是集中管理的,因此比應用程式更容易實現資料庫的完整性。
3.合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能。例如裝載大量資料時,只要在裝載之前暫時使基於DBMS的資料庫完整性約束失效,此後再使其生效,就能保證既不影響資料裝載的效率又能保證資料庫的完整性。
4.在應用軟體的功能測試中,完善的資料庫完整性有助於儘早發現應用軟體的錯誤。
資料庫完整性限制可分為6類:列級靜態限制、元組級靜態約束、關聯式靜態限制、列級動態限制、元組級動態限制、關聯式動態限制。動態約束通常由應用軟體來實現。不同DBMS支援的資料庫完整性基本上相同。
在實作資料庫完整性設計的時候,有一些基本的原則需要掌握:
1.根據資料庫完整性約束的類型確定其實現的系統層次和方式,並事先考慮對系統效能的影響。一般情況下,靜態約束應盡量包含在資料庫模式中,而動態約束則由應用程式實作。
2.實體完整性約束、參照完整性約束是關聯式資料庫最重要的完整性約束,在不影響系統關鍵效能的前提下需盡量應用。用一定的時間和空間來換取系統的易用性是值得的。
3.另一方面,觸發器的多級觸發不好控制,容易發生錯誤,非用不可時,最好使用Before型語句級觸發器。
4.在需求分析階段就必須制定完整性約束的命名規範,盡量使用有意義的英文單字、縮寫字、表名、列名及底線等組合,使其易於辨識與記憶,如:CKC_EMP_REAL_INCOME_EMPLOYEE、PK_EMPLOYEE、CKT_EMPLOYEE。若使用CASE工具,一般有缺省的規則,可在此基礎上修改使用。
5.若要根據業務規則對資料庫完整性進行細緻的測試,以儘早排除隱含的完整性約束間的衝突和對效能的影響。
6.要有專職的資料庫設計小組,自始至終負責資料庫的分析、設計、測試、實施及早期維護。資料庫設計人員不僅負責基於DBMS的資料庫完整性限制的設計實現,還要負責對應用軟體實現的資料庫完整性約束進行審核。
7.應採用適當的CASE工具來降低資料庫設計各階段的工作量。好的CASE工具能夠支援整個資料庫的生命週期,這將使資料庫設計人員的工作效率大大提高,同時也容易與使用者溝通。
更多相關知識,請造訪常見問題欄位!
以上是資料庫的什麼是指資料的正確性和相容性的詳細內容。更多資訊請關注PHP中文網其他相關文章!