02-关系模型
基础概念
域:具有相同数据类型的值的集合。(取值范围)
笛卡尔积
笛卡尔积:给定一组域,它们的笛卡尔积是
元组:笛卡尔积中的元素
分量:每个元素中的
基数:元组的个数,
笛卡尔积的表示方法:二维表,行是元组,列是域
关系
关系:的子集,叫做在域上的关系,表示为
:关系名
:关系的度,元关系
元组:关系中的每个元素,用表示
也可用二维表表示
属性:每一列的名字
码
候选码 Candidate Key:唯一标识元组的属性集,且其任意真子集都不能唯一标识元组
主码:选定多个候选码中的一个
主属性:主码中的属性
外码:表中的属性,引用另一表的主码
关系的类别
基本关系:实际存在的表,实际储存数据的逻辑表示
查询表:查询结果对应的表
视图表:由基本表或其他视图表导出的表,是虚表,不对应实际储存的数据
基本关系的性质
列是同质的:每一列中的分量来自同一个域
不同的列可以出自同一个域:不同列的定义域可能相同
行、列的顺序无关紧要
任何两个元组的候选码不能相同
分量必须取原子值:每一个分量都是不可再分的数据项
关系模式
对关系的描述,静态的、稳定的
关系是动态的
定义:
:关系名
:属性名
:属性的域
:属性向域的映像集合
:属性间的数据依赖关系
可简记为 或 , 是属性名
关系数据库
所有关系的集合构成关系数据库
关系数据库的型: 关系数据库模式,是对关系数据库的描述
关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库
关系的完整性
实体完整性:主属性非空(不存在、无意义的数据)
参照完整性:当关系的外码引用关系的主码时,的每个元组的外码值必须是的某个元组的主码值或空值
用户定义完整性:用户自定义的完整性约束
关系操作 & 关系代数
集合运算
并:, 和 的属性、目数必须相同
交:, 和 的属性、目数必须相同
差:, 和 的属性、目数必须相同
笛卡尔积
:目关系,个属性
:目关系,个属性
:目关系,个属性
: 和 的连接
关系运算
选择(行的运算):, 是布尔表达式(返回真或假),筛选满足 的元组
投影(列的运算):, 是属性名,筛选 对应的列
可能会导致行的减少:列删除后可能会产生重复的元组
连接:
在笛卡尔积后,选择符合条件,即为真的元组
等值连接: 是等于号,比较两个属性的值是否相等(不合并相同属性列)
自然连接:特殊的等值连接,合并 和 的相同属性列
悬浮元组 Dangling tuple:在自然连接中, 中某些元组有可能在中不存在公共属性上值相等的元组,导致 中的元组被舍弃
外连接:保留悬浮元组,空值填充
NULL
左/右外连接:只保留左/右表的悬浮元组,悬浮元组中右/左表独有的属性置为
NULL
除(行和列的运算):, 和 是属性名
有属性和,有属性,,和的域相同
找出满足所有的(的象集能够包含)
在中的象集:
最后更新于