compare14 2017-02-09 04:00 采纳率: 20%
浏览 4500

关于数据库中一对多关系的表的设计问题

很简单,现有一张商品表(goods),里面有3个字段(id自增主键,name商品名字,price价格);
现在准备设计一张订单表(order),要求一张订单可能包含一个或多个商品,而且商品数量不定,那么应该如何设计这个订单表(order)呢?

我自己想到两种方案:
1、再额外设计一张中间表(order-goods)把它们关联起来,此表包括字段(order-id、goods-id、goods-num),每个订单的每有一个独立商品就添加一条记录到此表;

2、在订单表(order)里设计一个关联商品字段(goods-info),里面记录有商品id和商品数量拼出来的字符串,譬如某订单里有52号商品3件,166号商品4件,那么此订单的关联商品字段(goods-info)就记录着“52:3,166:4”这么一个字符串。

我个人是偏向于第二种方案,因为不用额外设计一张表,添加修改查询的时候都方便很多,只要取出关联商品字段(goods-info)后处理一下数据就可以了。

大神们能点评一下这两种方案吗?或者有更好更科学的设计方案吗?望指教~

  • 写回答

7条回答 默认 最新

  • 一支糖包仔 2017-02-09 04:05
    关注

    这个是需要一个中间表的。你可以想想,订单肯定需要和用户关联。
    用户表要有用户的基本信息,然后一个用户的id号,在订单表中建立外键。订单表u_id 是用户的ID号,可以存在多个同类型的u_id,再有一个外键关联
    商品表的id。这样就能实现了。

    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看