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

How to design a Real Time B2B Ecommerce Database Structure?

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

类似批发商可以卖给零售商(批发商和零售商之间的多对多关系)。

零售商也可以卖给客户(零售商和客户之间存在多对多关系)

示例

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

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

s1 供应商可以以 pr3% 的利润将 p1 产品卖给 w2 批发商

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

如何设计这种类型的模型,其中应该有哪些字段?

你能帮我找供应商和批发商 table 吗?

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

我会这样走:

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 留空,这将作为默认值提供给所有没有给定产品特定利润的批发商。