【发布时间】:2017-01-29 17:05:29
【问题描述】:
相关表格为:
火车(火车代码,火车类型,出发站,目的地站)
列出从伦敦出发前往肯特的火车的详细信息。
这个问题很简单,我到处寻找基本答案但找不到。
这是我目前想出的,但我不知道它是否正确,或者 AND 是否甚至可以用于关系代数:
SELECT TRAIN WHERE departure-station = 'LONDON' AND destination-station = 'KENT'
正确吗?我在网上找不到任何关于你是否可以使用 AND 的信息。如果这不起作用,我想我的答案应该是这样的:
SELECT TRAIN WHERE departure-station = 'LONDON' GIVING TABLE1
SELECT TRAIN WHERE destination-station = 'KENT' GIVING TABLE2
PROJECT TABLE1 OVER train-code GIVING TABLE3
PROJECT TABLE2 OVER train-code GIVING TABLE4
TABLE1 INTERSECT TABLE2 GIVING TABLE3
PROJECT TABLE3 OVER train-code, train-type, departure-station, destination-station GIVING RESULT
这对我来说似乎太长了,而且可能不正确。也许我需要改用 JOIN 命令?我真的不知道,即使这是一个如此简单的问题。谁能帮帮我?
【问题讨论】:
-
会不会看起来像
σ(departure-station='LONDON'∧destination-station='KENT'(TRAIN))并翻译(取决于查询语言)为SELECT * FROM TRAIN WHERE departure-station = 'LONDON' AND destination-station = 'KENT'?? -
这可能是正确的,但我在英国,不幸的是,我们以不同的方式教授这些东西,这意味着我们不使用 sigma 表示法或类似的东西,只是选择, PROJECT、DIVIDEBY 等。实际上我们甚至不写 SELECT,我们使用 RESTRICT,尽管它是相同的,但只会给美国的其他人造成更多混乱,例如使用 SELECT 和不同表示法的人。因此,如果您不是来自英国,这会使我的问题更加混乱:/
-
1.请提供您应该使用的“关系代数”版本的参考或摘要。为什么不知道是否可以在 RESTRICT/SELECT 中使用 AND? 2. 还有其他表格告诉你“火车详情”吗?因为这张表似乎给出了火车 trip 的详细信息。 3.看我的回答。
标签: relational-database relational-algebra