MySQL数据完整性

数据完整性是指数据的正确性与相容性,是为了防止数据库存在不正确的数据。定义了完整性约束以后,MySQL的服务器可以随时检测处于更新状态的数据库的内容是否符合完整性约束用于保证数据的一致性与正确性,从而防止数据的意外破坏以及提高相应的效率。

关系模型提供了实体完整性、参照完整性以及用户定义完整性3项规则。

1. 实体完整性

实体是一个数据对象,是指客观存在的并可以相互区分的事物。在数据库中,实体表现为一条记录,必须遵守实体的完整性。

实体完整性的主要内容是:主键不能为空,即关系的主属性不能为空。在MySQL中,实体完整性的实现通过主键约束与候选键约束来实现。即主键应该满足以下的规则:

  • 每个表只能定义一个主键
  • 主键的唯一性
  • 最小化原则:复合主键不应当包含多余的列

候选键约束:

某一属性集能够唯一标示相应的元组,其为候选键。主键必须是唯一的,但是候选键可以是很多个。 

2. 参照完整性

参照完整性的规则要求,外键与主键的引用规则。

目前只有InnoDB支持外键

3. 用户定义完整性

非空约束,CHECK约束,触发器

CHECK约束:检查是否符合相应的语言要求。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值