今日も前回に引き続きデータベース設計の話をする。今回の話で一旦データベース設計については筆を置くつもり(ブログ書いてないで原稿書けよ>俺)であるが、その前に話をすっきりさせて置きたいと思う。最後を飾るテーマはIDの設計である。 数字しかないのに意味を含んだID前回のエントリを見ていただいた方から、次のような構造を持った学籍番号があるというフィードバックを頂いた。 全部数値で"入学年度下2桁"+"学科コード"+"学科内のあいうえお順の順位" このようなルールで割り当てた学籍番号を、単なる数値として扱うのであれば大きな問題はない。これは数値しか含まれていないので、SQLのデータ型としては単に数値型を使えば良いだろう。だが、学籍番号から入学年度を判断する、あるいは学科を判断するといった用途で使われるのであればやはり適切ではないといえる。リレーショナルモデルの観点だけからではなく、IDとして適切で
![IDの設計についてのさらに突っ込んだ議論](https://cdn-ak-scissors.b.st-hatena.com/image/square/a24bb50a5b39d125fcedd5e459fdc44aaa0e046c/height=288;version=1;width=512/http%3A%2F%2F1.bp.blogspot.com%2F-sRsoXxUVDT4%2FUqXpNqK76rI%2FAAAAAAAABwE%2FYocEIw5Ea0M%2Fw1200-h630-p-k-no-nu%2Fid-mapping.png)