CAU数据库class3 关系型数据库基础
关系数据库模型的3个要素
数据结构
二维表
数据操作
特点
- 操作的对象为元组,操作的结果为元组
- 高度非过程化,用户不关系是怎么实现的
完整性约束
数据完整性是指保证数据真确的特性
- 实体完整性
- 参照完整性
- 用户定义完整性
关系的形式定义
例子:
关系模式通常可以简记为:R (U ) 或 R (A1, A2, …, An)
关系的基本性质
- 每一分量必须是不可分的最小数据项, 即每个属性都是不
可再分解的, 这是关系数据库对关系的最基本的限定。 - 列的个数和每列的数据类型是固定的, 即每一列中的分量
是同类型的数据, 来自同一个值域。 - 不同的列可以出自同一个值域, 每一列称为属性,
每个属 性要给予不同的属性名。 - 列的顺序是无关紧要的, 即列的次序可以任意交换, 但一
定是整体交换, 属性名和属性值必须作为整列同时交换。 - 行的顺序是无关紧要的, 即行的次序可以任意交换。
- 元组不可以重复, 即在一个关系中任意两个元组不能完全
一样。
关系模型的数据结构和基本术语
元组:每一行是一个元组
分量:元组中的一个属性值是其分量
关系模式:
关系数据库:关系模式的所有值就是关系数据库
候选关系字:唯一能标识一个关系的元组最小属性集;比如身份证编号。
主关键字:在候选关系中选一个
非主属性:不是候选关键字的属性
外关键字:对于两个表的情况
关系代数
传统集合运算符
交
略
并
略
差
略
笛卡尔集运算
专门的关系运算
选择运算
行筛选
例子:
投影运算
列筛选
例子:
连接运算
例子:
自然连接:
一个综合使用的例子:
悬浮元组:进行连接操作后,有些元组连接不上,这些被抛弃的元组被称为悬浮元组。
连接后:
学生表中的第三行被抛弃了,就成了悬浮元组
外联接
- 左外联接
- 右外联接
- 全外联接
全外联接
则左外联接以左侧为准,右外联接以右侧为准
除运算
三个完整性约束
实体完整性约束
- 主键必须唯一
- 主键不能为NULL
参照完整性约束
确保外键值必须匹配被引用表的主键值(或为 NULL)
用户定义完整性约束
用户根据自己需求指定,数值合理,范围合适。