![]()
平成24年 春期 基本情報技術者 午後 問03
問03 5問選択問3 社員食堂の利用記録データベースの設計と運用に関する次の記述を読んで,設問1〜4に答えよ。 A 社では,社員証の IC カード化に伴い,社員証を用いた社員食堂の精算システムを 構築することにした。トレーに載せた料理を精算機の前に置くと, 料理皿に埋め込まれた IC チップのデータから料金が計算され,合計金額が表示される。 合計金額を確認した後に社員証をかざすと,精算ができる。精算データはデータベースに記録され, 1か月分の精算額が,まとめて翌月の給料から引き落とされる。 A 社のシステム部門では,精算データを記録するデータベースとして,当初,図1に示す表を設計した。
図1 表構成とデータの格納例 精算システムの機能に関して関係者にヒアリングした結果,給料からの引落し額の算出以外にも 次に示す四つの要望が挙がった。 要望1:ある社員の,ある日の精算の明細を表示できること 要望2:ある日の売上合計額(精算額の合計)を算出できること 要望3:料理の一覧を表示できること 要望4:ある日の,ある料理の販売皿数を算出できること そこで,四つの要望に対応できるように図2のとおり,1回の精算に対して一つの精算コードを 割り当てた三つの表で構成するように設計を変更した。下線付きの項目は主キーを表す。
明細表
料理表
図2 変更後の表構成とデータの格納例 設問1 図1に示した表構成のままでも対応できる要望として正しい答えを,解答群の中から選べ。 解答群 ア 要望1 イ 要望2 ウ 要望3 エ 要望4
設問2 料理名が“肉じゃが”の単価に誤りがあることが判明したので,購入者に差額を 返金することになった。“肉じゃが”購入者の社員番号と購入皿数を求める。 次の SQL 文の ![]()
FROM 料理表,精算表,明細表 WHERE ![]() 解答群 明細表.料理コード= (SELECT 料理表.料理コード FROM 料理表 WHERE 料理表.料理名='肉じゃが')
イ 精算表.精算コード=明細表.精算コード AND
ウ 精算表.精算コード=明細表.精算コード AND
エ 精算表.精算コード=明細表.精算コード AND
設問3 次の記述中の ![]() A 社の健康管理部門から,精算時に料理の合計カロリーを表示する機能と,ある社員の, ある期間における1回の精算当たりの平均カロリーを求める機能の追加を要望された。 このため,料理表にカロリーの列を追加することにした。
しかし,平均カロリーを求めるには 解答群 エ 精算表と明細表と料理表 オ 明細表 カ 料理表 キ 料理表と明細表
設問4 設問3のカロリーに関する機能を追加した後,食堂利用者にカロリーを意識して料理を 選んでもらうために,人気料理とそのカロリーを掲示することにした。 販売皿数の多い順に,料理名,カロリー及び販売皿数を求める。正しい SQL 文を,解答群の中から選べ。 解答群 FROM 料理表, 明細表 WHERE 料理表.料理コード=明細表.料理コード GROUP BY 料理表.料理名, 料理表.カロリー ORDER BY 販売皿数 DESC
イ SELECT 料理表.料理名, 料理表.カロリー, COUNT(明細表.皿数) AS 販売皿数
ウ SELECT 料理表.料理名, 料理表.カロリー, SUM(明細表.皿数) AS 販売皿数
エ SELECT 料理表.料理名, 料理表.カロリー, SUM(明細表.皿数) AS 販売皿数
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||||||||||||||||||||||||||||