Пишу эдакий недомагазин. Расширяю старый сайт..
В магазине кроме товаров будут также присутствовать комплекты товаров.
Изначально планировал, что комплект - это тот же товар, только с помощью таблицы связи знает о своих компонентах комплекта (таких же товарах). Ну и хранит скидку, которая бы давалась на сумму компонентов комплекта.
Т.е. по сути разница между товаром и комплектом исключительно том, что комплект является группирующим звеном нескольких товаров:
# любой товар может стать комплектом
create table item (
id int unsigned not null primary key auto_increment,
title varchar(255) not null,
description text not null,
price smallint unsigned not null,
count smallint unsigned not null,
is_package tinyint unsigned not null default 0,
);
# компоненты комплекта
create table item_component (
item_id int unsigned not null primary key auto_increment, # ссылка на главный товар-комплект
component_id int unsigned not null primary key auto_increment, # ссылка на компонент комплекта
discount tinyint unsigned not null default 0
);
И тут заказчик сам не знает что хочет... - комплект товаров есть смысл разбивать как я выше описал, или нет?
Можно тупо называть товар комплектом и продавать, т.е. на уровне СУБД он будет обычным товаром.
Есть смысл делать для комплектов такое как я описал выше или ограничиться просто названием товара "Комплект"?
ну и доводы за/против послушаю.