3.笛卡尔积
设关系R和S的元数分别为r和s.定义R和S的笛卡尔积是一个(r+s)元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R×S.
若R有M个元组,S有n个元组,则R×S有m×n个元组。
4.选择
从关系中找出满足给定条件的所有元组称为选择。其中的条件是以逻辑表达式给出的,该逻辑表达式的值为真的元组被选取。这是从行的角度进行的运算,即水平方向抽取元组。经过选择运算得到的结果可以形成新的关系,其关系模式不变,但其中元组的数目小于或等于原来的关系中的元组的个数,它是原关系的一个子集。
记为:δF(R)≡{t∣t属于R∧F(t)=true}
5.投影
从关系中挑选若干属性组成的新的关系称为投影。这是从列的角度进行运算。经过投影运算可以得到一个新关系,其关系所包含的属性个数往往比原关系少,或者属性的排列顺序不同。如果新关系中包含重复元组,则要删除重复元组。
记为:∏A(R)={t[A]∣t属于R}?A为R中的属性列。
例如:∏3,1(R)
关系代数的四个组合操作
1.交
关系R和S的交是由属于R又属于S的元组构成的集合,记为R∩S.R和S要求定义在相同的关系模式上。
R∩S≡{t∣t属于R∧t属于S},R和S的元数相同。
2.联接
联接有两种:θ联接和F联接(θ是算术比较符,F是公式)。
⑴θ联接
θ联接是从关系R和S的笛卡尔积中选取属性值满足某一θ操作的元组,记为:
R︱×iθj︱S,这里i和j分别是关系R和S中第i个、第j个属性的序号。
R︱×iθj︱S≡δiθ(r+j)(R×S)
如果θ是等号“=”,该联接操作称为“等值联接”。
⑵F联接
F联接操作是从关系R和S的笛卡尔积中选取属性值满足某一公式F的元组,记为:
R︱×F︱S,这里的F是形为F1∧F2∧…∧Fn的公式,每一个f都是形为iθj的式子,而i和j分别是关系R和S中第i个、第j个属性的序号。
3.自然联接
两个关系R和S的自然联接用R︱×︱S表示。具体计算过程如下:
①计算R×S
②设R和S的公共属性是A1,……,Ak,挑选R×S中满足R .A1=S.A1,……,R.Ak=S.Ak的那些元组
③去掉S.A1,……,S.Ak的这些列。
如果两个关系中没有公共属性,那么其自然联接就转化为笛卡尔积操作。
4.除法
给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性上的投影:元组在X上分量值x的象集YX包含S在Y上投影的集合。
关系代数表达式及其应用实例
在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这种表达式的结果仍然是一个关系。可以使用关系代数表达式表示各种数据查询操作。
例题:设教学库中有三个关系:
学生关系S(S#,SNAME,AGE,SEX)?
学习关系SC(S#,C#,GRADE)
课程关系C(C#,CNAME,TEACHER)
下面用关系代数表达式表达各个查询语句
1.检索学习课程号为C2的学生学号与成绩。
2.检索学习课程号为C2的学生学号与姓名。
3.检索选修课程名为MATHS的学生学号与姓名。
4.检索选修课程号为C2或C4的学生学号。
5.检索至少选修课程号为C2或C4的学生学号。
6.检索不学C2课的学生姓名有年龄。
7.检索学习全部课程的学生姓名。
[1]
热点关注:
广东自考成绩查询【小程序查分】图文流程方式
广东省2020年1月自考成绩于3月31日公布