数据库设计-约束

数据库约束是为了保证数据的完整性(正确性)而实现的一套机制。主要分为五大约束:

  1. 主键约束(Primay Key Coustraint): 唯一性,非空性
1
2
3
# 添加主键约束(将UserId作为主键)
alter table UserId
   add constraint PK_UserId primary key (UserId);
  1. 唯一约束 (Unique Counstraint):唯一性,可以空,但只能有一个
1
2
3
# 添加唯一约束(身份证号唯一,因为每个人的都不一样)
alter table UserInfo
   add constraint UQ_IDNumber unique(IdentityCardNumber);
  1. 检查约束 (Check Counstraint):对该列数据的范格式的限制(如:年性别等)
1
2
3
4
5
# 添加检查约束 (对年龄加以限定 20-40 岁之间)
alter table UserInfo
   add constraint CK_UserAge check (UserAge between 20 and 40);
alter table UserInfo
   add constraint CK_UserSex check (UserSex=’男’ or UserSex=’女′);
  1. 默认约束 (Default Counstraint):该数据的默认值
1
2
3
# 添加默认约束(如果地址不填 默认为“地址不详”)
alter table UserInfo
   add constraint DF_UserAddress default (‘地址不详’) for UserAddress;
  1. 外键约束 (Foreign Key Counstraint):需要建立两表间的关系并引用主表的列
1
2
3
# 添加外键约束 (主表 UserInfo 和从表 UserOrder 建立关系,关联字段 UserId)
alter table UserOrder
   add constraint FK_UserId_UserId foreign key(UserId)references UserInfo(UserId);