表达关系演算&代数查询简单的英语乘客,航班&经济旅行

时间:2014-04-03 00:36:23

标签: mysql sql relational-database relational-algebra domain-calculus

我有这样的声明:

  

enter image description here

这一个:

  

enter image description here

如何将这些转换为普通英语?

以下是我的理解程度:

对于第一个,我认为它选择 p_id ,其中存在 f_no1 f_date f_no2 航班旅行表已加入。

第二个令人困惑;我知道它正在做什么,但我不知道如何将其转换为简单的英语。它很自然地加入了旅行,飞行和乘客表,然后它从那个业务所在的结果表中选择行。从业务类所在的行开始,只选择最终目的地为洛杉矶的行,然后从这些行中选择乘客ID和名称。所以我想英文翻译的内容将是“获取乘客前往洛杉矶商务舱的名字和身份”,但我不确定。

1 个答案:

答案 0 :(得分:2)

关系演算

你走在正确的轨道上。

  • 自由变量:p_id(确定您的输出结构)
  • 有界变量:f_no1f_no2f_date

您可以看到有两条看起来非常相似但显着不同的线条。每一行都是在两个关系中配对信息,目的是找到满足条件的值。

请注意,f_datep_id变量在两行上都相同,而f_no则不同。这表示在同一天上有两个单独航班,两者都有相同的乘客。第一行表示从 Rapanui Papeete 的旅程,第二行表示从 Papeete Auckland 的旅程。这两次旅行还必须满足通过经济级旅行的要求。

将这些信息放在一起,此查询要求p_id通过p_id从 Rapnui 传到奥克兰的地方> Papeete 同一天,两人都在经济舱。

关系代数

你几乎拥有它。该查询选择已飞往 Business 类中洛杉矶的所有乘客的p_id和p_name。