必須のSQL文(八)データベースの完全性制約
エンティティ完全性
1.表を作る時にメインキーを定義する
Createテーブル名
(
Sno int identity(1,1)は、
Sname nvarhar(20)
--メインキーの設定
Primary key(Sno)
)
2.メインキーの追加
アレタテーブル名
add constrant PK_名を表す_Sno
primary key(id)
完全性1.表を作るときに外キーを定義する
createテーブル名
(
sno int identity(1,1)prmary keyは、
cno int not null、
foreign key(cno)References
表名2(Cno)
on Delete cascade --カスケード削除
on udate cascade --カスケード更新
-- on delete on action 管制を解除する
)
2.外キーの追加
アレタテーブル名
add constrant FK_名を表す_テーブル名2
Foreign key(cid)references表名2(cid)
ユーザ定義の完全性1.非空制約
アレタテーブル名
alter column name varhar(20)not null
2.一意制約
アレタテーブル名
add constration UQ_名を表す_列名unique(列)
3.制約をチェックする
アレタテーブル名
add constrant CK_名を表す_列名check(age>5)
4.デフォルトの制約
アレタテーブル名
add constrant DF_名を表す_列名default('男')
for gender
制約を削除 --制約を削除
alter table表名drop constrant DF_名を表す_列
1.表を作る時にメインキーを定義する
Createテーブル名
(
Sno int identity(1,1)は、
Sname nvarhar(20)
--メインキーの設定
Primary key(Sno)
)
2.メインキーの追加
アレタテーブル名
add constrant PK_名を表す_Sno
primary key(id)
完全性1.表を作るときに外キーを定義する
createテーブル名
(
sno int identity(1,1)prmary keyは、
cno int not null、
foreign key(cno)References
表名2(Cno)
on Delete cascade --カスケード削除
on udate cascade --カスケード更新
-- on delete on action 管制を解除する
)
2.外キーの追加
アレタテーブル名
add constrant FK_名を表す_テーブル名2
Foreign key(cid)references表名2(cid)
ユーザ定義の完全性1.非空制約
アレタテーブル名
alter column name varhar(20)not null
2.一意制約
アレタテーブル名
add constration UQ_名を表す_列名unique(列)
3.制約をチェックする
アレタテーブル名
add constrant CK_名を表す_列名check(age>5)
4.デフォルトの制約
アレタテーブル名
add constrant DF_名を表す_列名default('男')
for gender
制約を削除 --制約を削除
alter table表名drop constrant DF_名を表す_列