笛卡尔积、除、(外)连接等重要关系代数求解方法 概述

来源:互联网 发布:linux系统常用命令大全 编辑:程序博客网 时间:2024/06/05 00:20

     关系代数 这部分知识,在软考-数据库部分是比较重要的。

      有五种基本的关系代数运算,并(符号为V)、差(符号为^)、投影(clip_image002)、笛卡尔积、选择,补充关系代数运算有,交、连接、除、广义投影、外连接。

 

      1、笛卡尔积 ,从数学角度理解,就是将集合A和集合B中所有有序对元素集合。

      例如:假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)} 。即若R有k1个元组,S有k2个元组,则关系R和S的笛卡尔积有k1*k2个元组。

      全码:关系模式中所有属性组都是这个关系模式的候选码。

clip_image004

 

      2、投影 ,这里从定义看,投影和选择 都是根据给定的条件来对元组进行选择性组成,最大的不同就是前者以列为基点,后者以元组行为基点。

clip_image006

 

      3、选择

clip_image008

 

      4、连接

clip_image010

      注意,连接运算的操作基础是两个关系的笛卡尔积。

     

 

      5、

clip_image012

按照上面的定义,我们来实战一下。

clip_image014

      标注:例1中关系R图第1列第2行改为a1 

      按定义,关系R(X,Y)和S(Y,Z)中R与S是根据Y属性关联起来的,对应到本题,X为关系模式R中除去Y(属性B)的属性集合­――A属性和C属性的组合,其实关系模式S中的Z是不鸟的――木用哈。

      X的象集clip_image016这样来求。在关系R图中,AC属性值组合配对B属性值,这样就有clip_image018 和 clip_image020

      关系S在Y上的投影为选取S上的Y 属性列,其值为(b1,b2)。

      那么, clip_image018满足对(b1,b2)的包含关系,即clip_image022为(a1c1 

 

6、外连接

clip_image024

      注意,运算的操作基础是两个关系R和S先做自然连接运算,选定两个关系中公共属性上相等的元组,再去掉重复的属性列。然后该考虑以上定义所述,做外连接即是将左侧关系中与右侧公共属性不等的元组值补填到结果元组集的左侧部分,结果元组集的右侧部分则为填null

      clip_image026

 

 

附:

clip_image028