人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

DBを設計する際に、IDというカラムは必須なのですか?
IDがないDBをみたことが無いのですがこれには何か理由があるのですか?
あとIDをintではなくbigintにしたときの注意点は何かあるでしょうか?(なければないでも大丈夫です)

●質問者: TaMu
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
ベストアンサー

IDは不要です。
必要な項目のみカラムにすればいいだけです。

普通は DBの設計をするときに 番号を使いますが
これが IDみたいなものです。

たとえば 会員番号とか社員番号とか わかりやすい名前にするのであって
これを IDとかにしたりは しません。

IDなんてしても なんのことか わかりにくいですからね。
そして その会員番号とか社員番号が ユニークになるようにします。

よく見かけるというのは どういうものでしょうか?
このような 会員番号とか社員番号とは別にIDが 設けられているのでしょうか?


2 ● うぃんど

リレーショナルデータベースにおいては、
レコードをユニークにするためにIDを付けます。

IDがなくてもレコードを特定できるカラムがあるならば、
IDは付けなくても良いのですが、習慣的に付ける人もいます。

IDという名前でなくても良いのですが、
IDであれば誰が見てもカラムの意味を理解できるのでIDを慣例的に使ってます。

プライマリキーが複合キーになってしまう場合に、
利便性・処理速度の面で別途IDを付加するというチューニングを行うこともあります。

うだうだと書きましたが端的にまとめると、
「ID列の存在で使い勝手が向上する場合が多い」というのが一番の理由です。


3 ● 無頼庵

レコードを一意に特定するためにIDがあります。
カラムとしてレコードを特定できたとしても、実データですので将来的に特定できなくなる場合が考えられます。
レコードを特定する主Keyは論理的であり、これに対しIDは物理的なものと考えるのが良いでしょう。
記憶媒体が高価であった昔は、データ量を削減するためにIDを設けないことが有りました。現在は、そのようなことはありませんのでIDを設けておくべきです。

尚、タイプは設計の件数が格納できることが前提ですが、システムの推奨するタイプを使用することが賢明です。一般的にバージョンアップ等の改変で考慮がほぼ不要となりますので。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ