維護資料的完整性3 新增約束

2021-09-02 13:51:38 字數 791 閱讀 3199

商店售貨系統表設計案例2

如果在建表時忘記建立必要的約束,則可以在建表後使用alter table命令為表增加約束。但是要注意:增加not null約束時,需要使用modify選項,而增加其他四種約束使用add選項。

即如果是新增not null約束則直接modify+列名+not null

如果是新增其他四種約束(unique,check,primary key,foreign key)則是add constraint+自定義約束名+約束型別(列名)

1)每個表的主外碼;

2)客戶的姓名不能為空值;--增加商品名也不能為空

sql> alter table goods modify goodsname not null;

表已更改。

3)單價必須大於0,購買數量必須在1到30之間;

4)電郵不能夠重複;--增加身份證也不重複

sql> alter table customer add constraint cardsunique unique(cardid);

表已更改。

其中需要注意的是,constraint 的意思是約束,後面的cardsunique代表的是新建的約束的名字

5)客戶的性別必須是男或者是女,預設是男;

6)增加客戶的位址只能是'海淀','朝陽','東城','西域','通州','崇文'

sql> alter table customer add constraint addresscheck check(address in ('海淀','朝陽','東城','西域','通州','崇文'));

表已更改。

新增Default約束和資料完整性約束

當表中的某列必須有值,並且當使用insert命令向資料表插入記錄資料時,若在使用者沒有明確指定該列的值,但該列也需要乙個明確的值的情況下,就需要使用default約束。sql server將根據使用者的插入資料,自動維護域完整性。alter table table name add constrai...

資料表的完整性,維護資料的完整性(約束),標識列

維護資料表的完整性 標識列1.實體完整性 每個表中有乙個必須要指定的字段,主要依賴主鍵約束 2.區域完整性 針對表中的某個字段進行特殊化限制,主要依賴剩餘的約束 3.參照完整性 表與表之間的一種特殊化關聯限制,主要依靠外來鍵約束 什麼是約束 使用約束 鍵的作用來維護資料表的完整性 約束有哪些 自增約...

資料庫 維護資料的完整性 約束

維護資料的完整性 約束 約束包括 not null 非空 可以為 不能為null 如果在列上定義了not null 那麼當插入資料時,必須為列提供資料 unique 唯一的當定義了唯一約束後,該列值是不能重複的,但是可以為null但最多只能有乙個null primary key 主鍵 一張表最多只能...