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

Jak modelowałbyś wariancję zmiennych danych na wspólnym schemacie? SQL

Ile rodzajów produktów oczekujesz? Czy każdy z nich ma własną logikę aplikacji?

Możesz zrobić uogólniony model zwany modelem „wartości atrybutu jednostki”, ale ma on WIELE pułapek, gdy próbujesz poradzić sobie z określonymi właściwościami produktu. Proste zapytania wyszukiwania czasami zamieniają się w prawdziwe koszmary. Podstawowa idea polega na tym, że masz tabelę, która przechowuje identyfikator produktu, nazwę właściwości (lub identyfikator w tabeli właściwości) i wartość. Możesz także dodać tabele, aby przechowywać szablony dla każdego typu produktu. Tak więc jeden zestaw tabel powie ci dla danego produktu, jakie właściwości może on mieć (prawdopodobnie wraz z prawidłowymi zakresami wartości), a inny zestaw tabel powie ci, jakie są te wartości dla każdego pojedynczego produktu.

Ostrzegałbym jednak przed używaniem tego modelu, ponieważ wydaje się to naprawdę zręcznym pomysłem, dopóki nie będziesz musiał go faktycznie zaimplementować.

Jeśli liczba typów produktów jest rozsądnie ograniczona, skorzystam z drugiego rozwiązania - jednej głównej tabeli produktów z atrybutami podstawowymi, a następnie dodatkowych tabel dla każdego konkretnego typu produktu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmiana kodowania znaków MySQL. Czy zachowana jest integralność danych?

  2. Pobierz puste rekordy za pomocą SQL

  3. Rails 3 ActiveRecord:Uporządkuj według skojarzeń

  4. Korzystanie ze złącza z zainstalowanym Helmem Kafka/Confluent

  5. MySQL, REGEXP - Znajdź słowa, które zawierają tylko następujące dokładne litery