sqlserver数据库设计完整性与约束

Posted spinoza

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于sqlserver数据库设计完整性与约束的主要内容,如果未能解决你的问题,请参考以下文章

SQLServer约束介绍

sqlserver 约束

SQLServer约束介绍

书店管理系统课程设计( sql server+python)

在SQLServer使用触发器实现数据完整性

sqlserver数据库插入数据