P 社は,セキュリティを確保するために自社ビルを 10 の区画に分け,各区画への入退室を IC カードで行うシステムを導入し,その管理方法についての検証を始めた。この IC カードを使った入退室管理(以下,入退室管理という)の概要は次のとおりであり,入退室管理で用いるデータベースの構造(一部)を図 1 に示す。 〔入退室管理の概要〕 (1) 社員は一つの部署に所属し,IC カードを 1 人 1 枚貸与される。IC カードはカード固有の IC カード番号をもつ。IC カードの情報は IC カード登録表に登録される。 (2) 社員の入退室が許可されている区画は個別に決められており,許可された区分の情報が入退室許可表に登録される。入退室が可能な場合で,その区画が所属部署の入っている区画の場合は “1”,それ以外で入退室が必要と認められた区画の場合は “2” が,入退室許可表の許可区分に登録される。 (3) 各区画には IC カードリーダが設置されており,入退室が許可された IC カード番号を読み取ったときだけドアを解錠し,入退室の記録を入退室記録表に記録する。このとき,入室の場合は “1”,退室の場合は “−1” を入退室記録表の入退室区分に記録する。 なお,P 社は,社員に対して午前 0 時までに退社することを義務づけている。 ICカードリーダでICカード番号を読み込んだときに,入室の可否を判断するためには,データベース中の幾つかの表を調べる必要がある。調べる表とその順番として,適切なものはどれか。ここで,→は表を参照する順番を示している。 なお,社員は1人ずつICカードを使って入退室することになっている。
平成27年度 春期 ITパスポート試験 問85
テクノロジ系データベース › データ操作
这道题的解析和你的作答记录。
問85
頻出度★★☆
解説
問 85
- ア
正解 IC 卡读卡器能获取到的只有「IC 卡号」,而卡号本身并不表明这张卡是谁的。因此首先要参照「IC 卡登记表」,由卡号确定持卡人(员工编号)。接着以该员工编号为键参照「进出室许可表」,确认这名员工是否拥有进入本房间的权限。经过这两个阶段才第一次能够判断能否入室,所以顺序是「IC 卡登记表 → 进出室许可表」,ア 为正确答案。卡号 → 员工编号 → 有无许可,这样顺着键一路追溯的过程,正是表的参照顺序。
错误イ
顺序的中途夹进了「进出室记录表」。记录表是留存「何时、谁、进出了何处」的历史用表,并不持有决定能否入室本身的信息(权限)。题干中也写明「员工每人各自使用自己的 IC 卡进出房间」,因此也不需要为判定尾随进入等情况而去比对过去的记录,所以这一次参照是多余的。
错误ウ
一开始就查看「进出室记录表」。在读取卡号的时点,已知的只有 IC 卡号,而判断能否入室所需要的是确定持卡人和确认权限。从属于历史的记录表入手,既连接不到员工的确定,也连接不到权限的确认,作为参照的出发点是错误的。
错误エ
由于没有参照「IC 卡登记表」,缺少了从 IC 卡号确定员工这一步骤。如果无法确定员工,就得不到用来查询「进出室许可表」的键,也就根本无法判定是否许可。
ここがポイント
- 在关系数据库中,要从手头的键(这里是 IC 卡号)出发,依次参照(连接、选择)各张表,最终到达目标信息(入室许可)。参照顺序由「输入键 → 建立对应关系的表 → 提供判断依据的表」来决定。
- 分辨表的作用:「登记(主)表」定义对应关系,「许可表」是权限判断的依据,「记录(历史)表」用于事后的记录与追溯,不作为能否入室判断的输入。
用語