基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成26年 秋期 基本情報技術者 午後 問04
問04   4問選択

問4 書籍を管理する関係データベースの設計及び運用に関する次の記述を読んで, 設問1〜4に答えよ。

 ある会社の資料室では,社員(以下,利用者という)と窓口担当者の利便性を 向上する目的で,所蔵する書籍を管理するデータベースを再構築することにした。 この会社の資料室では,業務に関連する書籍を管理しており,利用者への貸出しも 実施している。
 従来のデータベースは,図1に示すとおり,所蔵する書籍と現在の貸出状況を 管理する書籍表で構成されている。下線付きの項目は,主キーを表す。

図1 書籍表のデータ格納例

〔書籍表に関する説明〕

(1) 利用者に貸出中の書籍には,貸出日と返却予定日が格納されている。これらの 項目が null の書籍は,貸し出されていないことを表す。

(2) 社員番号には,その書籍を貸し出している利用者の社員番号が格納されている。 人事系のシステムで管理している社員表と結合することで,氏名と連絡先が検索できる。

(3) 返却されたら,貸出日,返却予定日及び社員番号には null を設定する。

設問1 データベースの再構築に当たり,利用者と窓口担当者から要望を 提出してもらった。解答群に示した要望のうち,従来の書籍表(図1)及び社員表からは 検索できない情報二つ選べ。

解答群

ア 現在,貸出中でない書籍の一覧

イ 現在,貸出中の書籍の一覧

ウ 現在,書籍を貸出中の利用者の連絡先

エ 書籍ごとの累積貸出回数

オ 返却予定日を過ぎても貸出中の書籍の一覧

カ 利用者ごとの貸出履歴

解答 ←クリックすると正解が表示されます

設問2 利用者と窓口担当者からの要望を踏まえ,データベースを 図2に示す表構成で再構築して,運用を始めた。運用開始後に延滞したことがある利用者の 社員番号と,延滞した書籍名を,社員番号の昇順に表示したい。 次の SQL 文の に入れる正しい答えを,解答群の中から選べ。 ここで,SQL 文中の CURRENT_DATE 値関数は,現在の日付を DATE 型で返却する。

図2 再構築したデータベースの表構成とデータ格納例

〔貸出表に関する説明〕

(1) 1冊の貸出しに対して一意の貸出番号を付与し,貸出表に情報を記録する。

(2) 返却日には,返却された日付を格納する。返却日が null の書籍は,貸出中であることを表す。

(3) 書籍が返却された後も,貸出表に記録された情報は残す。

(4) 貸出日,返却予定日及び返却日は DATE 型である。

SELECT 貸出表.社員番号,書籍表.書籍名
  FROM 書籍表,貸出表
  WHERE
  ORDER BY 貸出表.社員番号

解答群

ア 書籍表.書籍番号 = 貸出表.書籍番号 AND
  (貸出表.返却日 > 貸出表.返却予定日 OR
  (貸出表.返却日 IS NULL AND 貸出表.返却予定日 < CURRENT_DATE))

イ 書籍表.書籍番号 = 貸出表.書籍番号 AND
  (貸出表.返却日 BETWEEN 貸出表.貸出日 AND 貸出表.返却予定日 OR
   貸出表.返却日 IS NULL OR
   貸出表.返却日予定日 < CURRENT_DATE)

ウ 書籍表.書籍番号 = 貸出表.書籍番号 AND
  貸出表.返却日 != 貸出表.返却予定日

エ 書籍表.書籍番号 = 貸出表.書籍番号 AND
  貸出表.返却日 IS NOT NULL

解答 a ←クリックすると正解が表示されます

設問3 貸出回数が多い順に書籍番号,書籍名及び貸出回数を表示したい。 次の SQL 文の に入れる正しい答えを,解答群の中から選べ。

SELECT 書籍表.書籍番号,書籍表.書籍名, AS 貸出回数
  FROM 書籍表,貸出表
  WHERE 書籍表.書籍番号 = 貸出表.書籍番号
  GROUP BY 書籍表.書籍番号,書籍表.書籍名
  ORDER BY 貸出回数 DESC

解答群

ア COUNT(*)         イ MAX(書籍表.書籍番号)

ウ SUM(貸出表.貸出番号)   エ 貸出表.貸出番号

オ 書籍表.書籍番号

解答 b ←クリックすると正解が表示されます

設問4 資料室に設置されている端末からだけでなく,利用者が自席の PC からも 書籍を検索できるようにしたところ,貸出実績の増加と利用者からのアクセスの急増に伴い, 書籍名を入力して貸出中か否かを表示する処理で,レスポンスの低下が顕在化した。 レコード件数を確認したところ,書籍表が 865 件,貸出表が 10,382 件だった。

 そこで,インデックスを設定して検索性能の向上を図ることにした。 インデックスの設定によって最も効果が期待できる項目として適切なものを, 解答群の中から選べ。

解答群

ア 書籍表.書籍名        イ 貸出表.書籍番号

ウ 貸出表.社員番号       エ 貸出表.貸出日

オ 貸出表.返却日

解答 ←クリックすると正解が表示されます

[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]