次の質問を関係代数として書こうとしています。
低価格の代替製品があるすべての製品の Pnr と pname。
私が持っている関係は次のとおりです。
Product(Pnr, Pname, Price) //Product info
Substprod(Pnr, Subst-Pnr) //Product which can replace other products
SQL で実行すると、次のようになります。
SELECT p.pnr, p.pname
FROM Product p1, Substprod s, Product p2
WHERE p1.pnr = s.pnr
AND s.subst_pnr = p2.pnr
AND p1.price > p2.price
しかし、関係代数で同じ結果を得る方法がわかりません。ここでも 3 者結合を行う必要があると思いますが、特定の製品の 1 つの価格がその代替品よりも低くなければならないという条件に問題があります。