数据库关系代数:如何找到在“环球影城”制作的所有电影中扮演过角色的演员?
Posted
技术标签:
【中文标题】数据库关系代数:如何找到在“环球影城”制作的所有电影中扮演过角色的演员?【英文标题】: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”工作室) |>
您应该使用笛卡尔积和/或除法吗? :\
【问题讨论】:
这种查询通常用除法来解决。 【参考方案1】:以下是您应该遵循的两个步骤:
写一个表达式来查找“环球影城”制作的电影的名字(结果是一个单一属性的关系)
将关系actsIn
除以第一步得到的关系结果。
这应该会给你预期的结果(即与在“环球影城”的每部电影中扮演的演员姓名的关系)。
【讨论】:
以上是关于数据库关系代数:如何找到在“环球影城”制作的所有电影中扮演过角色的演员?的主要内容,如果未能解决你的问题,请参考以下文章