数据库-关系代数(类型、完整性约束、基本运算、扩展运算)

来源:互联网 发布:sql identity_insert 编辑:程序博客网 时间:2024/05/22 17:35

(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来填充左侧的关系属性。

    全外链接:完成左外链接和右外链接的操作。

2 1
原创粉丝点击