Access入門講座(10) 主キーについて

以下は当記事に関連する動画です。本動画に関連する動画はすべてニコニコチャンネルにて閲覧可能です。
https://ch.nicovideo.jp/ai-light

今回は、テーブル定義の中の主キー項目について説明したいと思います。テーブルをデザインモードで開いた時に赤丸をつけた「鍵」のマークの部分が「主キー」と呼ばれるものです。主キーの設定は主キーとしたい項目を選択しておき、デザインタグの「主キー」を押すと設定できます。

「主キー」とは何かというと、項目の値に同じ値を入力することができない項目のことです。例えば、下図にて顧客IDを主キーに設定していますが、この欄にまだ使用されていない番号「6」を入力すると入力されます。

しかし、既に使用されている「1」を入力しようとすると以下のようなエラーメッセージが表示され、入力できません。

「アクセス」はデータに関しては行ごとに更新されます。例えば「顧客名」の欄に「内藤」と入力するとします。すると、現在編集中であることを示す赤丸で囲んだ「鉛筆マーク」が表示されます。マウスカーソルの行を変更した時点(編集している行とは別の行にカーソルが移った時点)で操作していた行の内容は更新され、「鉛筆マーク」も消えます。

また、行単位で更新をしているため開いていたファイルの右上の「×」マークをクリックしてファイルそのものを終了しようとすると、例えば、Excelなどでしたら、「ファイルを保存しますか」などとメッセージが表示されますが、Accessの場合にはそのようなメッセージは表示されません。

 

Accessを使用するメリットとして複数人で同時使用できるということがあります。エクセルの場合だと管理単位がファイルとなっています。例えば、別のシートを触っていても共通のブック(ファイル)をお互いが触った場合には、どちらが正しいかという問題が発生してきます。そのため、すでに開いているファイルを開こうとすると、「すでにそのファイルは編集中です」といった旨のメッセージが表示され、複数人が同時使用できない仕様となっています。

 

一方、Accessの場合はデータの管理単位が行ごとなので、複数人が同時に同じテーブルを編集していても、編集している行が違う場合には問題がありません。具体的には、Aさんは2行目を編集中で、Bさんは5行目を編集中であるということが全く問題ないわけです。ただし、同じ行を複数人が同時に編集ことはできませんので、他の人が編集中の行を編集しようとすると、「すでにその行は編集中です。」といった旨のメッセージが表示されます。

 

Accessの場合はデータを管理する単位が行となりますので、「行」という単位が重要な意味を持ってきます。それぞれの「行」を特定するために、主キーが使用されます。そのため主キー項目は、原則、データの値をダブって入力することができなくなっています。

 

この主キーという考え方は、Accessに特有なものではなくデータベース全体に共通する考え方です。

 

行を特定するために基本的には主キーは設定してほしいですが、ソフトウェアの技術も上がってきていて、非常に使い勝手を考えた便利なものになってきているので「主キー」を設定しないということも可能になってきています。ただし、基本的にテーブル定義の中で「主キー」は必須になりますで、できる限り「主キー」項目を設定しておいた方がよいでしょう。

 

例えば、下の図のように顧客id項目から主キー設定を削除すると、「1」がダブっている状態でも更新ができます。

また、複数の項目をまとめて「主キー」にすることもできます。
例えば、「顧客ID」と「顧客名」の二つで「主キー」であるという風に設定ができます。

そうすると、「顧客ID」と「顧客名」の二つの項目でダブらなければOKということになります。
例えば、「顧客ID」が同じ「6」でも「顧客名」が違えば更新ができます。

逆に両方の項目が全く同じであると更新はできません。

テーブル設計において、どの項目を主キー項目とするかということは非常に重要です。ぜひ、主キーという項目の概念は理解していただきたいです。

 


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。


株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

無料から学べる講座
https://www.ai-light.com/itkeiei/

ITでお困りのことがございましたら、まずはご相談
https://www.ai-light.com/itconsulting.html

格安ホームページ制作所
https://www.ai-light.com/hp2

YouTubeチャンネル
https://www.youtube.com/user/ailightcom

ニコニコチャンネル
http://ch.nicovideo.jp/ai-light