私は現在、数週間後に行われるデータベース試験の勉強をしていますが、彼らが提供した過去の論文 (回答なし) でいくつか問題が発生しています。
正しい方法でアプローチしているかどうかを確認するものが何もないため、以下の質問が心配です。ここにいる誰かが見て助けてくれるかどうか疑問に思っていましたか? 私はそれらに正しい方法で答えましたか?
ありがとう...
次のスキーマには 3 つのテーブルがあります。
Suppliers (sid(PK):integer, sname:string, address:string)
Parts (pid(PK):integer, pname:string, color:string)
Catalog (sid(PK):integer, pid:integer, cost:real)
カタログ関係には、サプライヤが部品に請求する価格がリストされています。
次の質問があり、私の答えは以下のとおりです。
サプライヤが存在する部品の pname を一覧表示する
SELECT pname FROM Parts, Catalog WHERE Parts.pid = Catalog.pid AND Catalog.sid = Suppliers.sid AND Catalog.sid NOT NULL;
赤の部品または緑の部品を供給しているサプライヤの sid を見つける
SELECT sid FROM Catalog, Parts WHERE Catalog.pid = Parts.pid AND Parts.color = 'red' OR Parts.color = 'green';
一部の部品の平均コストよりも多くの部品を請求するサプライヤの sid を見つけます (その部品を供給するすべてのサプライヤの平均)。
SELECT sid FROM Catalog WHERE cost > (AVG(cost));