単一条件リレーションシップ

単一条件リレーションシップでは、あるフィールドのデータが別のフィールドのデータと照合されます。

たとえば、テキストフィールド A とテキストフィールド B の値が同じである場合、一方のテーブルの特定のレコードが、もう一方のテーブルの任意のレコードに関連します。

単一条件リレーションシップを示す 2 つのフィールド間の線で囲まれた 2 つのテーブル

単一条件リレーションシップの使用

単一条件リレーションシップは、シリアル番号や ID 番号などの共通する 1 つの値に基づいて 2 つのテーブルを関連させる場合に使用します。次に例を示します:

  1. 次の 2 つのテーブルを持つデータベースを作成します。
    • 名前と住所を保存する「顧客」テーブル
    • 電話番号、電話番号の種類 (勤務先、自宅、携帯等) および電子メールアドレスを保存する「連絡先」テーブル

    単一の顧客には複数の電話番号と電子メールを設定できるため、2 つのテーブル間でデータが分割されます。

  2. 次のフィールドを定義します:
  3. テーブル

    フィールド名

    コメント

    顧客

    顧客 ID

    数字フィールド

     

    テキストフィールド

     

    テキストフィールド

     

    住所 1

    テキストフィールド

     

    市区町村

    テキストフィールド

     

    都道府県名

    テキストフィールド

     

    テキストフィールド

    連絡先

    電話番号

    テキストフィールド

     

    電話種類

    テキストフィールド

     

    メールアドレス

    テキストフィールド

     

    電子メールの種類

    テキストフィールド

     

    顧客 ID

    数字フィールド

  4. [フィールドオプション] ダイアログボックスを使用して「顧客::顧客 ID」フィールドを設定し、シリアル番号を自動入力してフィールドが固有の値を持つことを検証します。フィールドのオプションの設定を参照してください。

    これらの設定により、「顧客」テーブルの各レコードの ID 番号は必ず固有の値になります。

    「連絡先」テーブルの顧客 ID は単純な数字フィールドであるため、入力値の自動化オプションは何も設定しませんが、空でないことが検証されるように設定します。

  5. リレーションシップグラフで各テーブルの「顧客 ID」フィールドの間にリレーションシップを作成します。(各テーブルの照合フィールドは「顧客 ID」です。)
  6.  

    「顧客」テーブルと「連絡先」テーブルの間の単一条件リレーションシップ

  7. [リレーションシップ編集] ダイアログボックスで次の操作を実行します:
    • 「連絡先」テーブルの [このリレーションシップを使用して、このテーブルでのレコードの作成を許可] を選択します。空白のポータル行に電話番号を入力すると、その電話番号に対して関連レコードが作成されます。

      このリレーションシップは、「連絡先」テーブルに関連レコードを作成することができるように定義されているため、新しい関連レコードを作成すると「顧客」テーブルのレコードの「顧客 ID」の数字が自動的に「連絡先」テーブルの「顧客 ID」フィールドに挿入されます。これにより、「連絡先」テーブルの複数のレコードを「顧客」テーブルの単一のレコードに関連させることができます。

    • 「連絡先」テーブルの [他のテーブルでレコードが削除された時、このテーブルの関連レコードを削除] を選択します。一致する「連絡先」レコードが削除されている場合、古い電話番号を残しておく必要はありません。
  8. 「顧客」レイアウト上の「連絡先」テーブルにポータルを追加して、関連フィールドである「電話番号」と「電子メールアドレス」をポータルに追加します。

「顧客」テーブルの空のポータル行に電話番号または電子メールアドレスを入力すると、「連絡先」テーブルに電話番号または電子メールアドレスの関連レコードが作成されます。