LoginSignup
1
0

More than 3 years have passed since last update.

RDBMSの制約 プラマリキー(主キー)ってなんだ?一意が保証される?

Last updated at Posted at 2019-12-29

データベースについて勉強していた時RDBMSの制約というのがでてきた。

その中に「一意性制約(UNIQUE KEY)」というのがあるらしい。
※ここでは一意性制約(UNIQUE KEY)ではなくプラマリキーが正しい
「なるほど。わからん。」

「一意 = 唯一無二」と置き換えて

ここでよくあるユーザー登録を例に制約の必要性について考えてみる。

・サイトを利用するために当たり前のようにユーザー登録がありメールアドレスなど個人のデータを入力して登録する。

・その際サイトの裏側ではデータベースに入力したデータ(ここではメールアドレスにあたる)が入る。

・その後サイトを利用するためにログインをする必要がある。このとき登録されているかどうか。つまり、データベースにデータ(登録したメールアドレス)がはっているかどうか確認する。

・確認するためのデータが必要で(ここではメールアドレス)そのデータは唯一無二でなければ特定することができない。(同じメールアドレスが複数あったらどのデータを呼び出したらいいかわかんなくなっちゃう)

↑ではメールアドレスが主キーになっている。

だから一意が保証されている(主キー)必要がある!

Railsだとidとか特定できるデータであれば主キーにあたる。

納得した―。今日もいい勉強したな!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0