找到供应每个红色或绿色部分的供应商的sids

时间:2017-12-03 22:37:16

标签: relational-algebra

数据库由供应商(sId,sName,地址),部件(pID,pName,颜色)和目录(sId,pId,cost)组成。这个问题的解决方案是

enter image description here

然而,这对我来说似乎不对,因为那时我们实际上正在寻找供应每个红色和绿色部分的供应商。我只是将问题的逻辑解释错误或措辞错误吗?

2 个答案:

答案 0 :(得分:0)

你的回答是正确的。在关系代数中,当我们必须找到sids,sname等,并且每个'在问题中我们使用除法。在你的问题中,你必须找到' sids'每个红色或绿色部分供应。现在作为' color'在"部分"关系和sid在"目录"和#34;供应商"关系,但我们只能使用pid连接部分和目录,幸运的是sid在目录中,所以我们将使用这两个关系形成我们的关系代数:

Πsid,pid (Catalog)/ Πpid σcolor=’red’ v color=’green’ (Parts)

答案 1 :(得分:0)

T1 <-Πpid(σcolor='RED'(Parts))

T2 <-Πpid(σcolor='GREEN'(Parts))

T3 <-Πsid,pid(目录)÷T1

T4 <-ssid,pid(目录)÷T2

T5 <-T3 U T4

T5有答案

这将提供全部红色或绿色部分的供应商sid

希望这会有所帮助。