2012-01-05 8 views
0

ASP.NET MVC 3(C#.NET)とSQL Server 2008を使用してCRMシステムを開発しています。販売注文を作成するための異なるパッケージに企業製品をグループ化する

システムには製品テーブルとシステムの機能は、ユーザーが異なるパッケージに製品をグループ化できるようにすることです。これにより、受注にパッケージを追加するだけで、そのパッケージに関連付けられているすべての製品が自動的に受注に追加されます。

ユーザーは、[すべての製品を表示]または[グループで表示]を選択すると、すべての製品を表示できます。

この特定の機能のデータベースを設計するにはどうすればよいですか?

+0

その中にあなたの質問は何ですか?あなたはSOの特定の問題を尋ねることができます –

答えて

1

あなたは、このための3つのテーブルが必要です。

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テーブルにはニーズが存在しない、Productsテーブル内だけで余分な列

GroupId int NULL REFERENCES Groups(GroupId), 
関連する問題