テクノロジ系57 / 100問
ITパスポート試験 令和2年度 公開問題 問57
次に示す項目を使って関係データベースで管理する"社員"表を設計する。他の項目から導出できる、冗長な項目はどれか。

選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】イ
表には、社員番号、社員名、生年月日、現在の満年齢、住所、趣味が含まれています。このうち現在の満年齢は、生年月日と現在の日付を使って計算できます。例えば、現在の年から出生年を引き、今年の誕生日がまだ来ていなければ1を引くことで求められます。そのため、満年齢を表に保存すると、生年月日と重複する冗長な情報になります。年齢は時間の経過によって変わるため、保存していると毎年更新する必要があり、更新漏れによる不整合も発生します。したがって、イが正解です。
アの生年月日は誤りです。生年月日は年齢計算の基礎となる事実であり、表にある他の項目から計算して求めることはできません。
ウの住所は誤りです。住所は社員ごとに登録する固有の情報であり、社員名、生年月日などから導出できません。
エの趣味は誤りです。趣味も本人から得て登録する情報であり、他の項目から計算できません。ただし、趣味を複数登録する場合は、別の表に分けて管理する設計も考えられます。
【ポイント】 他のデータから計算できる導出項目を保存すると、更新漏れによる矛盾が起こりやすくなります。 年齢のように時間とともに変化する値は、生年月日などの変化しない事実から必要時に計算するのが基本です。
出典:令和2年度 ITパスポート試験 公開問題 問57
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の100問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる