■ データベースダイアグラムについて
テーブル間の関係を定義するのがデータベースダイアグラムを使用して
外部キー(Foreign Key)を設定します。
1.データベースダイアグラムの作成
・データベースダイアグラムをクリックします。
・右クリックして「テーブルの表示」をクリックします。
・「テーブル」の「+」をクリックするとテーブルが表示されます。
・テーブルをドラッグ&ドロップします。
・各テーブルで関係(リレーション)を作成します。
・第5回の得意先マスタと担当者マスタを例にします。
・担当者マスタの担当者コードを得意先マスタの担当者コードへ
ドラッグします。
・「リレーションを作成」のダイアログボックスが表示されます。
・主キー(担当者マスタ)の担当者コードと外部キーテーブル
(得意先マスタ)の担当者コードの関係を定義します。
・「作成時に既存データを確認する」のチェックを外して「OK」
ボタンをクリックします。
・閉じるボタンをクリックして名前をつけて保存します。
2.「リレーションを作成」の説明
「作成時に既存データを確認する」
「INSERTとUPDATEに対するリレーションを有効にする」
「レプリケーションに対するリレーションを有効にする」
の説明をします。
2−1.「作成時に既存データを確認する」
リレーションを作成、保存する時、すでに入力されている
データが2−2の制約を満たしてしるかどうかを確認します。
2−2の制約を満たしていない場合、リレーションは保存
されません。
2−2.「INSERTとUPDATEに対するリレーションを有効にする」
外部キーテーブルにデータを追加、変更する場合、
主キーテーブルに存在しない主キーの値を入力することが
できなくなります。
例えば、担当者マスタの担当者コードに存在しないコードを
得意先マスタの担当者コードに入力することができなくなります。
それと、外部キーテーブルに存在するキーを主キーテーブルから
削除することもできなくなります。
2−3.「レプリケーションに対するリレーションを有効にする」
外部キーテーブルをほかのデーターベースに書き出す場合に
2−2の制約を有効にするかどうかを指定します。
データベースダイアグラムを作成していると、データを削除する場合に
エラーメッセージを作成していなくてもエラーが表示されます。
「このコードは他のデータで使用されているので削除できません。」
というメッセージが表示されます。
テーブルの作成ができたら、データベースダイアグラムを行います。
でも、やたらにリレーションの関係を作らないようにしてください。
重要なのは、リレーションの関係がいつでも出来ているかを考えて
作成してください。
詳しく言いますと、トランザクションを作成したとします。
そのトランザクションには売上、入金の伝票が作られるとします。
この場合、トランザクションは伝票に必要な内容を全て網羅する
ことになります。
トランザクションの中には商品コードがあります。
このとき、売上伝票には商品コードが入ります
が、入金伝票では商品コードに落とす情報がありません。
つまり、入金伝票の商品コードにはスペースまたはNULLが入る
ことになります。
だから、トランザクションの商品コードと商品マスタの商品コードは
リレーションの関係が出来ないことになるのです。
なぜなら、商品マスタの商品コードにはスペースまたはNULLの
レコードが存在しないからです。
別々に、売上、入金のトランザクションをもてば、リレーションの
関係はできるかもしれませんが、システム設計上そのようなことは
しません。
ビュー、データベースダイアグラムは退屈だったかも知れませんが
次回の、ストアドプロシージャは複数回に渡って説明します。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
Accessで作るクラサバシステムのカンタン活用術。
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|