mysql - 数据库设计为每个客户订单存储不同的产品

标签 mysql sql django

我正在构建一种将客户订单插入数据库的简单方法。 我们有多种产品,每种产品都需要不同的属性。

我已经开始设计以下表格:

CUSTOMER -> Order (FK to CUSTOMER) -> OrderItem (FK to Order)

现在我在想如何将特定于产品的表链接到 OrderItem。 假设我有两个产品:product1(房间名称、宽度、高度、颜色)和 product2(数量、宽度、高度、类型、选项)。我会创建两个不同的表并将它们与 OrderItem 链接,以获得特定的选项,我错了吗? (当然不会只有两种产品)

我该怎么做?

最佳答案

我有一个 Product 表,在 OrderItemProduct 之间具有一对多关系。将 FOREIGN KEY 放入指向其关联的 ProductOrderItem 表中。

像您这样的设计意味着每次有新产品时您都必须添加一个表格。那不行。您想要通过插入新行来添加产品。

关于mysql - 数据库设计为每个客户订单存储不同的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502687/

相关文章:

javascript - 如何在没有表单的情况下传递 POST 变量?

php - 如何修复用户未以其在 PHP PDO 中指定的角色登录的问题

sql - 编写用于部署的 SQL 脚本的最佳实践

mysql - 选择查询 3 个连接表

python - Django模型保存值的方法

mysql - 生成表示行在组中的索引的列

php - 迁移的意外行为 :refresh command laravel

mysql - 如何将一个值与 null 相加?

Django "login() takes exactly 1 argument (2 given)"错误

Django "The submitted file is empty"