平成27年度 春期 ITパスポート試験 公開問題 問87 解説 入退室記録の不整合確認
P社では,一度の解錠で同時に複数の社員が入退室することがあり,入室と退室の 記録の数が合わないという問題が発生していることが分かった。そこで,毎日,入 退室記録表を使って,前日の入退室の回数が一致しない社員がいないかどうかを確 認することにした。次に示す入退室確認では,前日の日付で,同一区画での入室と 退室の回数が一致しないICカード番号を調べる手順を示している。a, bに入れ る字句の適切な組合せはどれか。 〔前日の入退室確認〕 (1) 入退室年月日が前日の日付であるレコードを全て取り出し,IC カード番号 の昇順で,かつ,区画番号の同じレコードが並ぶように整列する。 (2) (1)で整列したレコードに対して,IC カード番号と区画番号が同じレコード ごとに,それらの a し,その結果の値と IC カード番号及び区画番号 とを併せて表として記録する。 (3) (2)で記録した a した値が b IC カード番号と区画番号を 出力する。
- ア. 区画番号が1の場合は1を加算し,2の場合は2を加算 / 奇数である
- イ. 入退室区分の値を合計 / 0でない ✓ 正答
- ウ. 入退室時刻の入室と退室の時刻差を合計 / 24時間を超える
- エ. レコードの個数を計数 / 偶数である
解説
この問題は、データ処理の考え方を問うています。入室を 、退室を という数値に置き換えて合計し、その結果が になるかどうかを確認することで、入室と退室の整合性が取れているかを判定します。正解は イ です。
データの整合性チェックと数値化のテクニック
情報システムにおいて、データの整合性をチェックする際、このように数値を割り当てて計算する方法は非常に効率的です。
仮に、ある社員の入室データに 、退室データに という数値を割り当てたとします。一日のうちにその区画へ入室し、正しく退室していれば、合計値は となります。もし入室したのに退室していない、あるいはその逆であれば、合計値は 以外の値( または など)になります。
この手法を用いれば、複雑な条件式を使わずに、単純な加算処理と「結果が かどうか」の判定だけで、大量のレコードの中から不整合を起こしている箇所を瞬時に抽出できます。
なぜこの処理が重要なのか
この問題の背景には、セキュリティシステムにおける物理的な運用ミスをシステムで発見するという実用的な意図があります。
現実の職場では、入退室ゲートのセンサーの誤作動や、複数人が同時にゲートを通ることで記録が欠落するといった事象が起こり得ます。情報システムの管理者や担当者は、システム上のデータだけを鵜呑みにせず、こうした「データの論理的な矛盾」を検知する仕組みを構築する必要があります。
試験で問われているのは、プログラミングやデータベース操作の深い専門知識よりも、業務上の課題をどのようなロジックで解決するかというシステム思考です。複雑なデータの塊から、目的に必要な情報だけを抽出する手順(この問題でいう(1)整列、(2)集計、(3)抽出というプロセス)は、データ分析の基本そのものです。
実務への応用
この手法は、ITパスポートで学ぶデータベースの基本的な集計処理(SQLでいえば GROUP BY を用いた集計と HAVING 句による条件絞り込み)の考え方と一致します。
業務システム開発の現場では、例えば在庫管理において「入庫をプラス、出庫をマイナス」として計算したり、経理処理において「借方をプラス、貸方をマイナス」として合計がゼロになることを確認したりと、非常に幅広く応用されています。この論理的な考え方を理解しておくと、将来システム企画や運用に関わる際に非常に役立ちます。