博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
數據庫關係代數除法運算
阅读量:5364 次
发布时间:2019-06-15

本文共 1205 字,大约阅读时间需要 4 分钟。

关系代数运算之除法运算专题讲解

2009-02-24 17:40:23 阅读1080 评论3   字号: 

1.关系运算的分类

  (1)基本运算操作:并、差、笛卡尔积、投影和选择。

  (2)组合运算操作:交、联接、自然联接和除。

  另外,还有几种扩充的关系代数操作:外联接(左外联接和右外联接)、外部并和半联接。

  2.除法定义的理解

  设两个关系R和S的元数分别为r和s(r>s>0),那么R÷S是一个(r-s)元的元组的集合。(R÷S)是满足下列条件的最大关系,其中每个元组t与S中每个元组u组成的新元组必在关系R中。

  

 

 

3.例题讲解

  有很多学员对除法运算定义不是很理解,那么,我们下面用图示的方法来进行讲解。

  例题1(2002年试题40)

  ● 关系R、S如下表所示,R÷(πAl,A2(σ1<3(S)))的结果为__(40)__。

  

 

  (40) A.{d}      B. {c,d}

  C.{c,d,8}     D. {(a,b),(b,a),(c,d),(d,f)}

例题1分析

  首先看πAl,A21<3(S)) 得到哪些元组的一个关系表。

  (1)σ1<3(S)的意思就是从关系S中选择第1列小于第3列的元组组成的关系表,如表1所示。

  

 

  (2)πAl,A2  的意思就是对表1进行投影,对A1和A2列投影出来,如表2所示。

  

 

 

(3)表2是具有两个属性A1、A2和两个元组的关系表。

  接下来是R÷X2了,首先,在R中找到A1与A2列和表2完全一致的元组。

  

 

  然后,在表3中,说明R关系内存在A1、A2列元组与表2的所有元组相同,此时关键是看R关系中其他列在这两行元组的值是否相同。只有相同时,除法的结果就为这个值,不相同,则除法的结果为空。

  所以:R÷X2 = {d}

  例题2(2005年5月试题44)

  设有如下关系:

  

关系代数表达式R÷S的运算结果是__(44)__。

  (44)

  

 

  例题2分析

  在本题中,R的属性有A、B、C、D,而S的属性有C、D、E,因此,R÷S的属性有A、B。

  求除法的简单方法是在关系R中寻找属性C和D的值同时满足关系S中属性C和D的所有元组的元组。

  在关系R中,第1个元组(2,1,a,c)和第5个元组(2,1,b,d),其A和B的属性值相同,而C和D的属性值满足关系S中的C和D的所有属性值,因此(2,1)将是R÷S的元组。

  

 

  关系R元组(3,2)对应C、D属性的值为(b,d)和(b、c),它不能满足关系S中属性C、D中的(a、c),因此满足要求。所以,第(44)空的正确答案是B。

转载于:https://www.cnblogs.com/Mayvar/archive/2011/05/20/wanghonghua_201105200121.html

你可能感兴趣的文章
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
linux的子进程调用exec( )系列函数
查看>>
zju 2744 回文字符 hdu 1544
查看>>
【luogu P2298 Mzc和男家丁的游戏】 题解
查看>>
前端笔记-bom
查看>>
上海淮海中路上苹果旗舰店门口欲砸一台IMAC电脑维权
查看>>
给mysql数据库字段值拼接前缀或后缀。 concat()函数
查看>>
迷宫问题
查看>>
【FZSZ2017暑假提高组Day9】猜数游戏(number)
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
Code Snippet
查看>>
zoj 1232 Adventure of Super Mario
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
Redis常用命令
查看>>
[转载]电脑小绝技
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>