【问题标题】:Inserting collection into database将集合插入数据库
【发布时间】:2014-08-20 13:21:39
【问题描述】:

是否有任何解决方案可以将集合作为单独的列插入数据库表中。例如:

表格:订单详情
订单编号
客户 ID
ProductId -> 这应该是一个数组或列表 (ProductIds)
...

mysql中是否有数组或列表之类的东西,或者我应该根据不同产品的数量将订单拆分为单独的订单?

提前致谢。

【问题讨论】:

  • 不要存储逗号分隔的数据,而是创建另一个表为product_orders,字段为orderid and productid

标签: mysql


【解决方案1】:

您不应该将事物列表放入列中。您需要的是一个名为 Products 的单独表。

此表将包含一个 OrderId 列和一个 ProductId 列。如果您有 3 个特定订单的产品,那么您将在 products 表中为该订单提供 3 行。您可以将列表中的一个元素放在产品表的一行中。

Table: Products
OrderId
ProductId

这称为规范化,是设计关系数据库时需要理解的重要内容。

【讨论】:

    【解决方案2】:

    我建议阅读一些关于“标准化”的内容。理想情况下,您会使用 Boyce-Codd 范式。见The Wikipedia on the topic

    如果您不想使用连接,您可能不想使用关系数据库,并且可能需要考虑对象存储或 noSQL 解决方案,它可以让您直接存储 JSON 文档。

    【讨论】:

      猜你喜欢
      • 2014-11-12
      • 2022-01-04
      • 1970-01-01
      • 2016-08-22
      • 2017-08-22
      • 1970-01-01
      • 2013-01-23
      • 2016-11-16
      • 2012-11-11
      相关资源
      最近更新 更多