Oracle
 sql >> Database >  >> RDS >> Oracle

C'è qualche motivo per utilizzare sia la chiave primaria che la chiave univoca insieme sullo stesso campo?

Per una tabella che risolve molti-a-molti sarebbe comune avere una chiave in due parti (come indicato da Quassnoi). È anche molto probabile che necessiti di indici che supportino l'accesso tramite entrambi i genitori.

Se hai, ad esempio, tabelle PERSON, ADDRESS e PERSON_ADDRESS, la tua tabella PERSON_ADDRESS potrebbe avere la chiave primaria di (PERSON_ID, ADDRESS_ID) e un indice di supporto. Avresti anche un altro indice su (ADDRESS_ID,PERSON_ID) e probabilmente lo renderesti un indice UNICO (poiché è una combinazione univoca di campi).

È anche possibile che il tuo DBA abbia un modo particolare di generare tabelle che inizia con un indice UNIQUE sui campi della chiave primaria seguito dalla creazione del vincolo PRIMARY KEY. Ciò potrebbe apparire in alcuni strumenti della GUI nel modo che suggerisci.