数据库完整性约束和三大范式

完整性约束主要表现在参照完整性和实体完整性 ;
实体完整性是用来约束表内数据完整性的,主要体现在对主键的约束上,即主键的唯一性约束并且不能为空,即每个主键只能引用唯一一条数据。
参照完整性是用来约束有关系的表之间数据的完整性的,简单可以描述为一个实体不能引用另外一个不存在的实体。

三大范式,简单来说:
第一范式,列的原子性。即列属性不可以再拆分为其他的属性。但是经常有些资料上提到,关系型数据库不存在此问题,我觉得也未必,因为如果你的表中有个ADDRESS的属性,而此时业务的关注点需要细分成省,市。那么此时这个字段的设计是否就违反了第一范式的约束呢。
第二范式,不存在对主关键字的部分依赖,此种约束只会存在于有联合主键的表中,即非主属性不能依赖于主关键字的一部分。满足此范式的前提是已经满足第一范式。
第三范式,即不存在非关键字段对任一候选关键字段的传递依赖,即每个字段必须直接依赖于主键。满足此范式的前提是已经满足第二范式。


为了实施参照完整性,在实际的sql执行中可以使用级联引用完整性约束来保证。

具体方案,可参阅:http://msdn.microsoft.com/zh-cn/library/ms186973.aspx。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值