本文へスキップ

平成22年度 春期 ITパスポート試験 問93

この問題の解説と、これまでの解答の記録です。

問93
頻出度★★★

A社研究所の資料室では,文献の貸出管理業務を行っている。文献の貸出管理業務には,PCのデータベースソフトを活用した文献貸出管理システム(以下,文献システムという)を利用している。 文献システムのデータベース構造は,次のとおりである。 社員表

社員番号社員名メールアドレス

文献表

文献番号文献名

貸出表

文献番号文献名社員番号社員名メールアドレス貸出日返却日

保有する文献と貸出についての条件は,次のとおりである。 〔保有する文献と貸出についての条件〕 (1) 同一文献は複数保有せず,文献ごとに固有な文献番号が採番されている。 (2) 貸出期間は,貸出日を含んで最長2週間である。ここで,返却された文献をその日に違う社員に貸し出すことは可能であるが,同じ社員に対して返却した同一文献をその日のうちに貸し出すことはない。 貸出から返却までの手続は,次のとおりである。 〔貸出から返却までの手続〕 (1) 社員は借りたい文献を書庫から取り出して,資料室の担当者(以下,担当者という)に手渡し,社員番号を提示する。 (2) 担当者は文献システムを使って貸出処理を行い,社員に文献を手渡す。 (3) 文献返却時,社員は担当者に文献を返却し,担当者は文献システムを使って返却処理を行う。 文献システムにおける貸出処理と返却処理の仕様は,次のとおりである。 〔貸出処理〕 (1) 文献番号で文献表を検索し,文献名を取得する。 (2) 社員番号で社員表を検索し,社員名とメールアドレスを取得する。 (3) 貸出表のレコード(以下,貸出レコードという)を用意して,(1),(2)で取得した文献番号,文献名,社員番号,社員名,メールアドレスを設定し,貸出日に当日の日付を,返却日に空白値を設定する。 (4) (3)で設定した貸出レコードを貸出表に追加する。 〔返却処理〕 (1) 文献番号で貸出表を検索し,返却日が空白値である貸出レコードを抽出する。 (2) 抽出した貸出レコードの返却日に当日の日付を設定し,貸出表を更新する。 文献システムのデータベース構造の記述として,適切なものはどれか。

出典 平成22年度 春期 ITパスポート試験 問93
解説

問 93

  • 不正解ア

    文献番号と社員番号だけでは一意にならない。条件(1)で同一文献は 1 冊だけだが、返却された文献を後日また同じ社員が借りることは禁止されていないため、同じ文献番号・同じ社員番号をもつ貸出レコードが貸出日違いで複数できてしまう。主キーは重複を許さないので不適切。

  • イ

    正解 正解は イ。貸出表は〔貸出処理〕(4)のとおり貸出のたびに 1 行が追加されていく貸出履歴の表なので、1 行を一意に識別できる最小の列の組合せを探せばよい。まず条件(1)より同一文献は 1 冊しか保有しないが、その 1 冊は返却後に何度でも貸し出せるので文献番号だけでは行が重複する。社員番号を足しても、同じ社員が同じ文献を後日また借りれば重複する。そこで貸出日を加えると、条件(2)の後半「同じ社員に対して返却した同一文献をその日のうちに貸し出すことはない」が効いて、同じ文献番号・同じ社員番号・同じ貸出日をもつ行は 2 行以上作られないことが保証される。したがって主キーは 文献番号・社員番号・貸出日 の組合せ(複合主キー)になる。

  • 不正解ウ

    社員表の主キーが社員番号である点は正しいが、貸出表の主キーまで社員番号とすると 1 人の社員につき貸出レコードが 1 行しか持てなくなる。実際には 1 人の社員が複数の文献を借り、さらに何度も借り直すので社員番号は貸出表の中で重複する。貸出表では社員表を参照する外部キーにあたる列であって、主キーにはならない。

  • 不正解エ

    文献表の主キーが文献番号である点は正しい(条件(1)より文献ごとに固有)が、貸出表の主キーにはならない。同じ文献が返却後に繰り返し貸し出されると、同じ文献番号の貸出レコードが何行も並ぶためである。なお〔返却処理〕(1)が文献番号での検索に加えて返却日が空白値という条件を付けているのも、文献番号だけでは貸出表の行を特定できないことの裏付けになっている。

ここがポイント
  • 主キーは表の中の 1 行を一意に識別できる列(または列の組合せ)で、値の重複と空白値(NULL)が許されない。単独の列で一意にならない場合は複数列を組み合わせた複合主キーにする。
  • 履歴を蓄える表(貸出表・受注表・売上表など)は、実体を表す列(文献番号・社員番号)だけでは同じ組合せが何度も現れるため、日付や時刻を主キーに加えるのが定石。どこまで列を足せば重複しなくなるかは、設問に書かれた業務ルール(ここでは条件(2)の同日再貸出の禁止)から判断する。
用語

解答の記録