問57
頻出度★★★
次に示す項目を使って関係データベースで管理する“社員”表を設計する。他の項目から導出できる,冗長な項目はどれか。 社員
| 社員番号 | 社員名 | 生年月日 | 現在の満年齢 | 住所 | 趣味 |
|---|
这道题的解析和你的作答记录。
次に示す項目を使って関係データベースで管理する“社員”表を設計する。他の項目から導出できる,冗長な項目はどれか。 社員
| 社員番号 | 社員名 | 生年月日 | 現在の満年齢 | 住所 | 趣味 |
|---|
「出生年月日」是无法从其他数据项计算得到的基础数据,反而是推导周岁年龄的来源数据项。它并非冗余而是必需的,所以错误。
正解 正确答案是イ「当前的周岁年龄」。在关系数据库的设计中,如果把能从其他数据项计算、推导出来的值作为实际数据重复保存,就会造成冗余,并在更新时容易产生数据不一致。周岁年龄总是可以由「出生年月日」与当前日期之差唯一算出,因此无需存放在表中,需要时计算即可。所以,能从其他数据项推导出来的冗余数据项就是「当前的周岁年龄」。此外,周岁年龄是随时间推移每年变化的时变值,若作为实际数据保存,会因漏更新而残留错误的值,从这一点看它也是不应保存的典型例子。
「住址」是每个员工各自特有的信息,是无法由员工编号或姓名等其他数据项推导出来的独立数据。它不是冗余的,所以错误。
「兴趣爱好」也因人而异,是无法从其他数据项计算或推测出来的独立数据。它不是冗余的,所以错误。