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

Właściwy model bazy danych dla systemu informacji zwrotnej od użytkowników (ciekawy przypadek)

To zły projekt. Wystarczy utworzyć 2-kolumnowy klucz podstawowy i 2-kolumnowe klucze obce. Jest to podstawowy anty-wzorzec zwany „kodowaniem informacji w kluczach”, które (tym samym) nazywane są kluczami „inteligentnymi”, „inteligentnymi” lub „połączonymi”. Dobry klucz to „głupi” klucz.

Np.: :

Poza tym nie ma potrzeby aby to zrobić.

Wiele DBMS pozwala na "kolumny obliczane", których wartości są automatycznie obliczane z innych kolumn. Aby utworzyć jeden klucz podstawowy lub klucz obcy, zwykle potrzebujesz go "utrwalonego", tj. Zajmujesz pamięć jak normalna kolumna, a nie obliczasz tylko wtedy, gdy jest to potrzebne, jak widok. MySQL ich nie ma, ale 5.7.5 ma pewną funkcjonalność, gdzie są nazywane „generowanymi kolumnami”, które można „przechowywać”. Ale nie rób tego dla PK lub FK!

Rzeczywisty problem projektowy dotyczy obsługi podtypów baz danych/SQL/hierarchies/inheritance/polimorfizm .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wylicz wiersze w mysql na podstawie grup

  2. Symfony:Wystąpił wyjątek w sterowniku:nie można znaleźć sterownika za pomocą mysql

  3. Jak zamówić 1,2,3 a nie 1, 10, 11, 12 w mySQL?

  4. Jak uzyskać wszystkie wartości w kolumnie za pomocą PHP?

  5. mysql timediff do godzin