怎麼樣保證數據的完整性

 

一  完整性包括: 

1.      實體完整性

         數據行不能存在重複,否則爲冗餘數據

 

2.      域完整性

           對輸入到特定列的數值的範圍限制,就是安全性!

 

3.      引用完整性(即參照完整性Reference)

           要求子表中的相關項必須在主表中存在

           如果建立了主表和子表的關係,則:  子表中的相關項目的數據,在主表中必須存在;

                                                             主表中相關項的數據更改了,則子表對應的數據項也應當隨之更改;

                                                             在刪除子表之前,不能夠刪除主表;

                                                             刪除主表中的數據必須先刪除從表的數據;

 

4.      自定義完整性

 

二     約束:

         約束的定義:確保表中數據的完整型

         一般的約束類型:

         主鍵約束(Primary Key Constraint):要求主鍵列數據唯一,並且不允許爲空

         默認約束(Default Constraint):某列的默認值,如國家我們默認的是“中國”

         檢查約束(Check Constraint):某列取值範圍限制、格式限制等,如有關年齡的約束

         唯一約束(Unique Constraint):要求該列唯一,允許爲空,但只能出現一個空值。

         外鍵約束(Foreign Key Constraint):用於兩表間建立關係,需要指定引用主表的那列

 

如下是對約束的語法使用:

  1.  alter table student add constraint  PK_sid primary key(sid) 對student表sid字段增加主鍵約束

 

  2.  alter table student add constraint  DF_sex default("男") for sex 對student表中的sex字段增加默認約束爲(男)

 

  3.  alter table student add constraint  CK_age check(age between 30 and 50);對錶中的年齡字段限制在30到50之間

 

  4.  alter table student add constraint  UNI_studentid unique(studentid) 每個人的學號只有一個,避免出現相同

 

  5.  alter table student add constraint FK_cno foreign key(cno) reference info(cno)參照信息表中的cno字段

刪除約束

alter table student drop constraint PK_sid primary;

 

 

 

發佈了41 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章