ITパスポート試験 / 平成27年度 春期 ITパスポート試験 公開問題 / 問85
certification-simodake-work

平成27年度 春期 ITパスポート試験 公開問題 問85 解説 入退室管理のDB参照順序

ICカードリーダでICカード番号を読み込んだときに、入退室の可否を判断するためには、データベース中の幾つかの表を調べる必要がある。調べる表とその順番として、適切なものはどれか。ここで、→は表を参照する順番を示している。 なお、社員は1人ずつICカードを使って入退室することになっている。

  1. ICカード登録表 → 入退室許可表 ✓ 正答
  2. ICカード登録表 → 入退室記録表 → 入退室許可表
  3. 入退室記録表 → ICカード登録表 → 入退室許可表
  4. 入退室記録表 → 入退室許可表

解説

この問題は、システムが判断を下すための論理的なプロセスを順序立てて考えることで正解に辿り着けます。

判断を下すための最短ルートを見抜く

入退室管理システムにおける「可否判断」は、以下の2段階で行われます。

  1. そのICカードが誰のものか(本人確認)
  2. その本人が入室を許可されているか(権限確認)

これに基づき、まずICカード番号から個人情報を紐付けるために「ICカード登録表」を参照し、次にその社員が入室許可リストに入っているか「入退室許可表」を参照します。「入退室記録表」は結果を残すための場所であり、入室できるかどうかの判断材料には使われません。

データベース操作の基礎知識

今回の問題は、リレーショナルデータベースにおける「テーブル参照」の考え方を問うています。システムが処理を行う際、全ての表を適当に読み込むのではなく、必要な情報を効率よく取得するための「順序」が重要になります。

ICカード登録表は、システムにとっての辞書のような存在です。ICカードという「鍵」に対応する「社員ID」などの情報を取得するために必ず最初に参照する必要があります。次に、その社員IDをキーにして、入退室許可表という「ルールブック」と照らし合わせることで、ようやく「許可」か「否か」が確定します。

このように、複数の表を連結して必要な答えを導き出す手法は、SQLの「結合(JOIN)」などの技術として実務でも頻繁に利用されます。

システム設計における役割分担

この問題の教育的意図は、データベースを構成するテーブルが「何のために存在しているか」という目的を正しく理解することにあります。

入退室記録表は、いわゆる「ログ」です。ログは、問題が起きた時に「誰がいつ入ったか」を遡るために作成されるものであり、リアルタイムの認証プロセスには関与させないのが一般的です。もし認証のたびに膨大な記録表を読み込んでいたら、システム全体の動作が遅くなり、スムーズなゲート通過ができなくなってしまいます。

実務においては、処理の高速化と正確性の両立が求められます。認証プロセス(判断)と記録プロセス(ログ)を適切に分離して設計することは、セキュリティと利便性を両立させるシステムエンジニアリングの基本といえます。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう