基本情報技術者 ~データベース[2]~



f:id:potato_head0809:20210116010233p:plain




こんにちは!ポテトヘッド(@potato_head0809)です!



今回はデータベースの「主キー・外部キー」について学んでいこうと思います。



データベースの基本的なことについては



以前の記事で書いていますので宜しければご覧ください。



データベースの基本

potato-head0809.hatenablog.com

 



では、早速始めていきましょう。



主キー・外部キー



以前の記事でデータベースを最適な形にすることについて



学んだことを覚えていますでしょうか。



前回の例で言うと、部活動の名前を別の表に移して...



というように分割をしましたね。



そのようにして作られた表と元の表に関係が無ければ



分割した意味が全く無くなってしまいます。



そこで、関係付けるのが「主キー」と「外部キー」です。



言葉ではあまりイメージができないかもしれませんので、



1つずつ図を使いながら見ていくことにしましょう。



主キー



主キーとは、行の1つ1つを識別できるものです。



学校で言えば、学籍番号が主キーに当たります。



学籍番号がわかれば、その生徒の情報が分かりますよね。



f:id:potato_head0809:20201209075622p:plain




上の図のように、生徒表であれば学籍番号。



前回切り分けた部活表の方では部活動IDが主キーとなります。



重要なのは、その主キーが分かればそのキーの情報が分かるということと、



他の行と重複しないものが主キーに適しているということです。



外部キー



続いて、外部キーについて見ていきましょう。



以前から関係データベースについて見てきましたが、



関係データベースでは表と表を関係付けることができましたよね。



では、何を基準にして関係付けていましたでしょうか。



実は、ここでも主キーが必要となってきます。



外部キーとは表と表を関係付けるために、



他の表の主キーを参照する列のことを言います。



言葉ではイメージしづらいかもしれません。



では図を見てみましょう。



f:id:potato_head0809:20201209080429p:plain




このようにして、他の表と関係を作っています。



この関係を作ることで、簡単に欲しい情報が見つけられます。



例えば、「〇〇君は何部に所属しているのか。」などですね。



f:id:potato_head0809:20201209080629p:plain




さいごに。



今回は少し短めでしたが、主キー・外部キーについて学びました。



データベースが大きくなるにつれて、表を最適化するために



分割して作られる表の数も増えてくると思います。



そこで大切なのが今回のキーの関係です。



ぜひ、覚えておいてください。



今回も最後までご覧頂きありがとうございました。



宜しければツイッター(@potato_head0809)をフォローしてください!



以上になります。お疲れ様でした。