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

Rozszerzanie klas w bazie danych

Zdecydowanie polecam zapoznanie się z Dziedziczeniem tabeli klas wzór zdefiniowany przez Martina Fowlera.

Ten wzorzec projektowy tworzy pojedynczą tabelę, która zawiera dane wspólne na przykład dla wszystkich budynków, a następnie wymaga oddzielnej tabeli dla wszelkich danych związanych z określonym typem budynku. Jedną z rzeczy, które uważam za pomocne, jest przechowywanie pola „typ” w tabeli nadrzędnej, abyś wiedział, jaki masz typ encji, bez konieczności przeszukiwania tabel podrzędnych w celu znalezienia odpowiednich rekordów.

Zalecam unikanie tego, chyba że masz bardzo konkretny, dobrze zdefiniowany powód, aby użyć projektu Entity-Atrybut. Po pierwsze, w przypadku tego typu projektu niemożliwe jest wykorzystanie ograniczeń bazy danych do kontrolowania wymaganych danych wejściowych i dozwolonych typów wartości. Po drugie, drastycznie spowolni to wszelkie zapytania, które muszą wyciągnąć dane z tego typu pól, ponieważ dane przechowywane w tych polach nie mogą być indeksowane, jak zwykle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. System polecania użytkowników przy użyciu PHP i MySQL

  2. SQL ORDER BY wiele kolumn

  3. mySQL:Łączenie trzech tabel - jak?

  4. funkcja sql min i inna kolumna

  5. Dodaj kolumnę do wszystkich zapytań MySQL Select w jednym ujęciu