データベースの演習に関わっている者の「雑感」です.
学生を含むデータベースの設計をする場合, 各学生の識別情報として「学籍番号」という属性名をつけることがあります.
「学生番号」という名称でもかまいません.
どちらにするかですが,ひとつのデータベース設計において, 「学籍番号」と「学生番号」とが混在しなければ問題になりません. 簡単に言うと『統一性を持たせること』です.
和歌山大学システム工学部の現状は混在がありまして,具体的には,
ひとつおもしろかったのは,履修届の書き方に関する掲示で, 「学籍番号欄には,学生証の学生番号の数字を記入すること」 といった表現があったことです.
上のケース以外に「学生番号」というのは見たことがないし, 日常は「学籍番号」で通せばいいのではないかと思います.
とはいうものの, かつて卒業論文や修士論文の原稿を見たときに, 表紙に「学籍番号: xxxxxxxx」とあれば, 「学籍番号じゃなくて学生番号だよ.学生証を見てみ」と 指導していたものです.
店舗データベースを設計するなら,客の個人情報を管理することになるでしょう. その場合,「顧客」あるいは「利用者」といったテーブル名を用意します. そして個人情報の中に,年齢情報も確保するなら, 「年齢」という属性名を入れたくなります.
ですが,少し考えないといけません.
「年齢」という属性名をつけて,レコードを登録するまではいいとして,さて, いつその人(レコード)の年齢をひとつ上げればいいでしょうか?
そんな問題があるので, 「年齢」に替えて,「生年月日」を用いるのが適切なことがあります. 生年月日は,時間の経過によって変動することのない要素ですし, データベースに問い合わせをする日時で年齢を求めることができます.
生年月日と現在の年月日から年齢を求めることは可能だけど, 年齢と現在の年月日から生年月日を「この日!」と定めることはできません. 簡単に言うと『生年月日は年齢よりも詳細な情報である』ということです.
では年齢にかえて生年月日を採用すべきかというと,ここでもまた, 少し考えないといけません. データ登録者は,生年月日を知ることができるのか,という問題があります. 生年月日は年齢よりも詳細な情報であり,その分, 客がやすやすと提示してくれない可能性があります.
結局のところ, 「年齢で十分か? 生年月日が必要では?」ということを いちいち考えながら,目的に応じてデータベースを設計することになります.
簡単な例を出すならば,