當表中的某列必須有值,並且當使用insert命令向資料表插入記錄資料時,若在使用者沒有明確指定該列的值,但該列也需要乙個明確的值的情況下,就需要使用default約束。sql server將根據使用者的插入資料,自動維護域完整性。
alter table table_name
add constraint constraint_name
default defaultvalues for column_name
資料庫的資料完整性是指資料庫中資料的正確性和相容性。資料庫完整性由各種各樣的完整性約束來保證。
根據資料內容不正確性將資料完整性分為4類。
實體完整性將記錄定義為表中唯一實體,即不能重複。在資料庫中實現實體完整性的方法主要有以下幾種:
域完整性是要求表中列的值必須滿足特定的約束和規則。在資料庫中實現域完整性方法是通過限制資料型別、格式和可能的取值範圍來實現的。
資料型別的取值範圍是通過自定義資料型別實現的,格式是通過check(檢查)約束和規則來實現的;
而取值範圍是通過foreign key(外來鍵)約束、check(檢查)約束、default(預設值)約束、not null(非空)定義和規則來實現的。
引用完整性也就是參照完整性,引用完整性確保在資料庫中多個資料表中的資料庫一致,引用完整性通過外來鍵將引用表和被引用表關聯起來。確保鍵值在所有表中都必須一致,因此不能引用不存在值(即指向不存在的行)。相關表直接的資料一致性要求如下:
使用者根據系統設計需要,可以在sql server中定義不屬於上述標準類別的特定規則的使用者完整性定義。
所有的完整性型別都支援使用者自定義完整性。
在物件資源管理器中,外來鍵關係可以設定insert和update規範,來保證資料完整性
不執行任何操作:更新和刪除操作被禁止
級聯:同時被更新或刪除
設定null:被設定為null
設定預設值:被設定為該列預設值
字段約束和資料庫正規化
字段約束 資料庫的正規化 構造資料庫必須遵循一定的規則,這種規則就是正規化 關聯式資料庫有六種正規化,一般情況滿足第三正規化即可。第一正規化 原子性 第一正規化是資料庫的基本要求,不滿足這一點就不是關係型資料庫 資料表的每一列都是不可分割的基本資料項,同一列中不能有多個值,也不能存在重複屬性,第二正...
資料庫如何新增約束
主鍵約束 外來鍵約束 unique約束 唯一約束 check約束 default約束 create table demotable 建立表 id int identity 1,1 primary key not null,設定主鍵約束 demono varchar 50 unique not nul...
資料庫新增各種約束
非空約束alter table studen modify studentname not null 唯一約束 身份證號 alter table student add constraint uk student identitycard unique identitycard 預設約束 位址 al...