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

schemat bazy danych dla atrybutów produktów

To, co chcesz osiągnąć, to Entity-Attribute-Value (EAV) lub ewentualnie modelowanie wierszy rozwiązanie. Zwróć uwagę, że ten typ konstrukcji jest w dużej mierze niemile widziany z wielu całkiem dobrych powodów.

Jednak argumentowałem (np. tutaj , tutaj , tutaj i tutaj ), że EAV jest ZŁY, chyba że tak nie jest. Jednym z tych rzadkich wyjątków jest przypadek katalogu produktów, w którym śledzisz właściwości produktów i gdzie te właściwości nie są aż tak interesujące (dla Twojego systemu! ) z wyjątkiem sytuacji, gdy trzeba je pobrać i wydrukować na stronie internetowej produktu lub w siatce porównawczej itp.

Rozważ taki projekt:

To, co robisz w takim modelu, to opisywanie, jakie atrybuty powinny mieć produkty w danej kategorii, jakie wartości mogą mieć te atrybuty, a następnie jakie wartości ma każdy konkretny produkt dla każdego atrybutu.

Ten projekt ma wszystkie zwykłe ograniczenia, które nakłada EAV. Jeśli jednak chcesz zadać pytania typu:"Które koraliki mają średnicę 8mm?" to jest całkiem proste.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql — sposób na aktualizację fragmentu ciągu?

  2. Jaka jest różnica między BIT i TINYINT w MySQL?

  3. PHP, autouzupełnianie MYSQL nie działa

  4. Navicat dla MySQL

  5. MySQL dla każdej alternatywy dla procedury