主キーの定義とは
リレーションシップの設定
最終更新日時:2014/07/01 13:23:20
Microsoft Accessはリレーショナルデータベースソフトです。複数のテーブルに共通のキーを持たせて、そのキーでテーブル同士をつなぐことをリレーションシップといいます。 この記事では、リレーションシップの設定に必要な主キーの定義について説明します。
はじめに
Microsoft Accessはリレーショナルデータベースソフトです。複数のテーブルに共通のキーを持たせて、そのキーでテーブル同士をつなぐことをリレーションシップといいます。
たとえば、みんなで共同で売上データを入力していくとします。すると、以下のように同じ人なのにデータが重複してしまったり、同じ商品なのに入力の違いによって矛盾が生じたりしませんか?
顧客名 | 商品名 | 単価 | 数量 |
---|---|---|---|
安部 光男 | わにちゃんシャンプー | 700 | 1 |
石田 純一 | ワニちゃんシャンプー | 700 | 2 |
安部光男 | わにちゃんシャンプー | 700 | 1 |
岡本 太郎 | わにちゃんリンス | 720 | 1 |
データの重複や矛盾が起こらないように、なるべく種類別、部門別に小さなテーブルを分けて、テーブルとテーブルを関連付ける(リレーション)ことによって、効率よくデータベースの管理が行えます。
主キーと外部キーの違い
テーブルには、主キーと外部キーが存在します。
- 主キー
- データの重複を防ぐためのもの。他のテーブルに参照されるキーにもなります。
- 外部キー
- 他のテーブルの主キーを参照するキー。この外部キーを使うと何度も同じ情報を入力する手間が省けます。
ポイント | ヒント | 設定 |
---|---|---|
どんなデータが入るの? | このフィールドは日付型? 郵便番号?・・・電話番号?・・・それとも金額?などなど | フィールド名・データ型・フィールドプロパティ |
データはダブらない? | 同様のデータを何度も何度も入力する必要がないようにしなきゃいけないですよね? | |
他のテーブルと関連付けるの? もしするとしたらどのフィールド? | 共通のフィールドを持たないと関連付けられない | 主キー(参照されるキー) 外部キー(参照するキー) (共通となるフィールド) |
|
|
|
また、テーブルの設計において、日々変化が少ないテーブル(顧客マスターや商品マスターなど)なのか、それとも日々変化するテーブルなのか(売り上げ・仕入れ・在庫などのデータの集まりでダブリもありえる)も把握しておかなければいけません。
前者は「静的テーブル」、後者は「動的テーブル」となります。
INDEX
コメント
※技術的な質問はMicrosoftコミュニティで聞いてください!