Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy wiele kluczy obcych ma sens?

To jest w porządku, ale pamiętaj, że ma to sens tylko wtedy, gdy C zawsze musi mieć zarówno A, jak i B jako parę.

Jeśli chcesz tylko, aby A miały C, a B miały C, ale A i B są w inny sposób niepowiązane, powinieneś umieścić klucz obcy w A i B i zezwolić na jego wartość zerową.

Aktualizacja:po wyjaśnieniu wydaje się, że potrzebujesz dwóch oddzielnych relacji:A może mieć wiele C, a B może mieć wiele C, ale C może należeć tylko do jednego A lub jednego B.

Rozwiązanie:to dwie oddzielne relacje jeden-do-wielu, więc utwórz dwie nowe tabele A_C i B_C i umieść tam klucze obce. A_C zawiera klucz obcy do A i klucz obcy do C. Podobnie dla B_C.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. InnoDB Tabela jest pełna błąd

  2. Mapowanie Doctrine 2 odwołujące się do unikalnego klucza

  3. Wiersz MySQL na liczbę kolumn i sumę

  4. Wydajne sposoby na dodanie większej liczby tabel do białej listy w Debezium Mysql Connector

  5. Jak mogę wyświetlić czas zapytania w Perl, DBI?