栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否可以在关系代数,域和元组关系演算中表示所有SQL查询

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否可以在关系代数,域和元组关系演算中表示所有SQL查询

您的查询有点模棱两可。确实是要找到所有X城中每个人的经理以及每个员工的经理?

正如dportas指出的那样,这在RA中是完全可行的。

这是如何做 :

获取X城市中所有雇员的集合。将其称为EMPX。

获取所有经理的集合。叫那个MGRS。

使两者的笛卡尔积。称之为MGRS_EMPX。

减去表的实际值(适当地向下投影到所需的属性),该值表示哪些管理者管理哪个员工。这种差异保留了实际存在的经理的所有组合以及位于X中的雇员,但该经理不管理该雇员的情况。

将该差异投影到manager属性上。这关系告诉你哪个经理存在,从而存在在X市一些员工是 不是 由管理员负责管理。

从MGRS中减去此关系。显然,此关系告诉您存在哪些经理,从而使X城中不存在不受该经理管理的员工。

将对否定性量词的否定重写为通用量将显示这正是您想要的结果:NOT EXISTS(EMP:EMP在X中,而EMP由MGR管理)=== FORALL
EMP:NOT(EMP在X中。由MGR管理的AND EMP)=== FORALL EMP:(EMP不在X中,或者EMP由MGR管理)=== FORALL
EMP :(如果EMP在X中,则EMP由MGR管理)。

所有这些都是完美的代数运算。

(练习:看看如果X城根本没有员工,会发生什么情况。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号