美文网首页Data Science
关系代数的"除法"

关系代数的"除法"

作者: symsimmy | 来源:发表于2017-11-06 18:56 被阅读0次

1. 除法运算的定义:

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算可以得到一个新的关系P(X),P是R中满足下列条件的元组在X 属性列上的投影: 元组在X上的分量值x的像集Y(x)包含S在Y上的投影的集合。

2.求解步骤过程:

第一步:找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出);

第二步:被除关系R中与S中不相同的属性列是X,关系R在属性X上做取消重复值的投影;

第三步:求关系R中X属性对应的像集Y;

第四步:判断包含关系,R÷S其实就是判断关系R中X各个值的像集Y是否包含关系S中属性Y的所有值。

3.SQL中除法运算的实现

R(X,Y)÷S(Y,Z)的运算用结构化语言SQL 语句可表达为下列形式:

select distinct R.X from R R1
where not exists
(
select S.Y from S
where not exists
(
select * from R R2
where R2.X=R1.X and R2.Y=S.Y
)
)

4.例如下面的“完成”和“DB项目”和它们的除法:

完成÷DB项目

下面说说我自己的理解,如何通过关系代数的除法,得到最后的完成÷DB项目

完成(Student,Task)=R(X,Y)
DB项目(Task)=S(Y)

第一步:排除R(X,Y)中Y列中不包含S(Y)的行,得到:

Student Task
Fred Database1
Fred Database2
Eugene Database1
Sara Database1
Sara Database2

第二步:找出存在R(X,Y)中没有S(Y)中的项,即未完全包含S(Y)中的列元素,得到:

Student Task
Eugene Database1

第三步:排除R(X,Y)中,第二步中得到的行.即:

Student Task
Fred Database1
Fred Database2
Sara Database1
Sara Database2

第四步:得到R(X).即:

Student
Fred
Fred
Sara
Sara

第五步:消除重复.即:

Student
Fred
Sara

即得到最后结果:


参考文章:

新手村的0级玩家的文章:SQL语句实现关系代数中的“除法”
维基百科:关系代数-除法

相关文章

  • 关系代数的"除法"

    1. 除法运算的定义: 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中Y与S中的Y可以有不同的属...

  • 关系除法

    关系代数中除法的SQL实现 [TOC] 引言 关系代数中的运算主要有选择、投影、连接(或者说乘法,即笛卡尔积)、除...

  • SQL语句实现关系代数中的“除法”

    1. 除法运算的定义: 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中Y与S中的Y可以有不同的属...

  • 第四讲 关系模型之关系代数

    关系模型之关系代数 书写关系代数的基本思维训练: 一个集合, 施加一个集合, 依次施加关系代数操作, 进而得到所需...

  • 关系数据库--关系代数

    关系代数 关系代数是以关系为运算对象的一组高级运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数的操...

  • 掌握关系代数运算

    关系代数关系代数是以关系为运算对象的一组高级运算的集合。关系代数中的操作可以分为两类:传统的集合操作,并、差、交、...

  • 数据库Mooc笔记(4)关系代数

    什么是关系代数 关系代数运算的特点 (1)基于集合,提供了一系列的关系代数操作:并、差、笛卡尔积(广义积)、选择、...

  • Calcite optimizer

    代数 关系代数是方解石的核心。每个查询都表示为关系运算符树。您可以从SQL转换为关系代数,也可以直接构建树。 规划...

  • PostgreSQL 源码解读(16)- 查询语句#1(基础:关

    本文简单介绍了数据库系统实现中的数学基础-关系代数,包括关系代数的基本概念以及关系代数的运算如集合运算/投影/选择...

  • 整式的分类

    1代数式:就是有字母的式子(一般如果不是除法的话答题都是数字在前字母在后,除法的话就要变成最简分母形式。另外字母与...

网友评论

    本文标题:关系代数的"除法"

    本文链接:https://www.haomeiwen.com/subject/jctrmxtx.html