1. 程式人生 > >sqlserver資料庫設計完整性與約束

sqlserver資料庫設計完整性與約束

 1 use StudentManageDB
 2 go
 3 --建立主鍵約束
 4 
 5 if exists(select * from sysobjects where name='pk_StudentId')
 6 alter table Students drop constraint pk_StudentId
 7 alter table Students add constraint pk_StudentId primary key(StudentId)
 8 
 9 --建立唯一約束
10 if exists(select * from sysobjects where name=
'uq_StudentIdNo') 11 alter table Students drop constraint uq_StudentIdNo 12 alter table Students add constraint uq_StudentIdNo unique(StudentIdNo) 13 14 --建立檢查約束 15 if exists(select * from sysobjects where name='ck_Age') 16 alter table Students drop constraint ck_Age 17 alter table Students add constraint
ck_Age check(Age between 18 and 25) 18 19 if exists(select * from sysobjects where name='ck_PhoneNumber') 20 alter table Students drop constraint ck_PhoneNumber 21 alter table Students add constraint ck_PhoneNumber check(len(PhoneNumber)=11) 22 23 24 update Students set PhoneNumber='13099012876' where
StudentId=10000 25 select * from Students 26 27 --建立預設值 28 if exists(select * from sysobjects where name='df_StudentAddress') 29 alter table Students drop constraint df_StudentAddress 30 alter table Students add constraint df_StudentAddress default('地址不詳') for StudentAddress 31 32 insert into Students (StudentName,Gender,Birthday,Age,StudentIdNo ,PhoneNumber, 33 StudentAddress,ClassId) 34 values('李小璐','','1989-01-12',24,120229198901121315, '13099012876',default,1) 35 36 insert into Students (StudentName,Gender,Birthday,Age,StudentIdNo ,PhoneNumber, 37 ClassId) 38 values('李小璐','','1989-01-12',24,120229198901121316, '13099012876',1) 39 40 --外來鍵約束 41 insert into StudentClass (ClassId,ClassName) values(1,'軟體1班') 42 if exists(select * from sysobjects where name='fk_ClassId') 43 alter table Students drop constraint fk_ClassId 44 alter table Students add constraint fk_ClassId foreign key (ClassId) references StudentClass(ClassId) 45 46 select * from studentClass