誰かが私が実装しようとしているデータベーススキーマを混乱させるのを手伝ってくれることを願っています. これは、ネットワーク プロバイダーからのモバイル契約とネットワーク ボルトの販売に基づいています。契約は、ネットワーク契約を販売する場合も販売しない場合もある多くのディストリビューターによって事前に満たされます。価格もディストリビューターごとに異なります。
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
注文 - ちょうど 1 ディストリビューター - ちょうど 1 つのネットワーク - 正確に 1 関税 - 0台以上のデバイス - 0個以上のボルトオン 卸売業者 - 0件以上の注文 - 1 つ以上のネットワーク - 1つ以上の関税 o 独自の関税コスト - 1 つ以上のボルトン o 独自のボルト オン コスト - 1 つ以上のデバイス o 固有のデバイス コスト 通信網 - 0 注文 - 0 以上のディストリビューター - 1つ以上の関税 - 0 個以上のボルトン - 0台以上のデバイス 関税 - 0件以上の注文 - 0 以上のディストリビューター - ちょうど 1 つのネットワーク - 0 個以上のボルトン - 0 デバイス ボルトン - 0件以上の注文 - 0 以上のディストリビューター - ちょうど 1 つのネットワーク - 0以上の関税 - 0台以上のデバイス デバイス - 0件以上の注文 - 0 以上のディストリビューター - 0 以上のネットワーク - 0関税 - 1 つ以上のボルトン
私は 2 つのスキーマを思いつきましたが、本当に満足していません。主に、ディストリビュータがネットワークからすべての製品を提供するとは限らないという事実が原因です。また、タリフ、デバイス、ボルトオンの価格もディストリビューターごとに異なります。スキーマアプローチへの提案を期待していましたか?
どうもありがとう
ロブ
編集--------私が持っていたコメントに続いて、次のシェマを思いつきました。次の仮定を追加しました
デバイスとボルトンは、製品テーブルに含まれるほど類似しています。
実行する必要があるクエリの種類は、ユーザーが 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,