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

czy klucz obcy zawsze odwołuje się do unikalnego klucza w innej tabeli?

Zgodnie ze standardem SQL klucz obcy musi odwoływać się do klucza podstawowego lub klucza unikalnego tabeli nadrzędnej. Jeśli klucz podstawowy ma wiele kolumn, klucz obcy musi mieć tę samą liczbę i kolejność kolumn. Dlatego klucz obcy odwołuje się do unikalnego wiersza w tabeli nadrzędnej; nie może być duplikatów.

Odpowiedz na swój komentarz:

Jeśli T.A jest kluczem podstawowym, to nie, nie możesz mieć żadnych duplikatów. Każdy klucz podstawowy musi być unikalny i inny niż null. Dlatego jeśli tabela podrzędna ma klucz obcy odwołujący się do klucza podstawowego rodzica, musi on odpowiadać niepustej, unikatowej wartości, a zatem odwołuje się dokładnie do jednego wiersza w tabeli nadrzędnej. W takim przypadku nie można utworzyć wiersza podrzędnego, który odwołuje się do wielu wierszy nadrzędnych.

możesz utwórz wiersz podrzędny, którego kolumna klucza obcego ma wartość NULL, w którym to przypadku nie odwołuje się do żadnego wiersza w tabeli nadrzędnej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle nie usuwa kursorów po zamknięciu zestawu wyników

  2. Jak usunąć końcowe spacje po nazwie miesiąca w Oracle?

  3. Wartość danych w czasie

  4. usuwanie milisekund z pola Oracle tmstmp

  5. Oracle zamienia sekundy na godziny:minuty:sekundy