gpt4 book ai didi

relational-database - 不使用计数的关系代数

转载 作者:行者123 更新时间:2023-12-04 04:37:35 25 4
gpt4 key购买 nike

这是我的数据库类(class)的期中练习题。假设我有以下关系模式:
WorkList(EMP#, WorkType#, Season) EMP# , WorkType#Season组合成主键

(121, 1, Winter)
(121, 2, Winter)
(114, 1, Spring)
(114, 2, Spring)
(114, 2, Fall)

应该返回元组
(114)

我可以使用什么关系代数表达式来返回在某个时候只在一个 WorkType# 上工作的 worker 在一个季节?我们只能使用并集、减号、笛卡尔积、自然连接、选择、投影、重命名和交集。

最佳答案

没有分组运算符,我们必须做一点迂回的方法才能得到所需的结果:

  • 将表的笛卡尔积与自身一起使用(我现在将这些属性称为 EMP1EMP2Worktype1 等。注意“正确的”关系代数,您必须在重命名这些属性之前笛卡尔积)。
  • EMP1 = EMP2 选择元组, Season1 = Season2 , WorkType1 != WorkType2 .注意关系代数的一些定义不允许 !=在谓词中。没有它仍然有可能,但需要更多的解决方法。我会假设我可以使用它。
  • 项目和重命名 EMP1, WorkType1, Season1到您的原始属性名称。您现在有一个包含 worker 在一个季节从事多种工作类型的实例的关系。
  • 将您的原始表与步骤 3 中获得的表的集合差值。此关系仅具有 worker 在一个季节只从事一种工作类型的情况。
  • 项目EMP#属性。
  • 关于relational-database - 不使用计数的关系代数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470937/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com