如何设计实时B2B电子商务数据库结构?

时间:2018-07-16 13:39:50

标签: database-design architecture relational-database system-design

我想为b2b电子商务应用程序设计数据库结构。这是情况 供应商可以将不同利润的多种产品出售给不同的批发商(供应商与批发商之间的关系是多对多的)。

类似地,批发商可以出售给零售商(批发商和零售商之间有很多关系)。

零售商也可以向顾客销售(零售商与顾客之间存在许多关系)

示例

s1供应商可以将p1产品出售给w1批发商,利润为pr1%

s1供应商可以将p2产品出售给w1批发商,利润为pr2%

s1供应商可以将p1产品出售给w2批发商,利润为pr3%

s1供应商可以将p2产品出售给w2批发商,利润为pr4%

如何设计这种类型的模型以及其中应该包含哪些字段?

您只能在供应商和批发商表格上帮我吗?

我还想存储由客户说的交易,我想将利润分配给供应商,批发商,零售商,客户中的每一个。如何为该用例存储任何交易?

1 个答案:

答案 0 :(得分:0)

我会这样:

CREATE TABLE margins (
    id serial PRIMARY KEY,
    supplier_id int NOT NULL,
    product_id int NOT NULL,
    wholesaler_id int, -- NULL-able. NULL value indicates that it's a default value for all wholesalers
    margin numeric NOT NULL default 0.01
    -- TODO: foreign keys here
)

因此,您为来自特定供应商的特定产品设置了特定的边距(1%,2%,3%,4%...)。然后,您可以将保证金分配给特定的批发商,或者将wholesaler_id留空,这将作为所有没有给定产品特定保证金的批发商的默认值。