外部キーってExcelの入力規則みたいなもの

SunShine!
SunShine!

データベースの話ね。
主キーとか外部キーとかの話ね。

コンピューター

外部キーをExcelで説明したら

データベースって、やっぱちょっと特殊だよね。
IT関係の技術者には常識だろうけど、ユーザーに説明するのがね。。

部キーだから消せないとか言っても分かりにくいっしょ。

Excelの話にしたら

入力規則なら分かるってゆーから。
Excelでたとえてみよう!
データベースとは違うけど、たとえ話だから。

リスト
入力規則(リスト)

想像してみてください。
まずリスト作るでしょ。作ったリストの値を候補にするでしょ。

だから、リストがないと値を設定できないでしょう。

  • 元の値のリストが必要
  • そのリストがないと設定できない

データベースってけっこう厳格なんだよ。
だから、元リスト必須。例外は認められない。
(例外が必要なら、それは外部キーにできないんだ。)

どんなときに外部キーがでてくる?

すでに外部キーになってるなら、それをベースに考える。
これから設計するなら、どんなものに最適かな。

宝の地図

乱暴めにたとえてこ。

外部キーになってるなら

やれないことやらなきゃいけないことが注目されるよね。

コンピューター

やれないことは、こっちの表ですでに選択済みの値は、元リストから削除できないよね。
カテゴリーをリストから選択しといて、そのカテゴリーを消すとか変えるとかは無理ね。
先に元リストをメンテしなきゃね。

2つのテーブルの間で、制限がかかっちゃうね。

外部キーにすべきことを考えると

すべきときね。
元リストありきで値を決めるようなやつ。
かつ、例外がないやつ。

教科書的な例題は、社員マスタの社員さんに部署マスタの部署コードを紐付けるとか。

電気閣

詳しくは設計担当者さんが考えてくれるだろうけど。
外部キーのリストにないものは指定できないから注意してね。
ちゃんと例外がないことを確認してね。

制約になるでしょ?

てなわけで、データをちゃんと整えることが目的のデータベースだから。
主キーは、一意にそれを指定できるやつ。
外部キーは、他のテーブルに存在してる必要があるの。

Excel

なんか微妙かもしれんがw
Excelの機能で考えてみるといいかもね。

ご意見やご感想などお聞かせください! コメント機能です。

タイトルとURLをコピーしました