Как четко спроектировать БД?
EAV
Пляшем от 5-ой нормальной формы а дальше уже оптимизации по мере необходимости.
Товары
Список опций товара
Связующая таблица
Лично я в данный момент разрабатываю интернет магазин на Laravel, связи до банальности простые (парочка belongsToMany для опций и категорий соответственно).
Если пишите на чистом PHP / MySQL (это конечно то еще удовольствие), вот вам полученные SQL запросы: