目次
主キーとは
こんにちは。伊川(@naonaoke)です。
今回は、ACCESSの主キーの説明をします。
主キー(しゅキー、英語:primary key)とは、関係データベースにおいて、組(レコード)の識別子として利用するのにもっとも好ましいものとして、関係(テーブル)毎にただ一つ設計者により選択・定義された候補キーをいう。
つまり、関係に格納されたレコードを一意に識別するための属性(列、アトリビュート)またはその集合のうち、そのために通常利用されるべき特定の一つをいう。
なんのこっちゃっていう話ですよね。なので、伊川なりの説明をします。
主キーは、このように、鍵のマークがつきます。
このブログはこんな人にお勧めです
・ACCESSの主キーを設定できない人
ACCESSを理解するには、主キーの理解が必要不可欠
なぜ、主キーの設定ができないのか?
主キーが設定できない可能性は2つです。
・主キーに設定したい値が、重複している。
・主キーに設定したい値が空白になっている。
これしかありません。
主キーが設定できない原因と対策
通常は、Excelから、ACCESSへデータを移行します。
この時に、主キーが設定できないという現象が発生します。
データを継ぎ足してコピペをしていくとこのようなエラーが表示されます。
Excelのように毎日触っているものならまだしも、
最近操作をしようと思ったACCESSから、いきなり嫌われたような感じですよね。
そして、主キーは結局設定できず、ACCESSを諦めてしまうことになります。
エラーの意味
ACCESSはこう言っています。
「主キーに設定したくても、重複した値がるから、設定できません」
なぜ、重複の値、空白の値につきて、主キーは設定できないのか?
上の図をみてください。
中央に記載しいてる、12345という数字をACCESSでいうところの、主キーとします。
この主キーは、住民台帳、社保台帳、納税台帳、マイナンバーを、主キーはですべて管理できます。
つまり、役所のデータベースをすべて、マイナンバー(主キー)で管理できるからです。
最近では、預金口座を作るときも、マイナンバーの提示が要求される場合があります。
そうなりますと、公的機関だけではなく、民間企業のデータベースも、マイナンバーで管理できます。
こんな便利なことはないと思います。
では、こんなケースではどうでしょうか?
しかし、最近、お母さんの体調が悪く、もっとお母さんの面倒を見たいのですが、仕事が忙しく、なかなか実家に帰れません。なにかいい方法はないか?
これは、主キーとデータベースを連携するとこで簡単に解決します。
電力会社のデータベースとマイナンバーのデータベースを連結させます。
このような設定にしておけば、何かあるときに、Aさんはすぐにお母さんの側へ駆けつけることができます。
人間を番号で管理するには、いくつの問題はあるでしょう。
しかし、このような、一人暮らしの老人の状況をある程度管理できることや、
ほぼ、脱税は不可能になると思います。
この問題から導けること
主キーの重複登録はできない
主キーが重複登録されると、人を特定できません。
12345というマイナンバーが、伊川直助を特定するはずが、Aさんのお母さんにも、12345というマイナンバーが登録されたとしたら、データベースを作成する意味がありません。
私が、不測の事態で、倒れたた場合、Aさんのスマホにも、おかあさんに不測の事態があったという連絡が行くからです。
※これは、マイナンバーを例にしているので、人の特定としています。
主キーは空白登録をゆるさない
伊川直助に、空白の主キーを割振ることはしません。
できなくはないでしょうが、意味がありません。
なぜならば、伊川直助のために、プログラム作成が難しくなるからです。
プログラムを作成するときに、空白を考えないということは、ものすごく楽なことのです。
だから、必ず、データ型(普通は、数値型)を決めて、そして、空白値を登録させないのです。
まとめ
現在、国民は、なんらかのデータベースに必ず登録されています。
例えば、免許証は、身元照会で必ず使うデータベースです。
ACCESSでつまずいた時は、身近なデータベースを例に考えてみてください。
きっと、みなさんの疑問を解決するヒントがあると思います。
※動画では、ACCESSの初期設定も解説していますが、ここでは、割愛させていただきます。
また今回のブログにサンプルファイルはありません。