Mysql
 sql >> база данни >  >> RDS >> Mysql

схема на база данни за атрибути на продукти

Това, което се опитвате да постигнете, е Entity-Attribute-Value (EAV) или евентуално редово моделиране решение. Имайте предвид, че този тип структура до голяма степен не се гледа с недоволство поради множество доста добри причини.

Въпреки това съм спорил (напр. тук , тук , тук и тук ), че EAV е ЗЛО, освен когато не е. Едно от тези редки изключения е в случай на продуктов каталог, където проследявате свойствата на продуктите и където тези свойства не са толкова интересни (за вашата система! ) освен доколкото трябва да ги извлечете и да ги отпечатате на уеб страница на продукта или в таблица за сравнение и т.н.

Помислете за дизайн като този:

Това, което правите в модел като този, е да описвате кои атрибути трябва да имат продуктите в дадена категория, какви стойности могат да имат тези атрибути и след това какви стойности има всеки конкретен продукт за всеки атрибут.

Този дизайн има всички обичайни ограничения, които EAV налага. Въпреки това, ако искате да зададете въпроси като:"Кои мъниста имат диаметър 8 мм?" това е доста ясно.




  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 изглежда много бавен, но не мога да мисля как да се подобри?

  2. Създаване на mysql таблица директно от CSV файл с помощта на CSV Storage двигателя?

  3. Групирайте само по дата в колона Datetime

  4. Как да използвам стойност на низ/колона като константа за интервал от време на mysql (ДЕН, МЕСЕЦ...)?

  5. Изтриване на всички редове, по-стари от 5 дни