一、前言
本文将总结有关关系完整性约束和关系操作的知识点
二、概述
- 关系模型的完整性规则是对关系的某种约束条件
- 目的:保证数据库中数据的正确性和相容性
- 实体完整性和参照完整性是关系模型必须满足的完整性约束条件,称为关系的两个不变性
三、实体完整性
1.定义
- 主码的值不能为空或者部分为空
- 空:不知道/不存在/无意义的值
列如:
1.学生(学号,姓名,性别,专业号)这个关系中学号是主码,那么学号就不能为空
2.学生课程(学号,课程号,成绩)这个关系中学号+课程号是主码,那么学号和课程号都不能为空
2.说明
- 实体完整性规则是针对基本关系而言的
- 现实世界中实体是可区分的
- 关系模型中以主码为唯一性标识
- 主码中属性不能取空值
四、参照完整性
1.定义
如果属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须:
- 或取空值(F中每个属性都为空值)
- 或等于S中某个元组的主码值
2.说明
例如:给出如下两种关系
专业信息表
专业号 | 专业名称 |
zy01 | 软件工程 |
zy02 | 物联网工程 |
zy03 | 计算机科学与技术 |
zy04 | 信息系统与信息管理 |
学生信息表
学号 | 姓名 | 专业号 |
001 | 张三 | zy03 |
002 | 李四 | |
003 | 王五 |
从上一篇文章【关系模型知识点总结(1)—— 关系数据结构】中的有关【外码】的知识点可以知道:专业号是学生关系中的外码,所以在学生关系中的专业号这个属性的值要么为空:没有专业,要么不为空:填入专业关系中的专业号的值(zy01/zy02/zy03/zy04)
五、用户定义完整性
- 针对某一具体关系数据库的约束条件,反应某一具体应用所设计数据必须满足的语义要求
- 关系模型应提供定义和检验这类完整性机制,以便用统一的系统方法处理他们,而不需要由应用程序承担
六、关系操作
1.基本关系操作
- 查询
- 插入
- 删除
- 修改
2.特点
- 操作的对象和结构都是集合
3.关系数据语言
1️⃣关系代数语言
- 用对关系的运算来表达查询要求
2️⃣关系演算语言
- 用谓词来表达查询要求
- 元组关系演算语言:谓词变元基本对象是元组变量(APLHA、QUEL)
- 域关系演算语言:谓词变元的基本对象是域变量(QBE)
3️⃣具有关系代数和关系演算双重特点的语言
- SQL
七、结语
下一篇文章会讲述有关关系操作中的关系代数部分知识点