入力データの定義
リレーションシップって何?
Accessはリレーショナルデータベースソフトです。
お互いに関連付けてデータベースを構築するソフトになります。
複数のテーブルに共通のキーを持たせて、そのキーでテーブル同士をつなぐことをリレーションシップといいます。
・・・ちょっと判りづらいかもしれませんね、これだけでは(^^;
一応例を挙げますと・・・。
たとえば、みんなで共同で住所のデータベースを入力していくとします。
名前 | フリガナ | 部署 | 郵便番号 | 住所 | 担当 |
---|---|---|---|---|---|
安部 光男 | アベ ミツオ | 総務部 | 〒540-0026 | 大阪府大阪市中央区内本町*-*-** | 田中 |
石田 純一 | イシダ ジュンイチ | 人事部 | 〒556-0016 | 大阪府大阪市浪速区元町*-*-** | 鈴木 |
岡田 守 | オカダ マモル | 開発部 | 〒541-0054 | 大阪府大阪市中央区南本町*-*-** | 田中 |
岡本 太郎 | オカモト タロウ | 営業部 | 〒530-0001 | 大阪府大阪市北区梅田*-*-** | 斉藤 |
石田 純一 | イシダ ジュンイチ | 人事部 | 〒556-0016 | 大阪府大阪市浪速区元町*-*-** | 田中 |
上のデータを見て、何か「あれ?」と思いになりませんか?
石田純一さんのデータがダブっていますよね? 入力担当の方は違いますけどね・・・
もし、住所が変わったときはどうしますか?・・・・ダブリはどうしましょう?
共同でデータベースを入力するときに、いかにして効率よく、ダブリデータがないようにするかが重要なポイントです。
Accessでは、そういうことがないように、なるべく種類別、部門別に小さなテーブルを分けて、テーブルとテーブルを関連付ける(リレーション)ことによって、効率よくデータベースの管理ができる、というソフトなのです。
入力データを定義づけるための秘訣とは?
入力データの定義のヒントについて表にしてみます。
(参考文献:マイクロソフト・オフィス・ユーザー・スペシャリスト試験MOUS予想・対策ブック-Access 2000編-/柳井 美紀著)
ポイント | ヒント | 設定 |
---|---|---|
どんなデータが入るの? | このフィールドは日付型? 郵便番号?・・・電話番号?・・・それとも金額?などなど | フィールド名・データ型・フィールドプロパティ |
データはダブらない? | 同様のデータを何度も何度も入力する必要がないようにしなきゃいけないですよね? | |
他のテーブルと関連付けるの? もしするとしたらどのフィールド? | 共通のフィールドを持たないと関連付けられない | 主キー(参照されるキー) 外部キー(参照するキー) (共通となるフィールド) |
前のセクションでのデータベースとして理想的な形は以下の通りです。
判りやすく関連付けられるフィールドを色分けしてみました♪
|
|
|
また、テーブルの設計において、日々変化が少ないテーブル(たとえば住所・担当者・部署などでダブリがない)なのか、それとも日々変化するテーブルなのか(売り上げ・仕入れ・在庫などのデータの集まりでダブリもありえる)も把握しておかなければいけません。
前者は「静的テーブル」、後者は「動的テーブル」となります。
主キーとして設定されたフィールドはダブリはNGです
・・・・っていうか、ダブリがあるフィールドは主キーになれないんですけどね(^^;
主キー・外部キーとは、上のデータベース構造にたとえると、
担当者マスターにある担当者IDは主キーとなり、住所録マスターでの担当IDは外部キーとなります。
最後に・・・
新規データベースを作成して、3つのテーブルを作成しておいてください。
このデータベースは次のセクションで使います(^^;
テーブルの名前 | 住所録マスター | 部署マスター | 担当者マスター |
---|---|---|---|
ID(主キーとして設定) | 住所ID(オートナンバー型) | 部署ID(オートナンバー型) | 担当ID(オートナンバー型) |
フィールド名 (とりあえずすべて テキスト型で) | 名前 | 部署 | 担当者 |
フリガナ | 部署ID | ||
郵便番号 | |||
住所 |
コメント
※技術的な質問はMicrosoftコミュニティで聞いてください!