Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Czy jest jakiś powód, aby używać jednocześnie klucza podstawowego i klucza unikatowego w tym samym polu?

W przypadku tabeli rozstrzygającej wiele-do-wielu powszechne byłoby posiadanie klucza dwuczęściowego (jak wskazuje Quassnoi). Jest również całkiem prawdopodobne, że będą potrzebować indeksów wspierających dostęp przez któregokolwiek z rodziców.

Jeśli masz na przykład tabele PERSON, ADDRESS i PERSON_ADDRESS, tabela PERSON_ADDRESS może mieć klucz podstawowy (PERSON_ID, ADDRESS_ID) i indeks pomocniczy. Miałbyś również inny indeks na (ADDRESS_ID,PERSON_ID) i prawdopodobnie uczyniłbyś go UNIKATOWYM indeksem (ponieważ jest to unikalna kombinacja pól).

Możliwe jest również, że administrator DBA ma określony sposób generowania tabel, który zaczyna się od indeksu UNIQUE w polach klucza podstawowego, po czym tworzy ograniczenie PRIMARY KEY. To może pojawić się w niektórych narzędziach GUI w sposób, który sugerujesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utrzymywanie agnostyki bazy danych aplikacji (ADO.NET vs enkapsulacja logiki DB)

  2. Jak mogę uniemożliwić Oracle SQL Developer zamknięcie połączenia z bazą danych?

  3. Wstaw wartości listy MyBatis

  4. WYROCZNIA. Uwierzytelnianie z LDAP zawsze zwraca -16

  5. Alternatywa serwera sql TOP w Oracle