我希望有人可以帮助我解决我正在尝试实现的数据库模式。它基于销售移动合同和网络提供商的网络连接。合同由许多可能会或可能不会出售网络合同的分销商预先填写,每个分销商的价格也不同。
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 个或多个 BoltOns - 0 个或更多设备 关税 - 0 个或更多订单 - 0 个或更多经销商 - 正好 1 个网络 - 0 个或多个 BoltOns - 0 台设备 螺栓 - 0 个或更多订单 - 0 个或更多经销商 - 正好 1 个网络 - 0 个或多个关税 - 0 个或更多设备 设备 - 0 个或更多订单 - 0 个或更多经销商 - 0 个或更多网络 - 0 关税 - 1 个或多个螺栓
我想出了 2 个模式,但我真的不满意。主要是因为分销商可能无法提供来自网络的所有产品。关税、设备和配件的价格也因经销商而异。我希望对模式方法有一些建议?
非常感谢
抢
编辑-------- 根据我的评论,我提出了以下 shema。我添加了以下假设
设备和 Bolton 非常相似,可以在产品表中:
我们需要运行的查询类型是根据用户在 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,