1 対多の関係を持つ 2 つのテーブルがあります。テーブル 1 の主キーはテーブル 2 の外部キーですが、主キーではありません。主キーは自動生成されます。関係は 1 対 1 の関係である必要があり、1 対多の関係ではありません。
これは私が変更したいものですが、外部キーがこのテーブルの主キーではないという理由だけで、1 対多の関係に自動的にデフォルト設定されていると思います
これどうやってするの ?
2つのテーブル間に1対1の関係がある場合、T1の1つのレコードに対して、T2には最大で1つの対応するレコードがあり、その逆も同様です。
あなたの場合、t2の1つのレコード(セマンティックレコード、つまりt2の主キーを無視する)に対して、t1に対応するレコードが最大で1つあることを確認する場合は、t2のすべてのセマンティック列にUNIQUE制約を追加する必要があります(つまり、主キーと外部キーを除いて、t2のレコードを意味的に記述する列)。このようにして、t2のレコードがt1の2つ以上のレコードを指さないようにします。
1対1の関係の反対方向を確保したい場合(つまり、t1のレコードがt2の最大で1つのレコードによって参照される)、t2の外部キーをUNIQUEにする必要があります。