Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21093

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

$
0
0

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

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

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

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

つまり、こういうことらしい

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

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

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

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

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

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

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

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


Viewing all articles
Browse latest Browse all 21093

Trending Articles