4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

主キーと外部キー

Last updated at Posted at 2022-08-07

表の中から一つを探す時どこにあるのかわからない時がある。
そんな時にデータベース上には一つ一つを識別できる情報が含まれている。
それを主キーという。
また表と表を関連付ける関係データベースで他の表を参照するときに他の表の主キーを参照する。
参照される主キーを外部キーという。

主キーは行を特定する鍵のこと

各行を識別するために使う列を主キーという。
主キーの条件は

  • 表の中で内容が重複しないこと
  • 内容が空ではないこと

一意性制約

主キーの値あは、重複がなく、ヌル(空値)は認められない。列中の値が重複しない性質のこと

複合キー

一つの列では一意にならないけど複数の列を組み合わせれば一意になる場合がある。
このように複数列を組み合わされる主キーを複合キーという。
例  一つ家を特定するためには県と市町村と番地とアパート名等を書かなければ一意にならない。

外部キーは表と表をつなぐ鍵のこと

他の表と主キーを参照する列を外部キーという。
他の表の主キーと対応させることによって紐づけることができる。

気づき

主キーと外部キーはプログラミングでも使われる。
改めて知れて良かった。

問題を解いた時の気づき

参照一貫性とは?

  • 最初から最後まで矛盾がない状態であること。同じ態度を持続すること。
    参照一貫性とは参照するための関係を持続する事です。
    出典 https://teratail.com/questions/171032

  • 参照整合性 (さんしょうせいごうせい、英: referential integrity) は、コンピュータの関係データベースの関係モデルにおいて2つの関連しあった関係変数 (表、テーブル) の間の一貫性 (データ完全性) をいう。 参照整合性は、多くの場合、主キーもしくは主キー以外の候補キーと、外部キーの、組み合わせにより、強制適用される。 参照整合性が強制適用されると、外部キーが宣言された関係変数の外部キーを構成する属性 (列、カラム) の値は、その関係変数の親となる関係変数の主キーの値もしくは主キー以外の候補キーの値として存在しなければならない
    出典 https://ja.wikipedia.org/wiki/%E5%8F%82%E7%85%A7%E6%95%B4%E5%90%88%E6%80%A7

候補キー

候補キーとは、リレーショナルデータベース(RDB)のテーブル内で、すべてのレコード(組/行)を一意に識別することができる項目(列/カラム)の組み合わせ。この中から一つが「主キー」(primary key)に選ばれる。

すべてのレコードで値が異なることが保証されるような列や、値の組み合わせに重複が無い複数の列が該当する。例えば、通し番号や識別番号(ID)のように、データの性質上、重複しないことが明らかな列は単体で候補キーとなることができる。

また、例えば、全社の各支店の課を一件ずつ登録した「課名」テーブルで「支店名」と「課名」は単体ではどちらもレコード間で重複しうるが、両者の組み合わせ(○○支店××課)は一意である。このような複数の列の複合をキーとすることもできる。

複合キーの場合、厳密には「いずれか一つが欠けても一意にならなくなる列の組み合わせ」のみ候補キーとなることができる。このような性質を「既約」であると言う。例えば、支店名と課名の他に「課長名」を加えても一意だが、これが無くても一意であることは変わらないため候補キーに加えることはできない。

候補キーのうち一つが、実際にレコードの識別に用いられる主キーとして設定される。主キーに選ばれなかった候補キーのことを「代替キー」(alternate key)ということがある(「代替キー」という用語はサロゲートキーを指す場合もある)。候補キーに「値無し」(NULL値)を許容するかは諸説あるが、主キーにNULLは許容されないため、「主キーの候補である」とする立場では許容されないとなる
出典 https://e-words.jp/w/%E5%80%99%E8%A3%9C%E3%82%AD%E3%83%BC.html#:~:text=%E5%80%99%E8%A3%9C%E3%82%AD%E3%83%BC%20%E3%80%90candidate%20key%E3%80%91,primary%20key%EF%BC%89%E3%81%AB%E9%81%B8%E3%81%B0%E3%82%8C%E3%82%8B%E3%80%82

気づき

主キー、外部キー、複合キー、候補キーなど色々キーがあることがわかった。
主キーと外部キーしか知らなかった。
こうして調べることで他の複合キーや候補キーについて知ることができた。
良かった。

出典 キタミ式イラストIT塾 基本情報技術者 令和03年

4
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?