sql >> データベース >  >> RDS >> Oracle

同じフィールドで主キーと一意キーの両方を一緒に使用する理由はありますか?

    多対多を解決するテーブルの場合、2つの部分からなるキーを使用するのが一般的です(Quassnoiで示されています)。また、どちらかの親を介したアクセスをサポートするインデックスが必要になる可能性が非常に高くなります。

    たとえば、PERSON、ADDRESS、およびPERSON_ADDRESSテーブルがある場合、PERSON_ADDRESSテーブルには(PERSON_ID、ADDRESS_ID)の主キーとサポートインデックスが含まれている可能性があります。また、(ADDRESS_ID、PERSON_ID)に別のインデックスがあり、これを一意のインデックスにする可能性があります(フィールドの一意の組み合わせであるため)。

    DBAが、主キーフィールドのUNIQUEインデックスで始まり、その後にPRIMARYKEY制約を作成するテーブルを生成する特定の方法を持っている可能性もあります。それはあなたが提案する方法でいくつかのGUIツールに現れるかもしれません。



    1. WHERE句を動的/プログラムでSQLに追加します

    2. Oracleスケジューラジョブを作成する

    3. 外部キー制約を組み合わせたmysqldbcopy?

    4. MYSQLwhere句の条件付き