ITの基礎知識|ITパスポート・基本情報

【データベース】の記事一覧

午後問題に共通する注意事項(表記ルールなど)については、下記のリンク先を参照してください。

基本情報技術者 平成21年春 午後問題の注意事項


問題

関係データベースの設計と操作に関する次の記述を読んで,設問1~4に答えよ。

あるスーパーマーケットでは,野菜,魚,肉の各売場に,来店客が食材名を入力するとその食材を使った料理名と4人分のレシピを表示し,印刷して持ち帰ることもできる端末を設置することにした。このシステムは,料理名,使用する食材,レシピなどを関係データベースで管理し,要件に応じて適切な情報を抽出する。

このシステムで使用する表は図1のとおりである。網掛けした項目は主キーを表す。


設問1

データベースを設計するに当たって,エンティティの関係を表すE-R図を作成した。図1の構成におけるE-R図を,解答群の中から選べ。

解答群


設問2

図1の表は,料理ごとに作り方,使用する商品(食材)とその分量を記入して作成したレシピの表を正規化して得られたものである。データベース設計における第1正規化に基づいて実施した処置を,解答群の中から選べ。

解答群

  • ア:実行性能の向上を図り,料理表と分量表に分けた。
  • イ:主キーを一意にするため,料理名に料理IDを割り振った。
  • ウ:商品とその分量という繰返しの要素を排除した。
  • エ:情報の独立性を高めるため,商品名に商品IDを割り振った。

設問3

野菜売場の端末で来店客が好みの野菜を一つ選択したときに,その野菜を使用する料理名をすべて抽出して表示したい。来店客が”じゃがいも”を選択した場合,次のSQL文の空欄に入れる正しい答えを,解答群の中から選べ。

解答群

  • ア:料理表.料理ID = (SELECT 分量表.料理ID FROM 分量表,商品表
      WHERE 商品表.商品名 = ‘じゃがいも’)
  • イ:料理表.料理ID = 分量表.料理ID AND 分量表.商品ID = 商品表.商品ID
      AND 商品表.商品名 = ‘じゃがいも’
  • ウ:料理表.料理ID = 分量表.料理ID AND 分量表.商品ID = 商品表.商品ID
      OR 商品表.商品名 = ‘じゃがいも’
  • エ:料理表.料理ID IN (SELECT 分量表.料理ID FROM 分量表,商品表
      WHERE 商品表.商品名 = ‘じゃがいも’)

設問4

設問3のSQL文では,当日に在庫がない商品を材料に使用する料理名まで表示してしまう。このため,図2に示すとおり,開店時に在庫がある場合は1,ない場合は0を設定する項目”在庫”を追加し,使用する食材すべてについて在庫がある料理名だけを表示できるように商品表を変更する。また,同時にSQL文の可読性を向上させるため,表の結合にはJOIN句を用いる。次のSQL文の [ ]内 に入れる正しい答えを,解答群の中から選べ。

SELECT 料理表.料理名 FROM 料理表
    JOIN 分量表 ON 料理表.料理ID = 分量表.料理ID
    JOIN 商品表 ON 分量表.商品ID = 商品表.商品ID
    WHERE [                  ]

解答群

  • ア:商品表.在庫 != 0 AND 商品表.商品名 = ‘じゃがいも’
  • イ:商品表.在庫 != 0 OR 商品表.商品名 = ‘じゃがいも’
  • ウ:料理表.料理ID IN
        (SELECT 分量表.料理ID FROM 分量表
            JOIN 商品表 ON 分量表.商品ID = 商品表.商品ID
            WHERE 商品表.在庫 = 0)
        AND 商品表.商品名 = ‘じゃがいも’
  • エ:料理表.料理ID NOT IN
        (SELECT 分量表.料理ID FROM 分量表
            JOIN 商品表 ON 分量表.商品ID = 商品表.商品ID
            WHERE 商品表.在庫 = 0)
        AND 商品表.商品名 = ‘じゃがいも’
トランザクションTはチェックポイント取得後に完了し,その後にシステム障害が発生した。データベースをトランザクションTの終了直後の状態に戻すために用いられる復旧技法はどれか。ここで,チェックポイントのほかに,トランザクションログが利用できるものとする。 ア 2相ロック イ トランザクションスケジューリング ウ ロールバック エ ロールフォワード

Read more...

関係データベースの操作に関する記述のうち,適切なものはどれか。 ア 結合は,二つ以上の表を連結して,一つの表を生成することをいう。 イ 射影は,表の中から条件に合致した行を取り出すことをいう。 ウ 選択は,表の中から特定の列を取り出すことをいう。 エ 挿入は,表に対して特定の列を挿入することをいう。

Read more...

データベースサーバを利用したクライアントサーバシステムにおいて,大量のSQL文が発生することによってクライアントとサーバ間の通信負荷が問題となった。このときの解決策として,適切なものはどれか。 ア インデックスの見直し イ ストアドプロシージャ機能の利用 ウ データベースの再編成 エ 動的SQLの利用

Read more...

ある企業では,顧客マスタファイル,商品マスタファイル,担当者マスタファイル及び当月受注ファイルを基にして,月次で受注実績を把握している。各ファイルの項目が表のとおりであるとき,これら四つのファイルを使用して当月分と直前の3か月分の出力が可能な受注実績はどれか。 ア 顧客別の商品別受注実績 イ 商品別の顧客別受注実績 ウ 商品別の担当者別受注実績 エ 担当者別の顧客別受注実績...

Read more...