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

Dwie tabele z tymi samymi kolumnami czy jedna tabela z dodatkową kolumną?

Zależy od ograniczeń:

  • Czy masz klucze obce lub czeki na apples które nie istnieją na oranges (lub odwrotnie)?
  • Czy musisz zachować unikatowe klucze w obu tabelach (więc nie apple? może mieć taki sam identyfikator jak niektóre orange )?

Jeśli odpowiedzi na te dwa pytania brzmią:„tak” i „nie” , trzymaj tabele oddzielnie (aby ograniczenia mogły być specyficzne dla tabeli).

Jeśli odpowiedzi brzmią:„nie” i "tak" , połącz je ze sobą (abyś mógł stworzyć klucz, który łączy oba).

Jeśli odpowiedzi brzmią:"tak" i "tak" , rozważ emulację dziedziczenia:

Wyszukaj dane to typowy przykład tabel, które wyglądają podobnie, ale muszą być trzymane oddzielnie, aby FK mogły być przechowywane oddzielnie.

W szczególności jest to strategia „wszystkie klasy w oddzielnych tabelach” służąca do reprezentowania dziedziczenia (czyli kategorii, podklas, podtypów, hierarchii uogólnienia itp.). Możesz rzucić okiem na ten post aby uzyskać więcej informacji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie utf8mb4 w MySQL

  2. Przewodnik po projektowaniu bazy danych dla RBAC w MySQL

  3. Jak mogę użyć JSON_EXTRACT w MySQL i uzyskać ciąg bez cudzysłowów?

  4. Architektura dla bezpieczeństwa:przewodnik po MySQL

  5. Zliczanie powiązanych wpisów z Sequelize