数据库系统概论 2.2关系数据结构和关系的完整性

一、基本关系操作

1.常用的关系操作

查询操作:选择、投影、连接、除、并、差、交、笛卡尔积
选择、投影、并、差、笛卡尔基是5种基本操作
数据更新:插入、删除、修改
查询的表达能力是其中最主要的部分

2.关系操作的特点

操作之前是二维表,操作后还是二维表,表的性质不发生变化
集合操作方式:操作的对象和结果都是集合,运算的结果也是集合

二、关系数据库语言的分类

## 1.

三、关系的完整性

关系模式有三类完整性约束:实体完整性,参照完整性,用户定义完整性

其中,实体完整性和参真完整性是关系模型必须满足的完整性约束条件,称为关系的两个不变性

3.1实体完整性

在这里插入图片描述

①主码非空
②主码不能 相同
③现实世界的主体是可以区分的,通过某种唯一标识进行区分,比如学号,身份证号
④基本关系的所有属性都不能为空

3.2参照完整性

3.2.1关系间的引用

在关系模型中实体及实体间的联系都是用关系来描述的,自然存在着关系与关系间的引用。
在这里插入图片描述

3.2.2 外码

主码和外码其实就是MySQL中的主键和外键

设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是R的外码
基本关系R称为参照关系(Referencing Relation)
基本关系S称为被参照关系(Referenced Relation)
或目标关系(Target Relation)
学生表可以说是参照关系,专业表就是被参照关系
在这里插入图片描述

①关系R和S不一定是不同的关系
②目标关系S的主码Ks 和参照关系的外码F必须定义在同一个(或一组)域上
③外码并不一定要与相应的主码同名
④当外码与相应的主码属于不同关系时,往往取相同的名 字,以便于识别
在这里插入图片描述
在这里插入图片描述

3.3用户定义的完整性

在这里插入图片描述

例:
课程(课程号,课程名,学分)
“课程号”属性必须取唯一值
非主属性“课程名”也不能取空值
“学分”属性只能取值{1,2,3,4}

猜你喜欢

转载自blog.csdn.net/qq_52797170/article/details/124556177