(1)基本概念
① 属性和域:
每个事物有很多属性,每个属性对应的取值范围叫做域,所有对域都是原子数据(第一范式)
② 相关名词
n元关系:R(D1,D2,D3...Dn)是n元关系,其中关系属性的个数称为“元数”,元组的个数称为“基 数”,也就是记录值。
候选码:若关系中某一个属性或者属性组的值可以唯一的标识一个元组,则称为候选码
主码:可以选择任意一个候选码作为主码
主属性:包含在任何候选码中的属性叫作主属性
全码:关系模型中所有属性都是这个关系模型的候选码,称为全码
外码:关系模式中的属性非该关系的码,则称为外码
③ 三种类型:
基本表:实际存在的表
查询表:查询结果对应的表
视图表:由基本表和其他视图表导出的表,不是实际存在数据库中
④ 完整性约束:
实体完整性:主属性A不能为空值
参照完整性:用实体之间的关系来描述,若F是关系R的外码,则F或者是空值,或者是某个元组的 主码值
用户定义完整性:根据具体关系数据的约束条件,比如数据范围等
(2)关系五种基本运算
① 并:
R,S具有相同的关系模式(元素相同,结构相同),记为R U S,返回由R或者S元组构成的集合组成
② 差:
R,S具有相同的关系模式(元素相同,结构相同),记为R-S,右属于R但不属于S的元组组成
③ 广义笛卡尔积:
R×S由n目和m目的关系R,S组成一个(n+m)列的元组集合,若R有K1个元组,S有K2个元组,则R×S有K1*K2个元 组
④ 投影(π) :
从关系的垂直方向开始运算,选择关系中的若干列组成新的列。
⑤ 选择(σ):
选择从关系的水平方向进行元算,选择满足给定条件的元组组成新的关系。
(3)扩展的关系代数运算
① 交:
R∩S=R-(R-S),R,S具有相同的关系模式
② 链接:
链接分为θ链接,等值链接和自然链接
θ链接:从R,S的笛卡尔积中选择满足一定条件的元组
等值链接:当θ为“=”时为等值链接
自然链接:是一种特殊的等值链接,比较的分量必须是相同的属性组,并在结果集中去掉重复列,如果没有重复列,自然链接就转换为笛卡尔积
③ 除:
同时从水平方向和垂直方向进行运算,给定关系R(X,Y)和S(Y,Z),X,Y,Z为属性组,R÷S应当满足在X上的分量值x的像集Yx包含关系S在属性组Y上的投影集合:
例如:
R是:
A | B | C | D |
a | b | c | d |
a | b | e | f |
a | b | h | k |
b | d | e | f |
b | d | d | l |
c | k | c | d |
c | k | e | f |
S是:
C | D |
c | d |
e | f |
则R÷S:
A | B |
a | b |
c | k |
④ 广义投影:
广义投影运算容许在投影列表中使用算法运算,实现对投影运算的扩充,投影出的列不一定是原来的列,可以是通过计算出来的列。
⑤ 外连接:
由于自然链接会丢失一些信息,而外链接可以处理由于链接运算而缺失的信息,外链接分为左外链接、右外链接、全外链接。
左外链接:取出左侧关系中所有与右侧关系中任一元素都不匹配的元组,用null来填充右侧的关系 属性。
右外链接:取出右侧关系中所有与右侧关系中任一元素都不匹配的元组,用null来填充左侧的关系属性。
全外链接:完成左外链接和右外链接的操作。