学习重点
- 关系数据结构
- 关系代数
- 关系完整性
目录
2.1关系数据结构
2.1.1关系的数学定义
域
具有相同数据类型值的集合
整数域、性别:{男、女}
笛卡尔积
笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能的其中有序对一个成员。
给出三个域:
D1=SUPERVISOR = { 张清玫,刘逸 }
D2=SPECIALITY={计算机专业,信息专业}
D3=POSTGRADUATE = {李勇,刘晨,王敏}
则D1,D2,D3的笛卡尔积为D:
D=D1×D2×D3 ={(张清玫, 计算机专业, 李勇), (张清玫, 计算机专业, 刘晨),
(张清玫, 计算机专业, 王敏), (张清玫, 信息专业, 李勇),
(张清玫, 信息专业, 刘晨), (张清玫, 信息专业, 王敏),
(刘逸, 计算机专业, 李勇), (刘逸, 计算机专业, 刘晨),
(刘逸, 计算机专业, 王敏), (刘逸, 信息专业, 李勇),
(刘逸, 信息专业, 刘晨), (刘逸, 信息专业, 王敏)}
这样就把D1,D2,D3这三个集合中的每个元素加以对应组合,形成庞大的集合群。
基数=2*2*3=12
元组Tuple
笛卡尔积中的每一个元素(d1,d2,d3,...,dn)叫做一个n元组,简称元组。
关系中的每个元素是关系中的元组。
属性
关系中不同列可以对应相同的域,为了加以区分,对每个列起了一个名字,称为属性。
元数
关系中属性的个数。
分量
笛卡尔积元素(d1,d2,d3,...,dn)中的每一个di叫做一个分量。
基数
关系中元祖的个数。
关系
笛卡尔乘积中D1*...Dn的任意一个子集称为一个定义在域D1、...、Dn上的关系
关系术语 | 一般表格的术语 |
关系名 | 表头 |
关系模式 | 表头/关系的描述 |
关系 | 二维表/表格 |
元组 | 记录/行 |
属性 | 列 |
属性名 | 列名 |
属性值 | 列值 |
分量 | 一条记录中的一个列值 |
非规范关系 | 表中有表/大表中有小表 |
三类关系
基本关系(基本表/基表)
实际存在的表,是实际存储数据的逻辑表示。
查询表
查询结果对应的表。
视图表
由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
基本关系的性质
- 列是同质的 该写姓名的表格就不要写年龄
- 不同的列可出自同一个域 表格中可以有两个内容相同的列,但是属性要不同,比如姓名和姓名2/曾用名
- 列的次序可以任意交换
- 任意两个元组不能完全相同 不可出现重复的元组
- 行的次序可以任意交换
- 分量必须取原子量
2.1.2对数学定义的限定和扩充
无限关系在数据库系统中是无意义的。因此,我们限定关系数据模型中的关系必须是有限集合。
我们通过为关系的每个域附加一个属性名的方式取消关系元祖的有序性
关系模式和关系的关系难顶啊,能懂我意思就行
- 关系模型是型,关系是值
- 关系模式是对关系的描述
元组集合的结构:简单理解为x、x的值域、F(x)
- 属性构成
- 属性来自的域
- 属性与域之间的映像关系
完整性约束条件
- 实体完整性
- 参照完整性
- 用户定义的完整性
关系模式
我们通常形象的将关系模式表示成:R(U,D,DOM,F),简记为R(U)或R(A1,A2,...,An)
R 关系名
U 组成该关系的属性名的集合
D 属性组U中的属性所来自的域
DOM U到D的映像集合
F 属性间数据依赖关系集合
A1,A2,...,An 属性名
2.2关系操作
关系操作的特点
操作的对象和结果都是集合。
关系模型中常用的关系操作包括查询操作和插入、删除、修改操作。
查询操作又分为选择、投影、并、差、笛卡尔积(基本操作);交、连接、商(附加操作)。
关系运算:
代数方式:关系代数
逻辑方式:关系演算
关系代数和关系演算是一种抽象的查询语言,用于评估实际系统中查询语言能力的标准或基础,是研究关系数据语言的数学工具。并、交、差、笛卡尔积(传统集合操作);选择、投影、连接、商(专门操作)
2.3关系完整性
2.3.1相关概念
候选码:能唯一标识关系中元组的属性或属性组。
候选码具有唯一性和最小性。
全码:最极端的情况:关系模式中的所有属性组是这个关系模式的候选码。
主码:当一个关系中有许多的候选码,我们就选择其中一个作为主码。
主属性:包含在候选码中的属性。
非主码属性:不包含在候选码中的属性。
外码:F是基本关系R 的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码,如果F与基本关系S的主码Ks相对应,那么F就是R的外码。
2.3.2完整性约束规则
1.实体完整性约束
2.参照完整性
3.用户定义完整性
2.4关系代数
关系运算:
代数方式:关系代数
逻辑方式:关系演算
关系代数和关系演算是一种抽象的查询语言,用于评估实际系统中查询语言能力的标准或基础,是研究关系数据语言的数学工具。
并、交、差、笛卡尔积(传统集合操作);选择、投影、连接、商(专门操作)
并、交、差
属性类型、数目相同才能进行并交差运算,多目运算。
笛卡尔积
笛卡尔积不要求数目相同,多目运算。
选择
连接
在笛卡尔积的基础上有选择的运算