数据库关系代数:如何查找出演过“环球影城”制作的所有电影的演员?

问题描述 投票:0回答:1

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

movie(
movieName
, whenMade);

actor(
actorName
, age);

studio(
studioName
, location, movieName);

actsIn(
actorName
, 
movieName
);

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

我的尝试,其中 ⋈ 是自然连接:

π actorName ∩ (σ studioName="Universal Studios" studio) ⋈ actsIn

也许你应该使用笛卡尔积和/或除法。

relational-algebra relational-division
1个回答
0
投票

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

  1. 编写一个表达式来查找“Universal Studio”制作的电影的名称(结果是与单个属性的关系)

  2. 将关系式

    actsIn
    除以第一步得到的关系式的结果。

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

© www.soinside.com 2019 - 2024. All rights reserved.