外部キーの追加または除去
外部キーの追加または除去
外部キーとは、データベーステーブル内のフィールドであり、別のテーブル内のプライマリキーを参照します。外部キーは、データベーステーブルで関連する列の制約として定義されます。
外部キー制約が設定されている場合、そのフィールドは空であるか、その値は参照されているテーブルでプライマリキーの既存の値を指していなければなりません。たとえば、シフト上の SiteUID フィールドは、サイトの UID を参照する外部キーです。そのため、シフト上の SiteUID の値は空であるか、サイトの既存の UID の値と一致している必要があります。
また、外部キー制約では、外部キーフィールドによって参照されているデータベーステーブル内の行が削除されなくなります。たとえば、シフトで SiteUID の値が 5 の場合、SiteUID フィールドの外部キー制約はサイト上の UID を参照するため、UID の値が 5 のサイトは削除できません。
外部キーは、 シフトおよびスタッフスキーマのエンティティに対して既成で定義されます。
既存のデータベーステーブルに外部キーを追加するには:
1. システムで設定されているデータベース Thing に移動します (PTC.SCA.SCO.PostgresDatabasePTC.SCA.SCO.MSSQLDatabase)。
2. 「サービス」で、次の入力を使用して「AddForeignKey」サービスを実行します。
「dataShapeName」 - 外部キーを追加するデータベーステーブルのデータシェイプ。
「fieldName」 - 外部キー制約を追加するデータシェイプのフィールド。
「referenceDataShapeName」 - 参照されているデータベーステーブルのデータシェイプ。
「referenceFieldName」 - 参照されている値が含まれているフィールドの名前。
3. 「実行」をクリックします。
外部キーを除去するには:
* 
以前に追加した外部キーのみを除去します。既成で定義されている外部キーを除去しないでください。
1. システムで設定されているデータベース Thing に移動します (PTC.SCA.SCO.PostgresDatabasePTC.SCA.SCO.MSSQLDatabase)。
2. 「サービス」で、次の入力を使用して「RemoveForeignKey」サービスを実行します。
「dataShapeName」 - 外部キーを除去するデータベーステーブルのデータシェイプ。
「fieldName」 - 外部キー制約を除去するデータシェイプのフィールド。
3. 「実行」をクリックします。