您的位置:首页 > 其它

关系代数

2017-03-12 00:41 134 查看

什么是关系代数

1、概念

关系代数是一种抽象的查询语言,用对关系的运算来表达查询。

2、分类

关系代数可以分为传统的集合运算和专门的关系的关系运算两类。

集合运算符含义
×笛卡儿积
关系运算符含义
σ选择
Π投影
连接连接
÷

集合运算符

分为并、差、交、笛卡儿积4种。

进行集合运算的前提是关系R和关系S具有相同的目n,且相应的属性取自同一个域。

1、并 : R∪S = { t| t∈R ∨ t∈S }



2、差 : R-S = { t| t∈R ∨ t∉S }



3、交 : R∩S = { t| t∈R ∧ t∉S }



4、笛卡儿积 :



专门的关系运算

象集

在一个关系R(X,Z)中,X和Z为属性组,X的象集是指R中属性组X上值为x的诸元组在Z上分量的集合。

例如:

R

XZ
x1z2
x1z3
x1z1
x2z2
x2z3
在这个表中x1在R的象集Zx1={Z1,Z2,Z3}

1、选择 (从行的角度进行的运算)

选择运算是根据某些条件挑选出元组(即行)。

σF(R) = {t|t∈R∧F(t)= ‘真’}

F是一个选择条件,即从R中选出满足F为真的行。

2、投影 (从列的角度进行的运算)

投影的作用是在表R中选择出相关的属性组成新的关系(即列)。

ΠA(R) = { t[A] | t∈R }

投影是对列的选择,值得注意的是,如果这一列中有重复的元组,则应该删掉多余的,只留下一个。

3、连接

(连接的符号太难表示了呜呜呜。。。)

(1) 等值连接

从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组。



(2) 自然连接

自然连接是一种特殊的等值连接,a.两个关系中进行比较的分量必须是相同的属性组 b.在结果中把重复的属性列去掉。



概念太抽象,举个栗子就好了:







在R×S 中挑选符合C<E的元组



悬浮元组、外连接、左外连接、右外连接

悬浮元组:在R与S做自然连接的时候,被舍弃的元组称作悬浮元组。

举个栗子:

左表R:

姓名住址年龄
张三河大22
李四苹果园23
王五堌门村21
赵六幸福里23
右表S:

姓名单位薪酬
张三腾讯2000
李四阿里2300
朱小明网易1900
赵六滴滴2900
外连接:(保留两个表上的悬浮元组)

姓名住址年龄单位薪酬
张三河大22腾讯2000
李四苹果园23阿里2300
赵六幸福里23滴滴2900
王五堌门村21NULLNULL
朱小明NULLNULL网易1900
左外连接:(保留左表的悬浮元组)

姓名住址年龄单位薪酬
张三河大22腾讯2000
李四苹果园23阿里2300
赵六幸福里23滴滴2900
王五堌门村21NULLNULL
右外连接:(保留右表的悬浮元组)

姓名住址年龄单位薪酬
张三河大22腾讯2000
李四苹果园23阿里2300
赵六幸福里23滴滴2900
朱小明NULLNULL网易1900
4、除运算

下一次课后补

今天课上的小练习,很简单:

1、查询在Student表中CS系的学生。

2、查询Student表中学号属性。

3、查询Student表中CS系的学生的学号。

4、在Student表中查询SC表中成绩大于等于90的学生的姓名。

(《数据库系统概论》P52表)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class