出典:令和2年度 ITパスポート試験(IP) 秋期分 問57
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| データベース | データがそれっぽい感じに入っている箱 |
| リレーショナルデータベース | データを表形式で扱っていて、表同士をくっつけたりなんだりできるデータベース。OracleとかMySQLとかのこと |
| 関係データベース | リレーショナルデータベースを日本語にした表現 |
問題
| 問題文 |
|---|
次に示す項目を使って関係データベースで管理する"社員"表を設計する。他の項目から導出できる,冗長な項目はどれか。![]() |
| ピヨ意訳:データベースに「社員」表を作るよ。以下の項目のうち「この項目の内容は他の項目を見れば分かるから、わざわざ項目として用意しておかなくてもいいよね?」な項目は、どれ? 1.社員番号 2.社員名 3.生年月日 4.現在の満年齢 5.住所 6.趣味 |
| 解答選択肢 | |
|---|---|
| ア | 生年月日 |
| ピヨ意訳:- | |
| イ | 現在の満年齢 |
| ピヨ意訳:- | |
| ウ | 住所 |
| ピヨ意訳:- | |
| エ | 趣味 |
| ピヨ意訳:- | |

正解
| 正解 | |
|---|---|
| イ | 現在の満年齢 |
| ピヨ意訳:- | |
ピヨピヨ解説
もし、あなたがプログラマやSEとしてご飯を食べていけるようになりたいのであれば、(将来的には)これくらいの問題は直感で解けるようになってください。
プログラマやSEとしてある程度の経験を積んだ人であれば、見た瞬間に答えが分かるはずです。
生年月日(と今日の日付)が分かれば、年齢は計算で求められますよね?
作る予定の表には項目「生年月日」があります。
よって、項目「現在の満年齢」は、なくても困りません。
生年月日と今日の日付から計算で求められるからです。
ということで「イ:現在の満年齢」が正解です。
以下、余談です。
項目「現在の満年齢」は、システム的には、むしろ用意しない方が無難な項目です。
「あっても、なくても良い」では ありません。
「ない方が良い」です。
用意してしまうと、都度、誕生日を迎えた社員の「現在の満年齢」を更新する必要が生じるからです。
めんどっちーですよね?
「誕生日をもとにして年齢を計算する方が、負荷が大きくなるよ!」という場合は項目として用意するでしょうけどね。
それ以外の場合は、生年月日のみを用意し、年齢関係は計算で求めるのが一般的です。







