IDがないDBをみたことが無いのですがこれには何か理由があるのですか?
あとIDをintではなくbigintにしたときの注意点は何かあるでしょうか?(なければないでも大丈夫です)
IDは不要です。
必要な項目のみカラムにすればいいだけです。
普通は DBの設計をするときに 番号を使いますが
これが IDみたいなものです。
たとえば 会員番号とか社員番号とか わかりやすい名前にするのであって
これを IDとかにしたりは しません。
IDなんてしても なんのことか わかりにくいですからね。
そして その会員番号とか社員番号が ユニークになるようにします。
よく見かけるというのは どういうものでしょうか?
このような 会員番号とか社員番号とは別にIDが 設けられているのでしょうか?
IDは不要です。
必要な項目のみカラムにすればいいだけです。
普通は DBの設計をするときに 番号を使いますが
これが IDみたいなものです。
たとえば 会員番号とか社員番号とか わかりやすい名前にするのであって
これを IDとかにしたりは しません。
IDなんてしても なんのことか わかりにくいですからね。
そして その会員番号とか社員番号が ユニークになるようにします。
よく見かけるというのは どういうものでしょうか?
このような 会員番号とか社員番号とは別にIDが 設けられているのでしょうか?
リレーショナルデータベースにおいては、
レコードをユニークにするためにIDを付けます。
IDがなくてもレコードを特定できるカラムがあるならば、
IDは付けなくても良いのですが、習慣的に付ける人もいます。
IDという名前でなくても良いのですが、
IDであれば誰が見てもカラムの意味を理解できるのでIDを慣例的に使ってます。
プライマリキーが複合キーになってしまう場合に、
利便性・処理速度の面で別途IDを付加するというチューニングを行うこともあります。
うだうだと書きましたが端的にまとめると、
「ID列の存在で使い勝手が向上する場合が多い」というのが一番の理由です。
レコードを一意に特定するためにIDがあります。
カラムとしてレコードを特定できたとしても、実データですので将来的に特定できなくなる場合が考えられます。
レコードを特定する主Keyは論理的であり、これに対しIDは物理的なものと考えるのが良いでしょう。
記憶媒体が高価であった昔は、データ量を削減するためにIDを設けないことが有りました。現在は、そのようなことはありませんのでIDを設けておくべきです。
尚、タイプは設計の件数が格納できることが前提ですが、システムの推奨するタイプを使用することが賢明です。一般的にバージョンアップ等の改変で考慮がほぼ不要となりますので。
コメント(1件)