Oracleの主キー列の1つだけを参照するSQLの2列の主キーを使用して、テーブルから別のテーブルに外部キーを設定できますか?
2 に答える
1
PK-FKリレーションシップのルールでは、列の数は等しくなく、データ型も同じである必要があるとされています。
于 2012-05-11T14:07:05.513 に答える
1
外部キーは、主キー全体またはその他の一意の制約を参照する必要があります。親テーブルがレコードを一意に識別するために2つの列を必要とする場合、その依存関係は構造に両方の列を含める必要があります。
通常はシーケンスで生成されるサロゲートまたは合成主キーを使用して、複合外部キーの拡散を回避することは非常に一般的です。外部キーは、単一列の代理キーを参照します。
複合ビジネスキーは、一意の制約を使用して親テーブルに適用する必要があります。
複合主キーに、これも一意の列が含まれている場合があります。たとえば、これはアークを強制する方法です(スーパータイプとサブタイプの関係)。そのため、PERSONSテーブルは主キーとして(PERSON_ID)を持ち、一意のキーとして(PERSON_ID、PERSON_TYPE)を持ちます。このようなシナリオでは、依存テーブルは、特定の関係に応じて(PERSON_ID)または(PERSON_ID、PERSON_TYPE)のいずれかを参照する場合があります。
于 2012-05-11T14:54:38.907 に答える