Продукты компании группы в разные пакеты для создания заказов на продажу - PullRequest
0 голосов
/ 05 января 2012

Я разрабатываю систему CRM с использованием ASP.NET MVC 3 (C # .NET) и SQL Server 2008.

Система будет иметь таблицу продуктов, и одна из функций системы - разрешатьпользователи группируют продукты в разные пакеты.Таким образом, они могут просто добавить пакет в заказ на продажу, и все продукты, связанные с этим пакетом, будут автоматически добавлены в заказ на продажу.

Пользователь должен иметь возможность видеть все продукты, выбрав «Показать все продукты» или «Просмотр по группам».

Как спроектировать базу данных для этой конкретной функции?

1 Ответ

1 голос
/ 05 января 2012

Для этого вам понадобятся три таблицы:

CREATE TABLE Products
(
ProductId int identity primary key,
[all other columns related to product]
)
GO
CREATE TABLE Groups
(
GroupId int identity primary key,
[all other columns related to group]
)
GO

CREATE TABLE GroupOfProducts
(
ProductId int NOT NULL REFERENCES Products(ProductId) ON DELETE CASCADE,
GroupId int NOT NULL REFERENCES Groups(GroupId) ON DELETE CASCADE,
PRIMARY KEY (ProductId, GroupId)
)

И затем используйте их для построения всего, что вам нужно в вашем приложении.

Если продукт может принадлежать к единственной группе, то существуетв таблице GroupOfProducts нет необходимости, просто дополнительный столбец в таблице продуктов

GroupId int NULL REFERENCES Groups(GroupId),
...