<video id="j8n4h"><output id="j8n4h"><delect id="j8n4h"></delect></output></video>

  1. <span id="j8n4h"></span>
    <label id="j8n4h"><samp id="j8n4h"></samp></label>

    <span id="j8n4h"></span>
    
    
    <bdo id="j8n4h"><meter id="j8n4h"></meter></bdo>
    <label id="j8n4h"></label>
  2. 歡迎光臨,深圳市一航網絡信息技術有限公司!
    關注一航
    一航網絡微信二維碼

    一航網絡

    400-870-6298
    當前位置:首頁 >數據完整性 返回列表

    數據完整性

    發布日期:2021/4/15 22:40:20    發布人:一航網絡    來源:網絡    點擊:

           數據完整性測試

           一、概述

      數據的完整性,是指存儲在數據庫中的數據的正確性和可靠性,它是衡量數據中數據質量的一種標準。數據完整性可以分為四類。

      1、實體完整性,實體完整性的目的是確保數據庫中所有實體的唯一性,也就是不應出現完全相同的數據記錄。

      2、區域完整性,匹配完整性要求數據表中的數據位于某一個特定的允許范圍內。

      3、參考完整性,是用來維護相關數據表之間數據一致性的手段,通過實現參考完整性,可以避免因一個數據表的記錄改變而造成另一個數據表內的數據變成無效值。

      4、用戶自定義完整性,用戶自定義由用戶根據實際應用中的需要自行定義。

      二、利用約束維護數據完整性

      第一種:字段級約束,只能作用于一個字段。

      第二種:數據級的約束;分為:

      1、主鍵約束,使用數據表中的一列數據或多列數據來唯一標識一行數據。在數據表中不能存在主鍵相同的兩行數據,主鍵不能為NULL。

      2、外鍵約束,主要用來實現數據的區域完整性和引用完整性。如果確定了數據表中某一個字段將作為該數據表與其他數據表關聯時使用的外鍵,則該字段的聚會范圍將決定于關聯數據表中該字段的取值范圍。外鍵可以與另一張表上的主鍵約束建立聯系,也可以與另一張表上的唯一約束建立聯系。當一行新的數據被加入到表中,或對表中已經存在的外鍵上的數據進行修改時,新的數據必須存在于另一張表的主鍵上,或者為NULL。

      3、唯一約束,主要用來確保非主鍵字段中的唯一性。唯一約束可以用來同時約束一個或多個非主鍵字段中數據的唯一性,而主鍵約束只允許一個字段數據的唯一性或多個字段組合在一起的唯一性;使用唯一約束的字段中允許出現NULL值,而在使用主鍵約束時,字段中不允許出現NULL值。

      4、檢查(CHECK)約束,檢查約束通過檢查輸入數據字段值來維護數據的完整性,以確保只有符合條件的數據才能夠進入數據表。它通常是通過一個邏輯表達式的結果是否為真來判斷是否符合條件。與外鍵約束不同,外鍵約束是從另一張表上獲得合理的數據,而檢查約束則是通過對一個表達式的結果進行判斷來對數據進行檢查。

      三、利用規則維護數據完整性

      規則限制了可以存儲在表中或用戶定義數據類型的值,它可以使用多種方式 來完成對數據值的檢驗,可以使用函數返回驗證信息,也可以使用關鍵字BETWEEN, LIKE, IN完成對輸入數據的檢查。

      規則是數據庫對象之一,它的作用與CHECK約束的部分功能相同,在向表的某列插入或更新數據時,用它來限制輸入的新值的取值范圍,但規則作為單獨的數據庫對象來實現,在一列上只能使用一個規則卻可以使用多個CHECK,另外,規則可以應用于多個示例,還可以應用于用戶自定義的數據類型,而CHECK只能應用于它定義的列。

      規則是實現區域完整性的方法之一,當數據庫中的數據被插入或更新時,需要檢查這個新值是否遵循規則,如果違反了規則,則操作失敗。

      1、DEFAULT對象(數據庫對象),可以實現數據完整性,綁定到列或用戶自定義數據類型時,如果插入時沒有明確提供值,默認值便指定一個值,并將其插入到對象所綁定的列中。

      2、RULES對象(數據庫對象),可以用它來實現數據完整性,當綁定到列或用戶自定義數據類型時,規則將指定可以插入到列中的可接受的值。

      四、使用觸發器和存儲過程實現數據完整性

      觸發器是一種特殊的存儲過程,它不能被顯示地調用,而是在向表中插入、更新或刪除數據時被自動激活。所以,觸發器可以用來對表實施復雜的完整性約束,當觸發器所的數據發生改變時,觸發器會自動被激活,從而防止對數據的不正確修改。

      觸發器與數據表緊密相連,可以看作是數據表定義的一部分,能學它們都是以一組SQL語句的形式存在。觸發器基于一個表創建,介是可以針對多個表進行操作。觸發器可以實現所有的約束功能。觸發器可以引用其他表中的列。

      觸發器可以評估數據修改前后的表狀態,并根據其差異采取對策,這也是約束無法實現的。

      觸發器為系統自動觸發,而存儲過程則需要強制激活。

      五、總結

      1、使用約束的系統開銷最低,其次為使用默認值和規則,開銷最高的是脆性器和存儲過程;

      2、功能最強的是觸發器和存儲過程,其次是默認值和規則,最后是使用約束;


  3. 上一篇 : 可靠性測試
  4. 下一篇 : 維護性測試
  5. 主站蜘蛛池模板: 久久乐国产精品亚洲综合| 久久综合五月丁香久久激情| 成人亚洲综合天堂| 区二区三区激情综合 | 久久久久久久综合日本亚洲| 国产成人综合日韩精品婷婷九月| 亚洲国产品综合人成综合网站| 天天综合色天天桴色| 国产精品亚洲综合天堂夜夜| 天天爽天天狠久久久综合麻豆| 综合欧美五月丁香五月| 久久乐国产精品亚洲综合| 亚洲综合在线一区二区三区| 国产综合精品女在线观看| 亚洲av无码国产综合专区| 五月丁香六月综合缴清无码| 99久久综合狠狠综合久久aⅴ | 色偷偷尼玛图亚洲综合| 激情综合色五月丁香六月亚洲 | 狠狠色噜噜狠狠狠狠色吗综合| 久久一日本道色综合久久m| 亚洲av日韩综合一区二区三区| 久久精品综合电影| 日日狠狠久久偷偷色综合免费 | 中文字幕亚洲综合久久菠萝蜜| 色偷偷91久久综合噜噜噜| 亚洲精品二区国产综合野狼| 色88久久久久高潮综合影院| 一本一道色欲综合网中文字幕| 亚州AV综合色区无码一区| 99sescom色综合| 亚洲欧洲日韩综合| 亚洲国产成+人+综合| 国产综合色香蕉精品五月婷| 99久久综合精品免费| 亚洲综合熟女久久久30p| 国产综合内射日韩久| 国产色婷婷五月精品综合在线| 亚洲偷自拍拍综合网| 亚洲综合色婷婷七月丁香| 久久精品亚洲综合|