约束

主键 (PRIMARY KDY)
主键是为了约束数据唯一性而建立的值,不能为空值。主键值可以是和业务,也可以和逻辑相关的。
像银行卡号,身份证号码等和业务相关属性的就是业务主键;反之就是逻辑主键了,像用IDENTITY属性建立的递增字段,全局标识符(GUID)。
定义主键。


唯一性约束(UNIQUE)
唯一性约束的功能和主键相似,不同是一张表可以定义多个,而且可以为空值。


外键 (FOREIGN KEY)
外键就是约束主表中某列的值必然和从表某列值一致,和主键不同外键的值不是唯一的,也可以为空,当然前提是从表中有这个值。
比如说一个顾客“有”多个订单,一个订单“属于”一个顾客。顾客和订单之间的关系就是一对多的关系了。
一张表可以存在多个外键。


创建约束时给它取一个名字是一个好习惯。
----增加约束
CREATE TABLE myT(id int not null
,MyT2ID int not null
,age int null
,SNO nvarchar(50) not null
,Name nvarchar(50) default 'celly'
,constraint primaryID primary key(id)
,constraint foreignName foreign key(MyT2ID) references myT2(id)
,constraint checkName check(age<15 and age<30)
,constraint uniqueName unique(SNO)
)


--增加约束
alter table myT3 add constraint PK_myT3ID primary key(id)
alter table myT3 add constraint foreignName foreign key(MyT2ID) references myT2(id)
alter table myT3 add constraint checkName check(age<15 and age<30)
alter table myT3 add constraint uniqueName unique(SNO)


--删除约束
alter table myT3 drop constraint primaryID
alter table myT3 drop constraint foreignName
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值