【问题标题】:Making relational algebra equations in a sample database在示例数据库中制作关系代数方程
【发布时间】:2015-06-08 09:25:12
【问题描述】:

我偶然发现了斯坦福大学的一篇关于关系代数的练习论文,关系如下:-

人(姓名、年龄、性别) 名字是关键。

常客(姓名、比萨店) (name, pizzeria) 是一把钥匙。

吃(名字,披萨) (name, Pizza) 是一把钥匙。

服务(比萨店,比萨饼,价格) (pizzeria, Pizza) 是一把钥匙。

这两个是我无法回答的问题。 1.找出所有经常光顾比萨饼店的人的名字,他们至少吃一个比萨饼。

2.找出所有经常光顾每家比萨店的人的名字,他们至少吃一个比萨饼。

首先,我无法区分这两个问题的含义。 其次,谁能解释一下网站上给出的这些问题的答案? 该网页的链接如下所示。这些问题对应于第一个问题的 g. 和 h. 部分。

http://openclassroom.stanford.edu/MainFolder/courses/IntroToDatabases/old-site/docs/backup/ra-exercises.html

【问题讨论】:

    标签: database rdbms relational-algebra


    【解决方案1】:

    两者的区别:

    “找出所有经常光顾每家比萨店的人的名字,他们至少吃过一份比萨饼。”有“每家比萨店服务......”作为合格条件。假设这些比萨店的集合是{P1 P2}。假设我经常光顾的比萨店是{P1 P2 P3}。即使 P3 包含在该集合中,我仍然经常出现“......每家比萨店服务......”的情况,因为不存在任何提供至少一个我吃的比萨饼的比萨店 Px(因此 Px 要么是 P1或P2),我不经常。你可能想知道如果 P3 不提供我吃的任何东西,为什么我会经常光顾它,那可能是例如。这样我就可以弄清楚他们是否已经开始提供我吃的东西了。 Brief : 限定条件是 {P1 P2} 是否是我常去的比萨店的子集。

    “找出所有经常光顾比萨饼店并至少提供一份比萨饼的人的姓名。”有不同的资格条件。在这种情况下,我的常客 P3 使我失去了结果集的资格。请注意,我不必频繁使用 {P1 P2} 的 ALL。如果我只经常光顾 P1,甚至根本不去比萨店(!!!!!!!!! 一个经常被错误忽视的危险边缘情况),我仍然经常光顾比萨店,至少我吃一个比萨饼. Brief : 限定条件是我常去的比萨店是否是{P1 P2}的子集。

    还有一个合格条件是“所有且只有那些比萨店经常...”。在这种情况下,限定条件是所提到的两个集合之间的相等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多