単一条件リレーションシップ
単一条件リレーションシップでは、あるフィールドのデータが別のフィールドのデータと照合されます。
たとえば、テキストフィールド A とテキストフィールド B の値が同じである場合、一方のテーブルの特定のレコードが、もう一方のテーブルの任意のレコードに関連します。
単一条件リレーションシップの使用
単一条件リレーションシップは、シリアル番号や ID 番号などの共通する 1 つの値に基づいて 2 つのテーブルを関連させる場合に使用します。次に例を示します:
- 次の 2 つのテーブルを持つデータベースを作成します。
- 名前と住所を保存する「顧客」テーブル
- 電話番号、電話番号の種類 (勤務先、自宅、携帯等) および電子メールアドレスを保存する「連絡先」テーブル
単一の顧客には複数の電話番号と電子メールを設定できるため、2 つのテーブル間でデータが分割されます。
- 次のフィールドを定義します:
- [フィールドオプション] ダイアログボックスを使用して「顧客::顧客 ID」フィールドを設定し、シリアル番号を自動入力してフィールドが固有の値を持つことを検証します。フィールドのオプションの設定を参照してください。
これらの設定により、「顧客」テーブルの各レコードの ID 番号は必ず固有の値になります。
「連絡先」テーブルの顧客 ID は単純な数字フィールドであるため、入力値の自動化オプションは何も設定しませんが、空でないことが検証されるように設定します。
- リレーションシップグラフで各テーブルの「顧客 ID」フィールドの間にリレーションシップを作成します。(各テーブルの照合フィールドは「顧客 ID」です。)
- [リレーションシップ編集] ダイアログボックスで次の操作を実行します:
- 「連絡先」テーブルの [このリレーションシップを使用して、このテーブルでのレコードの作成を許可] を選択します。空白のポータル行に電話番号を入力すると、その電話番号に対して関連レコードが作成されます。
このリレーションシップは、「連絡先」テーブルに関連レコードを作成することができるように定義されているため、新しい関連レコードを作成すると「顧客」テーブルのレコードの「顧客 ID」の数字が自動的に「連絡先」テーブルの「顧客 ID」フィールドに挿入されます。これにより、「連絡先」テーブルの複数のレコードを「顧客」テーブルの単一のレコードに関連させることができます。
- 「連絡先」テーブルの [他のテーブルでレコードが削除された時、このテーブルの関連レコードを削除] を選択します。一致する「連絡先」レコードが削除されている場合、古い電話番号を残しておく必要はありません。
- 「連絡先」テーブルの [このリレーションシップを使用して、このテーブルでのレコードの作成を許可] を選択します。空白のポータル行に電話番号を入力すると、その電話番号に対して関連レコードが作成されます。
- 「顧客」レイアウト上の「連絡先」テーブルにポータルを追加して、関連フィールドである「電話番号」と「電子メールアドレス」をポータルに追加します。
テーブル |
フィールド名 |
コメント |
顧客 |
顧客 ID |
数字フィールド |
|
名 |
テキストフィールド |
|
姓 |
テキストフィールド |
|
住所 1 |
テキストフィールド |
|
市区町村 |
テキストフィールド |
|
都道府県名 |
テキストフィールド |
|
国 |
テキストフィールド |
連絡先 |
電話番号 |
テキストフィールド |
|
電話種類 |
テキストフィールド |
|
メールアドレス |
テキストフィールド |
|
電子メールの種類 |
テキストフィールド |
|
顧客 ID |
数字フィールド |
「顧客」テーブルの空のポータル行に電話番号または電子メールアドレスを入力すると、「連絡先」テーブルに電話番号または電子メールアドレスの関連レコードが作成されます。