2.1 关系数据结构及形式化定义
基本概念
1、域(domain)
是一组具有相同数据类型的值的集合
2、笛卡尔积
是域上的一种集体运算
一个域允许不同取值个数称为这个域的基数
3、关系
就是一个表,由于有符号不好打出来,就说一下,不好意思
若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称为属性组为候选码
若一个关系有多个候选码,则选定其中一个为主码
候选码的诸属性称为主属性,不包括在任何候选码中的属性称为非主属性,或非码属性
在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属于是这个的候选码,称为全码
关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表
基本关系具有以下6个性质:
1、列是同质的,即每一列中的分理是同一类型的数据,来自同一域。
2、不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
3、列的顺序无所谓,即列顺序是无关紧要的
4、任意两个 元组的候选码不能取相同的值
5、行的顺序无所谓,即每一个分量都必须是不可分的数据项
6、分量必须取原子值,即每一个分量都必须是不可分的数据项
2.1.2 关系模式
关系的描述称为关系模式。它可以形式化的表示为 R(U,D,DOM,F)
其中R为关系名、U为组成关系的属性名集合、D为U中属性所来自的域。DOM是属性向域的映像集合、F 为属性间数据的依赖关系集合
2.2 关系操作
2.2.1 基本的关系操作
关系模型中常用的关系操作包括查询、插入、删除、修改
查询又可以分为选择、投影、连接、除、并、差、交、笛卡尔积等、其中选择、投影、并、差、笛卡尔积是5 种基本的操作
关系操作的特点是集合操作方式,即操作的对象的结果都是集合
2.2.3 关系的完整性
关系模型中的三类完整性约束:实体完整性、参照完整性和用户自定义完整性
2.3.1 实体完整性
实体完整性规则:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
对于实体完整性规则说明如下:
1、实体完整性规则是针对基本表关系而言的。一个基本表通常对应现实世界一个实体集。
2、现实世界中的实体是可区分的。即它们具有某种唯一性标识。
3、相应地,关系模型中以主码作为唯一性标识
4、主码中的属性即属性不能取空值
2.3.2 参照完整性
定义: 设F是基本关系R的一个或一组属性,但不是关系R的码、K是基本关系S的主码。如果F与K相对应,则称为F是R是外码,并称基本关系R为参照关系,基本关系被参照关系或目标关系。
参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本准关系S的主码K相对应,则对于R中第一个元组F上的值必须:
1、或者取空值
2、或者等于S中某个元组的主码值
由于下面的有符号,不好表达,我用自己的大白话总结,不好意思了:
2.4 关系代数
1、并(union)
U并S: t属于U或者属于S
2、差(excepte)
R 差S:t属于R且不属于S
3、交
R交S:r属于R且也属于S
4、笛卡尔积
R笛卡尔S: R中任意与S任意进行组合
2.4.2 专门的关系运算
1、选择:就是对行进行操作,
2、投影:就是对列进行操作
3、连接运算
自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉
谢谢:你的足迹,我的成长