【问题标题】:What's the best way to save array in database将数组保存在数据库中的最佳方法是什么
【发布时间】:2016-05-19 16:14:12
【问题描述】:

在数据库中,我有 2 个表 - 商店和产品。

简化..

产品栏:

id | name
1  | car
2  | phone
3  | tv

商店栏:

id | products
1  | car,tv
2  | phone,tv,cars
3  | tv

当每个店铺有很多产品时,如何建立表之间的关系? 每个商店都存储一组 products.id 是否正确?

【问题讨论】:

  • 您不应该将数组存储在数据库中。更好的解决方案是在Products 表中添加另一个名为parent_shop_id(或类似)的列,以将产品与商店关联,从而形成一对多的关系。这当然是假设您的应用程序停在那里。

标签: mysql ruby-on-rails database database-design


【解决方案1】:

嗯,这是一个多对多的关系,你可以这样做:

产品

id
name
price

商店

id
totalPrice
date

商店物品

shop_id
product_id
quantity

【讨论】:

  • "ShopItems" 是最后的类名,而 "shop_items" 是表。
  • 此外,这些字段通常是“shop_id”和“product_id”。
  • 其实应该是ShopItem(单数)类名(facepalm)
猜你喜欢
  • 1970-01-01
  • 2016-08-09
  • 2020-04-08
  • 2014-08-04
  • 2016-09-30
  • 2013-06-07
  • 2018-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多