私は実装しようとしているデータベーススキーマに対して、誰かが私の混乱を助けてくれることを願っています。これは、ネットワークプロバイダからのモバイル契約とネットワークボルトの販売に基づいています。契約には、販売代理店ごとに価格が異なるネットワーク契約を販売している場合と販売していない場合があります。データベーススキーマは、複数の製品とサプライヤに役立ちます
Distributors
Name Address
Distributor 1 address1
Distributor2 address2
Networks
Name
Orange
O2
Vodafone
Tariffs
Network Tariff Minutes
Orange Business 600 600 Mins
Orange Business 100 100 Mins
O2 Everyday 100 200 Mins
O2 Everyday 100 100 Mins
Devices
Name Make
Apple Iphone
Samsung Galaxy
Bolt Ons
Network Description
Orange Web 500mb
Orange Unlimited Texts
O2 Web 250Mb
O2 Unlimited Texts
Order - Exactly 1 Distributor - Exactly 1 Network - Exactly 1 Tariff - 0 or more Devices - 0 or more Bolt Ons Distributor - 0 or more Orders - 1 or more Networks - 1 or more Tariffs o Unique Tariff Costs - 1 or more BoltOns o Unique Bolt on Cost - 1 or more Devices o Unique Device cost Network - 0 Orders - 0 or more Distributors - 1 or more Tariffs - 0 or more BoltOns - 0 or more Devices Tariffs - 0 or more Orders - 0 or more Distributors - Exactly 1 Network - 0 or more BoltOns - 0 Devices BoltOns - 0 or more Orders - 0 or more Distributors - Exactly 1 Network - 0 or more Tariffs - 0 or more Devices Devices - 0 or more Orders - 0 or more Distributors - 0 or more Networks - 0 Tariffs - 1 or more BoltOns
私は2つのスキーマが出ているが、私は本当にそれで満足していません。主に、ディストリビューターがネットワークからすべてのオファリングを提供していない可能性があるためです。また、関税、デバイス、ボルトオンの価格も、ディストリビューターごとに異なります。私はスキーマのアプローチに対するいくつかの提案を期待していましたか?私は、次のシェマにアップCOEMている持っていたコメントは以下の
多くのおかげ
ロブ
EDIT -------- 。私は
デバイスとボルトンズは、製品テーブルにあると十分に類似しているTEH以下の仮定を追加しました:
我々が実行されている必要がありますクエリの種類のユーザーが6-支払っているかもしれないものに基づいて請求書の世代です12ヶ月前 - 販売代理店の価格は毎月変更することがあります。
ネットワークなどあたりの販売代理店あたりの販売携帯電話の数...
- 関税は、販売代理店ごとしかし、価格と手数料の変更の代理店で同じです。
以下のスキームについてのコメントはありますか?
[Distributors]
[Dist_ID] PK
[Name],
[Address]
[Network]
[Network_ID] PK,
[Name],
[Tarrif]
[TariffID] PK
[Name],
[Minutes] ,
[OtherMinutes] ,
[Texts] ,
[Data],
[Term] ,
[Active] BIT,
[TariffsByDistributor]
[TariffsDistributorID] PK
[DistID] FK
[TariffID] FK
[RevShare],
[Commision],
[Cost],
[Active]
[Product_Type]
[Product_Type_ID] PK,
[Name],
[Details],
[TariffsByNetwork]
[Network_ID] PK,
[TariffID] PK,
[Order] (
[Order_Id] PK,
[Customer_Id],
[Date Sold],
[PaymentStatus],
[PaymentStatusDate],
[TariffOrders] (
[Order_Id] PK,
[TariffsDistributorID] PK,
[RevenueShare],
[Commision],
[Cost],
[Products] (
[Product_Id] PK
[Product_Type_ID] FK,
[Name],
[Manufacturer],
[Colour]
[Picture],
[Active] BIT,
[ProductByDistributor]
[ProductsByDistributorID] PK,
[Dist_ID] FK,
[Product_Id] FK,
[RevShare],
[Commision],
[Cost],
[Active],
[ProductsOrder]
[Order_Id] PK,
[ProductsByDistributorID] PK,
[RevenueShare],
[Commision],
[Cost],
[Products_Network]
[Network_ID] PK,
[Product_Id] PK,
ご回答いただきありがとうございます。質問をビジネスルール全体で更新しました。 私はtariffPriceなどのリンクテーブルを追加し始めましたが、スキーマは非常に速く大きくなってしまいました。ちょうど私が数日間chemaを調べていたので、私はそれを考えるのをやめているかもしれません。 –
ありがとう、ありがとうございました –
こんにちは、Steはこれについて何か提案をする機会を得ましたか? –