sql >> Database >  >> RDS >> Oracle

Is er een reden om zowel de primaire sleutel als de unieke sleutel samen in hetzelfde veld te gebruiken?

Voor een tabel die een veel-op-veel oplost, zou het gebruikelijk zijn om een ​​tweedelige sleutel te hebben (zoals aangegeven door Quassnoi). Het is ook zeer waarschijnlijk dat er indexen nodig zijn die toegang via beide ouders ondersteunen.

Als u bijvoorbeeld PERSON-, ADDRESS- en PERSON_ADDRESS-tabellen heeft, heeft uw PERSON_ADDRESS-tabel mogelijk de primaire sleutel van (PERSON_ID, ADDRESS_ID) en een ondersteunende index. Je zou ook een andere index hebben op (ADDRESS_ID,PERSON_ID), en je zou dit waarschijnlijk een UNIEKE index maken (omdat het een unieke combinatie van velden is).

Het is ook mogelijk dat uw DBA een bepaalde manier heeft om tabellen te genereren die beginnen met een UNIEKE index op de primaire sleutelvelden, gevolgd door het creëren van de PRIMARY KEY-beperking. Dat kan in sommige GUI-tools verschijnen op de manier die u voorstelt.



  1. Hoe de ontwikkelings- en productiedatabase te synchroniseren

  2. docker-compose :De door de server gevraagde authenticatiemethode onbekend bij de client

  3. Bij invoegen:kolomverwijzingsscore is dubbelzinnig

  4. Hoe waarden van twee rijen in MySQL te wisselen zonder de unieke beperking te schenden?