JJ プログラム仙人修行日誌

2024/04/20 からは、プログラム仙人修行の日誌を書いてます。

 "注文"表と"商品"表の二つに対して,四つのビューを定義した。このうち更新
可能なビューはどれか


 注文
┌────┬─────┬────┬────┬────┬──┬────┐
│注文番号│ 注文日 │顧客番号│顧客名 │商品番号│数量│ 金額 │
┝━━━━┿━━━━━┿━━━━┿━━━━┿━━━━┿━━┿━━━━┥
│ 001  │1999-06-05│ K111 │ A 社 │ RX01 │ 5 │ 150,000│
├────┼─────┼────┼────┼────┼──┼────┤
│ 001  │1999-06-05│ K111 │ A 社 │ RY01 │ 10 │ 290,000│
├────┼─────┼────┼────┼────┼──┼────┤
│ 001  │1999-06-05│ K111 │ A 社 │ F001 │ 5 │ 375,000│
├────┼─────┼────┼────┼────┼──┼────┤
│ 002  │1999-06-10│ K222 │ B 社 │ TV18 │ 10 │ 450,000│
├────┼─────┼────┼────┼────┼──┼────┤
│ 003  │1999-06-15│ K333 │ C 社 │ TV18 │ 5 │ 225,000│
├────┼─────┼────┼────┼────┼──┼────┤
│ 003  │1999-06-15│ K333 │ C 社 │ F001 │ 2 │ 150,000│
├────┼─────┼────┼────┼────┼──┼────┤
│ 004  │1999-06-20│ K222 │ B 社 │ RY01 │ 5 │ 145,000│
├────┼─────┼────┼────┼────┼──┼────┤
│ 004  │1999-06-20│ K222 │ B 社 │ F001 │ 2 │ 150,000│
└────┴─────┴────┴────┴────┴──┴────┘

 商品
┌────┬────┬────┐
│商品番号│ 商品名 │ 単価 │
┝━━━━┿━━━━┿━━━━┥
│ F001 │冷蔵庫 │ 75,000│
├────┼────┼────┤
│ RX01 │ラジオ X│ 30,000│
├────┼────┼────┤
│ RY01 │ラジオ Y│ 29,000│
├────┼────┼────┤
│ TV18 │テレビ │ 45,000│
└────┴────┴────┘

ア CREATE VIEW 顧客 V(顧客番号, 顧客名)
AS SELECT DISTINCT 顧客番号, 顧客名 FROM 注文

イ CREATE VIEW 商品 V(商品番号, 商品名)
AS SELECT 商品番号, 商品名 FROM 商品

ウ CREATE VIEW 注文 V(注文番号, 注文日, 顧客番号, 合計金額)
AS SELECT 注文番号, 注文日, 顧客番号, SUM(金額) FROM 注文
GROUP BY 注文番号, 注文日, 顧客番号

エ CREATE VIEW 注文明細 V(注文番号, 商品番号, 数量, 単価, 金額)
AS SELECT 注文番号, 注文.商品番号, 数量, 単価, 金額
FROM 注文, 商品 WHERE 注文.商品番号 = 商品.商品番号

【実習課題】実際に SQL で試してみよう。

注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。
KAZ池田氏提供 http://www.mag2.com/faq/mua.htm

■キーワード■ VIEW

■解答■
  テクニカルエンジニア(システム管理)午前平成15年問38
  テクニカルエンジニア(データベース)午前平成15年問33
  ほぼ同等:データベーススペシャリスト午前平成13年問36

イ CREATE VIEW 商品 V(商品番号, 商品名)
AS SELECT 商品番号, 商品名 FROM 商品