【问题标题】:MySQL - Database Design Question - Valid Formal NormsMySQL - 数据库设计问题 - 有效的形式规范
【发布时间】:2010-11-25 14:41:54
【问题描述】:

我有一个“客户”表。每条记录都包含客户姓名、电子邮件、地址等。

我有一个“skus”表。每条记录都包含一个 SKU 的名称。例如“超级软件包”。

SKU 代表以单一价格点可购买的商品。购买的商品可以包括一种或多种产品。

例如名为“Super Software Bundle”的 SKU 记录可能代表两个产品:product1 和 product2。

出于可用性/易用性的原因,其他表格不仅需要跟踪购买的 sku,还需要跟踪客户可能访问的单个产品。

问题:我应该如何表示数据库中 SKU 的可变大小性质,其中一个 SKU 可以表示 1 到 n 个产品?感谢您的帮助。

【问题讨论】:

    标签: mysql database-design normalization


    【解决方案1】:

    如果我没看错的话,你需要一个 SKU 表和一个 products 表,并且 products 表将有一个指向 SKU 表的外键。

    【讨论】:

    • 感谢您的回复。这就是我遇到困难的部分。如何设置 SKU 表和产品表,以便 SKU 表可以引用产品表中可变数量的记录?
    • 对此进行了更多思考。你是说为了获得每个 SKU 的产品列表,我应该在产品表中搜索所有具有与特定 SKU id 相关的 FK 的记录?
    【解决方案2】:

    您将需要第三张表来管理 SKU 和产品之间的关系,因为一个产品可能是多个 SKU 的一部分(我猜)。您必须为 m:n 关系建模。

    产品

    • 身份证
    • 姓名
    • 价格
    • ...

    sku

    • 身份证
    • 姓名
    • 价格
    • ...

    sku_product

    • 身份证
    • sku_id
    • product_id

    【讨论】:

    • 感谢您对此的帮助。我会尝试这种方法。
    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 2022-01-11
    • 2011-11-20
    • 1970-01-01
    相关资源
    最近更新 更多