【问题标题】:Database Relational Algebra: How to find actors who have played in ALL movies produced by "Universal Studios"?数据库关系代数:如何找到在“环球影城”制作的所有电影中扮演过角色的演员?
【发布时间】:2016-04-09 10:43:10
【问题描述】:

给定以下关系模式,其中主键以粗体显示:

movie(movieName, whenMade);

演员(演员姓名,年龄);

studio(studioName, location, movieName);

actsIn(actorName, movieName);

您如何找到在“环球影城”制作的每部电影中出演过的演员名单?

我的尝试:

π actorName ∩ (σ studioName=“Universal Studios”工作室) |>

您应该使用笛卡尔积和/或除法吗? :\

【问题讨论】:

  • 这种查询通常用除法来解决。

标签: relational-algebra relational-division


【解决方案1】:

以下是您应该遵循的两个步骤:

  1. 写一个表达式来查找“环球影城”制作的电影的名字(结果是一个单一属性的关系)

  2. 将关系actsIn除以第一步得到的关系结果。

这应该会给你预期的结果(即与在“环球影城”的每部电影中扮演的演员姓名的关系)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-25
    • 2017-02-24
    • 2015-06-24
    • 1970-01-01
    • 2020-06-21
    • 2018-06-15
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多