【问题标题】:Schema for separate SKU table and product table单独的 SKU 表和产品表的架构
【发布时间】:2015-02-20 23:26:59
【问题描述】:

当我想要一个单独的产品表和 SKU 表时,有人可以建议我一个架构吗...原因是当我想做产品捆绑时

SKU1 包含 product_A + product_B

SKU2 包含 product_A

SKU3 包含 product_B

当 SKU1 售出时,它会扣除 product_A 和 product_B 的库存 当 SKU2 售出时,仅扣除 product_A

【问题讨论】:

    标签: schema database-schema business-logic


    【解决方案1】:

    满足您要求的简单架构是

    CREATE TABLE SKUS 
    (ID INT PRIMARY KEY,
    SKU VARCHAR(200) NOT NULL
    )
    
    CREATE TABLE PRODUCTS
    (ID INT PRIMARY KEY,
    NAME VARCHAR(200) NOT NULL
    CONSTRAINT 
    )
    
    CREATE TABLE SKU_PRODUCTS
    (
    ID INT PRIMARY KEY,
    SKUID INT,
    PRODUCTID INT,
    CONSTRAINT FK_SKU_Products_Skus FOREIGN KEY (SKUID) REFERENCES SKUS (ID)
    CONSTRAINT FK_Sku_products_Products FOREIGN KEY (ProductID) REFERENCES PRODUCTS (ID)
    CONSTRAINT UC_SKU_Prodcts_skuid_product_id UNIQUE (SKUID, PRODUCTID)
    

    )

    您定义了一个 skus 表、一个产品表以及一个将 skus 与产品相关联的多对多查找表。我还建议您的主键是自动增量。

    【讨论】:

    • 如果我想知道我目前的库存,那么我会根据 PRODUCTS 表运行查询,当我想处理订单时,它会从 SKUS 表中获取吗?那么当我想输入一个新的库存到货时,它会通过 PRODUCTS 表输入吗?对于我的产品价格,它将在 SKU 表而不是 PRODUCTS 表上定价?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多