文档章节

(四)数据库基础——关系代数运算之二元运算

Amui
 Amui
发布于 2015/05/31 22:07
字数 742
阅读 20
收藏 0
点赞 0
评论 0


member:

name

age

sex

Amui

3

f

Lily

5

f

Tom

7

m

 

student

stu_id

name

grade

111

Amui

1

222

Lily

2

333

Jane

1

444

Mark

3


  1. 并运算∪

    a)         关系是集合,所以重复值被去除。

    b)         做并运算的关系必须是相容的。即

            i.   关系rs是同元的,两个关系的属性数目必须相同,

            ii.  对于任意的ir的第i个属性的域必须和s的第i个属性的域相同。

Πname (member) ∪Πname (student)

name

Amui

Lily

Tom

Jane

Mark

 

2. 集合差运算-

        a)  集合差运算使我们可以找出在一个关系中存在而不在另一个关系中的那些元组。

        b)与并运算一样,参与差运算的两个关系必须是相容的。

Πname (member) -Πname (student)

name

Tom

 

3. 集合交运算∩

        a)       rs=r-(r-s)

Πname (member) Πname (student)

name

Amui

Lily

 

4. 笛卡尔积运算× Cartesian-product

        a) 通过笛卡尔积运算可以将任意两个关系的信息组合在一起。

member×student

member.name

age

sex

stu_id

student.name

grade

Amui

3

f

111

Amui

1

Amui

3

f

222

Lily

2

Amui

3

f

333

Jane

1

Amui

3

f

444

Mark

3

Lily

5

f

111

Amui

1

Lily

5

f

222

Lily

2

Lily

5

f

333

Jane

1

Lily

5

f

444

Mark

3

Tom

7

m

111

Amui

1

Tom

7

m

222

Lily

2

Tom

7

m

333

Jane

1

Tom

7

m

444

Mark

3

 

5. 自然连接运算(全外连接)

        a) 自然连接运算首先形成两个关系的笛卡尔积,然后基于两个关系模式中都出现的属性的相等性进行选择,最后去除重复性。 


Member自然连接student

member.name

age

sex

stu_id

grade

Amui

3

f

111

1

Lily

5

f

222

2

Tom

7

m

Null

null

Jane

null

null

333

1

Mark

null

null

444

3

 

6. 左外连接

Member左外连接student

member.name

age

sex

stu_id

grade

Amui

3

f

111

1

Lily

5

f

222

2

Tom

7

m

Null

null

 

7.右外连接

Member右外连接student

member.name

age

sex

stu_id

grade

Amui

3

f

111

1

Lily

5

f

222

2

Jane

null

null

333

1

Mark

null

null

444

3

 

 8. 除运算÷

摘抄自百度百科

R

A

B

C

a1

b1

c2

a2

b3

c7

a3

b4

c6

a1

b2

c3

a4

b6

c6

a2

b2

c3

a1

b2

c1

S:

B

C

D

b1

c2

d1

b2

c1

d1

b2

c3

d2

R÷S

A

a1

/*

(1) SR的共同属性,其元组看做整体 k

(2)选择R中包含k SR相同属性的 属性 即为R÷S

*/

解答如下:

在关系R中,A可以取四个值{a1,a2,a3,a4},其中:

a1的象集为:{b1,c2),(b2,c3),(b2,c1}

a2的象集为:{b3,c7),(b2,c3}

a3的象集为:{b4,c6}

a4的象集为:{b6,c6}

S在(B,C)上的投影为{(b1,c2),(b2,c3),(b2,c1)}

显然只有a1的象集(B,Ca1包含S在(B,C)属性组上的投影,所以R÷S={a1}





© 著作权归作者所有

共有 人打赏支持
Amui
粉丝 2
博文 73
码字总数 40380
作品 0
广州
程序员
《数据库系统概念》8-选择、投影等关系运算

关系代数 Relational Algebra中,一元运算符有选择select、投影project、重命名remane,其余的包括并运算union、集合差set diffetence、笛卡尔积cartesian product等为二元运算符。下面学习它...

zhixin9001 ⋅ 2017/11/28 ⋅ 0

《Java从小白到大牛精简版》之第6章 运算符(上)

Java语言中的运算符(也称操作符)在风格和功能上都与C 和C++极为相似。本章为大家介绍Java语言中一些主要的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符和其他运算符。 6.1 ...

tony关东升 ⋅ 2017/11/13 ⋅ 0

《从零开始学Swift》学习笔记(Day 10)——运算符是“ +、-、*、/ ”吗?

原创文章,欢迎转载。转载请注明:关东升的博客 运算符是用于执行程序代码运算,会针对一个或一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。那么“+、-、、/...

智捷课堂 ⋅ 2015/09/09 ⋅ 0

软考—软件设计师—第7章数据库技术基础

概念性的东西我总是很容易搞混,想着一边学习一边整理出来,如果这次没有考过的话下次还可以继续学习…… 学习资料《软件设计师教程(第4版)》褚华 主编,清华大学出版社 对这本书有点小小的...

u014394041 ⋅ 03/28 ⋅ 0

关系数据库

关系数据库: 关系模型由:关系数据结构、关系操作集合、关系完整性约束三部分。 关系模型三个方面:完整性约束、关系数据库系统中实现关系操作的一种语言、关系演算。 完整性约束: 关系 域...

mehome ⋅ 2017/04/17 ⋅ 0

代码之谜(三)- 运算符

从最简单的运算符加号(+)说起,加号(+)是个二元运算符——也就是说,加号只把两个数联接起来,从来不把第三个或者更多的联接起来。 因此,“1加2加3” 在计算机中被表述为: 或者 虽然我们通...

justjavac ⋅ 2012/11/07 ⋅ 4

代码之谜 - 运算符

从最简单的运算符加号(+)说起,加号(+)是个二元运算符——也就是说,加号只把两个数联接起来,从来不把第三个或者更多的联接起来。 因此,“1加2加3” 在计算机中被表述为: 或者 虽然我们通...

justjavac ⋅ 2012/11/01 ⋅ 0

[转载]MIT牛人解说计算机中的数学

[转载]MIT牛人解说计算机中的数学 1、为什么要深入数学的世界 学习数学的目的,是要想爬上巨人的肩膀,希望站在更高的高度,能把我自己研究的东西看得更深广一些。在深入探索科学研究的过程中...

pd2pd ⋅ 2013/03/12 ⋅ 0

python之numpy的基本使用

一、numpy概述 numpy(Numerical Python)提供了python对多维数组对象的支持:ndarray,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供...

cxmscb ⋅ 2017/01/17 ⋅ 0

Python科学计算工具—Numpy入门

一:前言 学了中国大学mooc的Python数据分析与展示课程感觉挺不错的,记录下来以后学习也方便多了。 NumPy是一个开源的Python科学计算基础库,包含: 1、一个强大的N维数组对象Array; 2、比...

布咯咯_rieuse ⋅ 2017/07/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java集合类总结笔记

一、集合类的层次关系 主要容器集合类的特点: ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行高效地插入和删除的有序序列 ArrayDeque 一种用循环数组实现的...

edwardGe ⋅ 11分钟前 ⋅ 0

spring RMI远程调用

RMI https://www.cnblogs.com/wdh1995/p/6792407.html

BobwithB ⋅ 17分钟前 ⋅ 0

Jenkins实践2 之基本配置

1 插件管理 系统管理->插件管理 在可选插件中可以自主安装插件 2 管理用户 系统管理->管理用户->新建用户 3 安全配置 系统管理->全局安全配置 授权策略 选择安全矩阵 然后添加现有的用户,赋...

晨猫 ⋅ 17分钟前 ⋅ 0

c++智能指针

1、是一种泛型类,针对指针类型的泛型类,会保存指针 2、重载了符号 *和-> 对智能指针使用这两个符号,相当于对保存的泛型使用这两个符号 3、当智能指针引用计数为0时,会去释放指针指向的资...

国仔饼 ⋅ 18分钟前 ⋅ 0

Spring Boot错误处理机制

1)、SpringBoot默认的错误处理机制 默认效果: 1)、浏览器,返回一个默认的错误页面 浏览器发送请求的请求头: 2)、如果是其他客户端,默认响应一个json数据 原理: 可以参照ErrorMvcAut...

小致dad ⋅ 19分钟前 ⋅ 0

ftp连接不上的终极办法 SFTP

假如FTP由于各种原因就是连不上,那么用SFTP协议吧,使用登录服务器的账号密码。

sskill ⋅ 24分钟前 ⋅ 0

Unity 围绕旋转角度限制(Transform.RotateAround)

在 Unity 中可以利用 Transform.RotateAround 围绕指定物体进行旋转,但某些情况下可能需要对旋转角度进行控制。我是先计算出预设角度大小,然后判断是否在限定角度范围内是则进行旋转。 相关...

大轩 ⋅ 25分钟前 ⋅ 0

阿里沙箱环境支付宝测试demo

阿里支付宝支付和微信支付,包括:阿里沙箱环境支付宝测试demo,支付宝支付整合到spring+springmvc+mybatis环境和微信整合到如上环境,功能非常齐全,只需要修改对应的配置文件即可,帮助文档...

码代码的小司机 ⋅ 27分钟前 ⋅ 0

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 44分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 49分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部