2011-09-17 3 views
0

多くの種類のビジネスが含まれるウェブサイトがありますが、各ビジネスには独自のレイヤがありますが、今はブランドと呼ばれる共通のエンティティがあります。データベース、データアクセス、ビジネスレイヤデザイン共通のエンティティを持つ場合

は、私は次のように、それぞれの事業ブランドの情報のテーブルを持っている必要があります。

DB Table 
Business1_BrandsInfo 
.................... 

DB Table 
Business2_BrandsInfo 
...etc ? 

そしてもちろん、私は、各事業の各ブランド情報のための別々のビジネスエンティティを持っています。

共通のテーブルを1つ作成し、このブランドが属するビジネスを定義するためにビジネスごとにIDを追加する必要があります。

いくつかのビジネスは関連していませんが、私はビジネスのタイプに関係なく、それぞれのブランドについて同じ典型的な情報を持っています。私は自分のサイトで5種類のビジネスが好きです。

答えて

0

シンプル:各テーブルで同じプロパティを持つので、1つのテーブルに入れてTypeId列で認識できます。

1つ以上のタイプがある場合は、これらのテーブルの内容に複数のエンティティが必要です。

認識のタイプもクラスに含まれます。

私はあなたがすべての企業間で共有されるオブジェクトを意味する一般的なエンティティによって仮定

+0

1「を明日、あなたが入力する特定の列を追加するかどうかということに注意してください 『』その後、あなたは問題があるだろうが...」良いですポイント。私は別々のテーブルに行くと思う。 – lKashef

+0

これを1つのテーブルに正規化する方がよいです。次に、別の関連付けテーブルを使用して結合を行います。 – tsells

0

...明日あなたは、あなたが問題を抱えているだろう「1」を入力するための特定の列を追加する場合ことに注意してください。あなたのウェブサイトこの場合、データベーススキーマにはすべてのブランドの単一の表が反映されている必要がありますが、関連するビジネスへの外部キーを持つBusinessID列が必要です。

あなたはなりますが、必要な数の企業やブランドを追加することもできますが、後であなたがブランドへのビジネスやブランドへのビジネスとは異なり、カスタムプロパティをしたい場合は、そのスキーマを変更する必要がありますけれども、または
[dbo].[Brands] 
ID 
BusinessID → [dbo].[Businesses].[ID] 
... 

[dbo].[Businesses] 
ID ← [dbo].[Brands].[BusinessID] 
... 

それらのカスタムフィールドのために他の方法を工夫する必要があります。

+0

うん、それは本当です。私は、それぞれのビジネスが他のすべてのタイプが共有する新しいプロパティを持つと思うので、私は3ヶ月のようにスキーマとパターンを変更する必要があると思うので心配です。私が各エンティティを別のテーブルとクラスに入れておけば、1年以上の柔軟なアプリケーションが作成されます。 – lKashef

+1

Asp.Netメンバーシッププロファイルのようなものを実装できます。私はそのデザインのファンではないが、カスタムフィールドを単一の列に格納する。あなたのスキーマが変わることができないならば、別々のテーブルを使う方が良いでしょう。 –

+0

私は "もっと行く7 ..."と同意する! – lKashef

0

これを分割します。以下に2つのオプションを示します。同じタイプのデータを持つテーブルを繰り返す必要はありません。

オプション1

Brands 
{ 
    ID, 
    BusinessID, (FK to Business.ID) 
    Info1, 
    Info2 
} 

Business 
{ 
    ID, 
    BusinessName, 
    BusinessDesc, 
    OtherStuff1, 
    OtherStuff2 
} 

オプション2

Brands 
{ 
    ID, 
    Info1, 
    Info2 
} 

Business 
{ 
    ID, 
    BusinessName, 
    BusinessDesc, 
    OtherStuff1, 
    OtherStuff2 
} 

BusinessToBrands 
{ 
    ID, 
    BrandsID(FK to Brands), 
    BusinessID(FK to Business) 
} 
関連する問題