我們直接開門見山,首先我們先來確定什麼是約束:資料表的約束是在表中定義的用於維護資料庫完整性的一些規則。那麼約束的作用也就很明顯了,我們可以通過表中的列定義約束可以防止將錯誤的資料插入表中,也可以保持表之間資料的一致性。接下來我們來了解幾個概念:
實體完整性:規定表的每一行在表中是惟一的實體。又稱行完整性,要求在表中不能存在完全相同的行。通過primary key(主鍵)、unique(唯一約束)、identity(標識字段)實現。
參照完整性:又稱引用完整性。指表間的規則,作用於有關聯的兩個或兩個以上的表, 通過使用主鍵和外來鍵(或唯一鍵)之間的關係, 使表中的鍵值在相關表中保持一致。通過 foregin key(外來鍵)實現。
使用者自定義完整性:指針對某一具體關聯式資料庫的約束條件,它反映某一具體應用所涉及的資料必須滿足的語義要求。 通過not null(非空)、default(預設)、check(檢查)實現。
我們來看一下約束的分類:
主鍵約束:
主鍵約束具體使用如下圖所示:
由圖中我們可知,建立主鍵約束有兩種途徑,一種是在建立表時同步建立主鍵約束,另外一種是表建立完成以後我們再建立主鍵約束。以學生表(student)為例:
建立表時建立主鍵約束:
create建立表成功後建立主鍵約束:table
student
( id
intprimary
key--
primary key就是建立主鍵約束的關鍵字
)
alter需要注意的是表建立完成以後建立約束屬於修改表,所以需要以alter table 開頭表示修改表,add constraint是新增約束的關鍵字,pk_student_id是建立約束的名字,primary key表示約束的種類,括號裡面的id表示在id列上建立約束。table student add
constraint pk_student_id primaert
key(id)
資料庫,表的建立 主鍵,外來鍵,check約束
看這一篇文章,例如 圖書 書號,書名,出版社 讀者 卡號,姓名,年齡,所屬單位 借閱 書號,卡號,借閱日期 建立表 use shu create table tushu 建立表 建立列開始 shuid int constraint pk shuid primary key,編號 型別int 主鍵 s...
資料庫表約束的建立
資料庫中約束 約束的目的 確保表中資料的完整性 1.常見的約束型別 a 主鍵約束 primary key constraint 要求主鍵列資料唯一,並且不允許為空 b 唯一約束 unique constraint 要求該列唯一,允許為空,但只能出現乙個空值。c 檢查約束 check constrai...
oralce資料庫表刪除主鍵約束
主鍵約束的建立有兩種情況 有名型和無名型,1 有名型 create table students studentid int studentname varchar 8 age int,constraint yy primary key studentid 或者 create table nbia ...