数据库原理(六)- 关系的完整性

数据库原理(六)- 关系的完整性

前言

关系模型的完整性约束规则是对关系的某种约束条件,是对现实世界的要求的反应,关系模型中有三类完整性约束:实体完整性参照完整性用户定义的完整性其中实体完整性和参照完整性是关系模型必须要满足的完整性约束条件,被称作是关系的两个不变性,而用户定义的完整性是应用领域需要遵循的约束条件,可以体现了具体领域中的语义约束

实体完整性

定义:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值(null),即一张表中的主码不可为空(null)

规则说明:

  • 实体完整性规则是针对基本关系而言的,就是只在基本表上使用
  • 现实世界中的实体是可区分的,即它们具有某种唯一性标识
  • 相应地,关系模型中以主码作为唯一性的标识
  • 主码中的属性即主属性不能取空值

参照完整性

定义:设F是基本关系R的一或一组属性,但不是关系R的码,Ks是基本关系的主码S的主码,如果F与Ks相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系

规则说明:

  • 外码可以为空
  • 且外码必须等于被参照属性的值
  • 同一基本表可以互相参照

如下面两张表可知,学号是学生表的主码,课程号是学生表的外码,参照了课程表的主码,课程表与学生表是被参照关系

学号(主码)姓名性别年龄课程号(外码)
1王五201
课程号(主码)课程名教授老师
1数据库张三

用户定义的完整性

用户针对某一现实应用程序的某些要求,对基本表进行添加特殊约束条件

用户定义的完整性约束条件主要有:

  • 列值非空(not null)
create table(
   name char(10) not null,
   ........

)
  • 列值为一(unique)
create table(
   name char(10) unique not null,
   ........

)
  • 检查列值是否满足一个条件表达式(check短语)
create table(
   name char(10) not null,
   sex char(2) ,
   ........
   check(sex='男' or sex= '女')
)

借鉴

王珊,萨师煊.数据库系统概论(第五版)[M].北京:高等教育出版社,2014:45-48.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知 不知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值