Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Há algum motivo para usar a chave primária e a chave exclusiva juntas no mesmo campo?


Para uma tabela resolvendo muitos-para-muitos, seria comum ter uma chave de duas partes (como indicado por Quassnoi). Também é bastante provável que precise de índices que suportem o acesso por meio de um dos pais.

Se você tiver, por exemplo, tabelas PERSON, ADDRESS e PERSON_ADDRESS, sua tabela PERSON_ADDRESS pode ter a chave primária de (PERSON_ID, ADDRESS_ID) e um índice de suporte. Você também teria outro índice em (ADDRESS_ID,PERSON_ID) e provavelmente faria dele um índice ÚNICO (pois é uma combinação única de campos).

Também é possível que seu DBA tenha alguma maneira particular de gerar tabelas que comecem com um índice UNIQUE nos campos de chave primária seguido pela criação da restrição PRIMARY KEY. Isso pode aparecer em algumas ferramentas GUI da maneira que você sugere.