【问题标题】:PostgreSQL Design for Products and Inventory with Color/size matrix带有颜色/尺寸矩阵的产品和库存的 PostgreSQL 设计
【发布时间】:2023-03-12 03:15:02
【问题描述】:

我尝试处理复杂的产品数据库设计。我坚持嵌套数据结构。

结构;

产品有颜色
颜色有图片,尺寸(L,XL)
尺寸有库存(5 库存计数)

我在做什么;

产品 -> ID, 姓名, 价钱, 积极的, 颜色(Color.id), 图片 (ProductImage.id), 股票(ProductStock.id), 订购

Product_color -> product_id, color_id

颜色-> ID, 名称

Product_ProductImage -> product_id, product_image_id

产品图片 -> ID, 网址, 拇指网址, 颜色(Color.id), 订购

Product_ProductStock -> product_id, product_stock_id

产品库存-> ID, 数数, 颜色(Color.id), 尺寸(Size.id)

尺寸-> ID, 名称

我将它们全部放在产品表中,因为 orm(水线)允许一级连接。

问题

1- 你觉得我的设计怎么样?
2- 优点或缺点是什么?
3- 你会怎么做?

谢谢。

【问题讨论】:

  • 如果您能写出带有外键关系的 create table 语句将会很有帮助。它的编写方式可能会导致读者做出许多假设。
  • 我添加了关系。我将添加表创建语句。

标签: sql postgresql database-design


【解决方案1】:

我发现了几个问题。

  1. 您在这里没有任何限制,可以处理具有 3 种尺寸的产品 A 和具有 4 种尺寸的产品 B。如果是我,我会添加一个带有映射的 product_size 表来限制它。如果现在它们始终相同,您可以自动填充它们,但随着它们的分歧(在现实世界中,它们会分歧),您可以妥善处理。

  2. 根据我的经验,股票最适合使用仅附加方法,因此您需要能够处理进出动作。我认为您在此处的讨论没有任何问题,但您可能希望采用 + for in 和 - for out 之类的约定,并添加时间戳。

【讨论】:

    猜你喜欢
    • 2015-03-06
    • 1970-01-01
    • 2014-02-12
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    相关资源
    最近更新 更多