資料完整性

2021-09-26 16:15:53 字數 669 閱讀 5219

乙個資料庫就是乙個完整的業務單元,可以包含多張表,資料被儲存在表中

在表中為了更加準確的儲存資料,保證資料的正確有效,可以在建立表的時候,為表新增一些強制性的驗證,包括資料字段的型別、約束

主鍵primary key:物理上儲存的順序

非空not null:此字段不允許填寫空值

惟一unique:此字段的值不允許重複

預設default:當不填寫此值時會使用預設值,如果填寫時以填寫為準

外來鍵foreign key:對關係字段進行約束,當為關係字段填寫值時,會到關聯的表中查詢此值是否存在,如果存在則填寫成功,如果不存在則填寫失敗並丟擲異常

說明:雖然外來鍵約束可以保證資料的有效性,但是在進行資料的crud(增加、修改、刪除、查詢)時,都會降低資料庫的效能,所以不推薦使用,那麼資料的有效性怎麼保證呢?答:可以在邏輯層進行控制

數值型別(常用)

字串

日期時間型別

MySQL資料完整性(實體完整性 域完整性)

資料完整性 為保證插入到資料庫中的資料是正確的,防止使用者輸入錯誤的資料 分為實體完整性 域完整性 參照完整性 下節再說 1 實體完整性 實體指的是表中的一行,一行記錄對應乙個實體 通過主鍵實現 主鍵 關鍵字 primary key 特點 不能為null,並且唯一。邏輯主鍵 推薦 例如id,不代表實...

資料完整性

資料完整性定義 是指資料庫中的資料的正確性和完整性。資料完整性的型別 要求的資料。not null。有效檢查。資料的有效範圍檢查。字段檢查約束。資料域。實體完整性。主鍵欄位唯 一 非空。引用完整性引發的問題 1 插入 更新子表記錄的外鍵值在主表主鍵中不存在。2 刪除 更新父表的主鍵記錄有關聯外來鍵記...

資料完整性

quote b 更新丟失 b 當有兩個寫程序同時修改相同的資料時,往往會出現乙個寫程序做的修改覆蓋了另乙個寫程序的修改。這種情況是完整性問題最常見的型別。互斥鎖的設計就是防範這種問題的出現。b 髒讀 b 乙個事務修改的資料在提交前被另乙個事務讀取,就會發生髒讀。由於事務提交的修改有可能會被回滾,因而...