MySql - муки выбора архитектуры

162
13 марта 2018, 00:29

Как заложишь архитектуру, так и поплывёт :) Помогите не совершить ошибки.

Концептуально: Есть доска объявлений, где рекламируются разные товары с разными наборами характеристик. У каждого товара есть разные группы набора характеристик (цвет, вид и т.д.). Каждый товар может иметь разные наборы (например товары без таблицы цвет).

Вопрос по таблице с объявлениями. Назовём её ads. Так вот, есть у нас базовые столбцы:

id, timestamp, iduser... а дальше (мой вариант), идут столбцы param1, param2, param3.. где записываются id параметра из таблицы параметров. (есть много таблиц с разными параметрами: цвет (список цветов), размер (список размеров)

Но так как есть разные группы параметров, нужно ещё держать информацию что для товара № 1 (из категории № 1), столбец param1 - это id из таблицы "x", а для товара № 2 (из категории № 2), param1 - это id параметра из таблицы "y".

Получается что нужна ещё таблица связи - "категория-параметры" Вариант № 2 - это в таблице ads иметь столбцы всех возможны параметров и тогда некоторые столбцы для одних товаров будут пустые и наоборот.

Возможно кто-то разрабатывал такое, и уже наступал на грабли. У кого какие мысли?

READ ALSO
Структура базы данных пользователей

Структура базы данных пользователей

Доброго времени сутокСоздаю свой мод для игры и делаю для него БД

177
Инкрементировать столбец в mysql

Инкрементировать столбец в mysql

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

219
как удалить PRIMARY KEY?

как удалить PRIMARY KEY?

была создана таблица comments но потом решил что параметр PRIMARY KEY не нужен

282
Отличие mainClass cls = new childClass() от childClass cls = new childClass();

Отличие mainClass cls = new childClass() от childClass cls = new childClass();

Первый вопрос на стеке, прошу не пинать

226