如何在关系代数中编写具有两个具有相同名称但相关性不同的公共属性的表的查询

时间:2018-10-19 04:01:19

标签: relational-algebra

我有三种模式:

SUPPLIER(SNO,SNAME,STATUS,CITY)
PROJECT(JNO,JNAME,CITY)
SPJ(SNO,JNO,QTY)

查询为:

  

获取“ DELHI”中供应商提供给“ BOMBAY”中任何项目的项目的jno值。

如何在关系代数中编写此查询?

1 个答案:

答案 0 :(得分:0)

阿曼,欢迎来到StackOverflow。这是一个可能的答案:

WITH SSUPPLIER := SUPPLIER RENAME {SCITY := CITY}
     PPROJECT  := PROJECT  RENAME {PCITY := CITY}
:
JOIN( SSUPPLIER, PPROJECT, SPJ )
WHERE PCITY = 'BOMBAY' AND SCITY = 'DELHI'
{ JNO }

(这是使用关系代数的Tutorial D变种,如Chris Date和Hugh Darwen的教科书中所述。我看到给定的模式是从这些书中摘取的。)

正如Philipxy指出的,最好说出您使用的是什么教科书以及哪种RA。