1.主鍵以學生表為例,給學號sno設定主鍵
在表內設定主鍵為:
create table student
( sno char(20) primary key,--學號
sname char(20),--姓名
*** char(20)--性別
)
在表外設定主鍵:
create table student
( sno char(20),--學號
sname char(20),--姓名
*** char(20)--性別
) go
alter table student
alter column sno char(20) not null
go
alter table student
add constraint pk_sno primary key(sno)
2.外來鍵
例:student表中的sclass參照class中的clno
alter table student
add foreign key (sclass)references class(clno)
3.非空約束
在表內:
create table student
( sno char(20) primary key,--學號
sname char(20) not null ,--姓名
*** char(20)--性別
)
表外:
例:設定學號為非空
create table student
( sno char(20),--學號
sname char(20),--姓名
*** char(20),--性別
) go
alter table student
alter column sno char(20) not null
4.唯一性約束
例:給student中的sno設定為唯一
alter table student
add constraint uq_sno unique(sno)
5.預設約束
例:為student表中的sps設定預設為:共青團員
alter table student
add constraint df_sps default '共青團員'for sps
6.檢查約束
例:約束學生表中的***只允許取:男或女
alter table student
add constraint ck_*** check(*** ='男'or *** ='女' )
7.刪除約束
例:刪除學生表中的***只允許取:男或女
alter table student
drop constraint ck_***
資料庫中的參照完整性(Foreign Key)
之前在專案中遇到了這樣乙個問題,我舉得簡單的樣例來說明。比方我們有兩個表,乙個表 department 存放的是部門的資訊,比如部門id,部門名稱等 還有乙個表是員工表 staff 員工表裡面肯定要存放每乙個員工所在的部門。那問題來了,假設我們這個時候刪除了部門表中的某條記錄,在staff表中會發生...
T SQL學習之路之資料庫完整性之參照完整性
表的一列或幾列的組合的值在表中唯一地指定一行記錄,擇這樣的一列或多列的組合作為主鍵可實現表的實體完整性,通過定義 primary key約束來建立主鍵。外來鍵約束定義了表與表之間的關係,通過將乙個表中一列或多列新增到另乙個表中,建立兩個表之間的連線,這個列就成為第二個表的外來鍵,通過定義 forei...
資料庫完整性
完整性約束條件 實體完整性給出了主鍵的取值的最低約束條件 規則是 主鍵的各個屬性都不能為空。參照完整性給出了在關係之間建立正確的聯絡的約束條件 規則是 外來鍵或者取空值 此時要求外來鍵的各個屬性均為空值 或者等於被參照關係中的主鍵的某個值。使用者自定義完整性 關係數控應用系統中的關係往往還應該滿足一...