┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃宿題メール ソフ開編                .&&&& **** %%%%. ┃ ┃                         &&&&&&******%%%%%% ┃ ┃from 斎藤末広 jwork@yscon.co.jp          '&┃&''*┃*''%┃%' ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━┻━━┻━━┛ ========================================================================  2005年6月30日分【宿題メール ソフトウェア開発技術者編】  この"宿題メール ソフ開編"は,10月にソフトウェア技術者試験を受験される方 向けに出しています。  "宿題メール(総合編)"を補完する関係です。  →宿題メールとは http://www.3721p.com/homework ======================================================================== 前回分の解答と解説 ------------------------------------------------------------------------ *[解説:ソフト開発午前問題その1]  関係データベースのトリガ(trigger)に関する記述として,適切なものはどれ か。  ア 参照命令発行時に動作する。  イ データの変更操作時に動作する。  ウ ほかのトリガから起動されることはない。  エ ロールバック処理実行時に動作する。 ■キーワード■ トリガ(trigger) ■解答■   ソフトウェア開発技術者午前平成17年春問64   テクニカルエンジニア(データベース)午前平成15年問32  イ データの変更操作時に動作する。 > 以下に説明がありました。 > http://www.techscore.com/tech/sql/14_01.html  どうもありがとうございました。 ------------------------------------------------------------------------ *[解説:ソフト開発午前問題その2]  "注文"表と"商品"表の二つに対して,四つのビューを定義した。このうち,更新 可能なビューはどれか  注文 ┌────┬─────┬────┬────┬────┬──┬────┐ │注文番号│ 注文日 │顧客番号│顧客名 │商品番号│数量│ 金額 │ ┝━━━━┿━━━━━┿━━━━┿━━━━┿━━━━┿━━┿━━━━┥ │ 001  │2004-06-05│ K111 │ A 社 │ RX01 │ 5 │ 150,000│ ├────┼─────┼────┼────┼────┼──┼────┤ │ 001  │2004-06-05│ K111 │ A 社 │ RY01 │ 10 │ 290,000│ ├────┼─────┼────┼────┼────┼──┼────┤ │ 001  │2004-06-05│ K111 │ A 社 │ F001 │ 5 │ 375,000│ ├────┼─────┼────┼────┼────┼──┼────┤ │ 002  │2004-06-10│ K222 │ B 社 │ TV18 │ 10 │ 450,000│ ├────┼─────┼────┼────┼────┼──┼────┤ │ 003  │2004-06-15│ K333 │ C 社 │ TV18 │ 5 │ 225,000│ ├────┼─────┼────┼────┼────┼──┼────┤ │ 003  │2004-06-15│ K333 │ C 社 │ F001 │ 2 │ 150,000│ ├────┼─────┼────┼────┼────┼──┼────┤ │ 004  │2004-06-20│ K222 │ B 社 │ RY01 │ 5 │ 145,000│ ├────┼─────┼────┼────┼────┼──┼────┤ │ 004  │2004-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 で試してみよう。 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html ■キーワード■ VIEW ■解答■   ソフトウェア開発技術者午前平成17年春問65   同等:テクニカルエンジニア(データベース)午前平成15年問33   ほぼ同等:データベーススペシャリスト午前平成13年問36 イ CREATE VIEW 商品 V(商品番号, 商品名) AS SELECT 商品番号, 商品名 FROM 商品 > 普段あまりSQLを使用しないため、このレベルのものになるとわかりません。 > 勉強不足ですが、なんとなくイだと思います。  出題されてSQLの問題は解けるようにしておきましょう。 ------------------------------------------------------------------------ *[解説:ソフト開発午後問題改題] (出題お休み) ------------------------------------------------------------------------ 過去のフォロー  (特になし) ======================================================================== ★★ 本日の宿題 ソフト開発編 ★★★★★★★★★★★★★★★★★★★★ ------------------------------------------------------------------------ *[宿題:ソフト開発午前問題その1]  "社員"表と"部門"表に対し, 次の SQL 文を実行したときの結果はどれか。   SELECT COUNT(*) FROM 社員, 部門    WHERE 社員.所属 = 部門.部門名 AND 部門.フロア = 2  社員            部門 ┌────┬──────┐ ┌──────┬───┐ │社員番号│所属    │ │部門名   │フロア│ ┝━━━━┿━━━━━━┥ ┝━━━━━━┿━━━┥ │11001  │総務    │ │企画    │ 1  │ ├────┼──────┤ ├──────┼───┤ │11002  │経理    │ │総務    │ 1  │ ├────┼──────┤ ├──────┼───┤ │11003  │営業    │ │情報システム│ 2  │ ├────┼──────┤ ├──────┼───┤ │11004  │営業    │ │営業    │ 3  │ ├────┼──────┤ ├──────┼───┤ │11005  │情報システム│ │経理    │ 2  │ ├────┼──────┤ ├──────┼───┤ │11006  │営業    │ │法務    │ 2  │ ├────┼──────┤ ├──────┼───┤ │11008  │企画    │ │購買    │ 2  │ ├────┼──────┤ └──────┴───┘ │12001  │営業    │ ├────┼──────┤ │12002  │情報システム│ └────┴──────┘  ア 1  イ 2  ウ 3  エ 4 【実習課題】実際に試してみよう。 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html ------------------------------------------------------------------------ *[宿題:ソフト開発午前問題その2]  三つのトランザクション T1,T2,T3 が,番号(1)〜(10)の順序でデータ a,b に対する処理を行った場合,デッドロックとなるのはどの時点か。ここで,DBMS は READ の直前に共有ロック,UPDATE の直前に占有ロックをかけ,ROLLBACK 又 は COMMIT ですべてのロックを解除する。 ┌──────┐ ┌──────┐ ┌──────┐ │  T1   │ │  T2   │ │  T3   │ ├──────┤ ├──────┤ ├──────┤ │(1) READ a │ │      │ │      │ │      │ │(2) UPDATE b│ │      │ │      │ │(3) ROLLBACK│ │      │ │(4) READ b │ │      │ │      │ │      │ │      │ │(5) READ b │ │      │ │      │ │(6) UPDATE a│ │(7) UPDATE b│ │      │ │      │ │      │ │      │ │(8) UPDATE b│ │(9) COMMIT │ │      │ │      │ │      │ │      │ │(10) COMMIT │ └──────┘ └──────┘ └──────┘  ア (5)  イ (6)  ウ (7)  エ (8) 注意:桁がずれて表示されているときは以下のサイトを参考にして下さい。 等幅フォントに…@まぐまぐ http://help.mag2.com/115.html ------------------------------------------------------------------------ *[宿題:ソフト開発午後問題改題] 平成17年春の午後問題を改題して出題 (出題お休み) ======================================================================== 下の部分を回答用紙として返信してください。返信されたものは,著作権放棄を したとみなします。 ------------------------------------------------------------------------ 宿題メール 裏版 回答用紙 ------------------------------------------------------------------------ SW ソフト開発午前問題その1   _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ SW ソフト開発午前問題その2   _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ SW ソフト開発午後問題改題    _ 考えたこと・調べたこと・質問 ------------------------------------------------------------------------ その他(宿題メール本編に掲載することがあります)