第二章 关系数据库
2.1 关系数据结构及形式化定义 关系数据结构及形式化定义
2.1.1 关系
笛卡尔积
笛卡尔积 | 给定一组域D1,D2,D3……Dn,(允许某些域是相同的)。两两集合的乘积,所有排列组合的总和,可以表示为一张二位表,表中的每行对应笛卡尔积的一个元素,表中每列对应一个域 |
---|---|
元组 | 表中的一行 |
分量 | 表中的单个元素(值) |
基数 | 排列组合的总个数,也就是笛卡尔积中元组的个数 |
交换? | 笛卡尔积不满足交换律D1D2≠D2D1 |
关系
笛卡尔积中取出的有实际意义的元组来构造的关系(二维表)
笛卡尔积的有限子集
属性:列名
码:
候选码 | 某一(多个)属性值能唯一确定一个元组,该属性组为候选码 |
---|---|
全码 | 所有的属性是候选码,所有属性算上才能决定一条元组 |
主码 | 若一个关系有多个候选码,选定一个为主码 |
主属性 | 候选码的各个属性 |
非主属性、非码属性 | 除了主属性之外的属性 |
基本关系的性质:
- 列同性质、顺序无所谓、任意两个元组不能完全相同、最小分量
2.1.2 关系模式
对关系的描述就是二维表结构
2.1.3 关系数据库
所有关系的集合构成的一个关系数据库
.关系数据库的型: 关系数据库模式,是对关系数据库的描述。 关系数据库模式,是对关系数据库的描述。
• 关系数据库的值: 关系模式在某一时刻对应的关系的集合,通
常称为关系数据库。
2.2 关系操作
常用的关系操作
• 查询操作:选择、投影、连接、除、并、差、交、
笛卡尔积
选择、投影、并、差、笛卡尔基是5种基本操作 种基本操作
• 数据更新:插入、删除、修改
关系操作的特点
• 集合操作方式:操作的对象和结果都是集合, 一次
一集合 的方式
2.3 关系的完整性
• 实体完整性 (必须满足)
若属性A是基本关系R的主属性,则属性A不能取空值(不知道,不存在,无意义)的值。实体完整性规则规定基本关系的所有主属性都不 能取空值
• 参照完整性(必须满足)
参照完整性要求关系中不允许引用不存在的实体。即参照的关系中的属性值必须能够在被参照关系找到或者取空值
-
关系间的引用(一对多、多对多【学生实体及其内部的领导联系】)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0T8cEIo2-1584629823898)(C:/Users/ASUS/AppData/Roaming/Typora/typora-user-images/1583810825365.png)]
学生关系引用了专业关系的主码“专业号”。 学生关系中的“专业号”值必须是确实存在的专业
2.外码
在参照关系R中的候选键中的一个属性(不是其主键),中选一个对应被参照关系中的主键,则选出来的那个叫外码)
外码必须是本关系的一个或一组属性;
外码不是本关系的码;
外码与另一个关系(可能是同一关系)的主码相对应;
• 用户定义的完整性
- • 唯一值约束(UNIQUE);
- • 非空值约束(NOT NULL);
- • 检查约束(CHECK);
- • 缺省值约束(DEFAULT)。
2.4 关系代数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c7rWiuRK-1584629823918)(C:/Users/ASUS/AppData/Roaming/Typora/typora-user-images/1583823797567.png)]
广义笛卡尔积
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aUREzo0L-1584629823922)(C:/Users/ASUS/AppData/Roaming/Typora/typora-user-images/1583824059644.png)]
专门的关系运算
关系运算 | 说明 |
---|---|
选择 | 选择又称为限制。它是在关系R中选择满足给定条件的各元 组从行的角度进行的运算,记作σF(R)={ t∈R ∧ F(t)=‘真’} |
投影 | 关系R上的投影是从R中选择出若干属性列组成新的关 系。从列的角度进行的运算,有可能删除某些元组,避免重复,记作: ΠA(R)={t[A] |t ∈R } |
连接 | θ连接是从两个关系的笛卡尔积中选取属性间满足一定 条件的元组。这种运算形式称作θ连接,记作: ![]() ![]() |
除 | 把它看作寻找供应商 |
实例
选择:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XDzg19HF-1584629823930)(C:/Users/ASUS/AppData/Roaming/Typora/typora-user-images/1584020319225.png)]
投影:
连接:
步骤一(1)求R×S;(2)选择R中属性A和S中属性B满足条件的元组组成新关系即为连接运算的结果。
等值连接:即[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U9GPTDof-1584629823935)(C:/Users/ASUS/AppData/Roaming/Typora/typora-user-images/1584021978301.png)]
自然连接:
一种特殊的等值连接,它要求两个 关系中进行比较的分量必须是相同的属 性组,并且 在结果中把重复的属性列去掉
悬浮元组:
自然连接时,舍弃的元组
外连接:
- 如果把悬浮元组也保存在结果关系中,而在其他属 性上填空值(Null),就叫做外连接
- 左外连接:只保留左边关系R中的悬浮元组
- 右外连接: 只保留右边关系S中的悬浮元组
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cPpXeQcx-1584629823942)(C:/Users/ASUS/AppData/Roaming/Typora/typora-user-images/1584022410403.png)]
除运算:
综合举例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QLJdFQCC-1584629823952)(C:/Users/ASUS/AppData/Roaming/Typora/typora-user-images/1584023035682.png)]
[外链图片转存中…(img-QLJdFQCC-1584629823952)]