Каков наилучший способ оформления ваших таблиц для сайта обзора продуктов? - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть сайт, посвященный обзору продуктов, который я начал, когда впервые начал писать код, но теперь он работает хорошо и имеет много трафика.Я хочу, чтобы дизайн таблиц был лучше, поэтому было бы проще добавлять новые продукты или характеристики к этим продуктам.Он использует PHP / MySQL.Вот как теперь создаются мои таблицы, какие изменения вы бы предложили?

Обзор

  1. Это сайт обзора продуктов с 12 типами продуктов (например, бейсбольные биты), перчатки, бутсы и т. д.)
  2. Каждый тип продукта имеет характеристики, которые получают оценку 10 (например, долговечность, мощность, сцепление и т. д.), однако характеристики различаются (сцепление характерно для перчаток, а не для летучих мышей)
  3. Пользователи оценивают каждую характеристику, и я показываю усредненные оценки для каждого продукта и характеристики (эта летучая мышь была оценена сцепление = 8,9 / 10, долговечность = 8,2 / 10, 200 пользователей)

Текущий дизайн

  1. Таблица типов продуктов : у меня есть таблица для каждого типа продукта (летучие мыши, перчатки, бутсы) -> я знаюМне, вероятно, вместо этого нужна унифицированная таблица «products».
  2. В каждой из этих таблиц хранятся усредненные оценки для каждой характеристики, которая обновляется при появлении нового рейтинга (например, bats.power_average, bats.durability_average),так что мне не нужно тсоюзник в среднем 200 оценок на каждой странице загрузки.
  3. Таблица рейтинга пользователя : Оценка каждого пользователя продукта сохраняется в таблице, относящейся к этому продукту (например,bats_ratings, gloves_ratings)
  4. Каждая характеристика жестко запрограммирована в этой таблице: bats_ratings.power, bats_ratings.durability и т. д. Поэтому мне придется изменить эту таблицу, если я добавлю характеристику для этого типа продукта в будущем.
  5. Таблица перечисления типов продуктов : у меня есть таблица с названием "product_types", в которой перечислены мои 12 типов продуктов и некоторые подробности, включая product_type_id, чтобы страницы, на которых перечислены все типы, можно было легко переносить.

Это определенно больно каждый раз, когда я добавляю новый тип продукта, так как мне приходится составлять 2 новые таблицы, плюс на многих страницах может быть свой код для обработки каждого типа продукта по-разному.В идеале добавление нового типа продукта или новых характеристик к существующим типам продуктов не будет обременительным.

Плюс, я даже не могу сделать запрос всех продуктов вместе, потому что они находятся в 12 разных таблицах, поэтому мне нужноунифицированная таблица "продукты".

Какова лучшая структура для продуктов, рейтингов и характеристик?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...