java_manager 2015-09-16 17:28 采纳率: 0%
浏览 13309
已采纳

java开发中:用户、订单、订单详情、商品之间的关系 搞不清

此案例的业务关系是用户、订单、订单详情、商品之间的关系,其中,
一个订单只能属于一个人。
一个订单可以有多个订单详情。
一个订单详情中包含一个商品信息。

所以它们的关系是如下:
订单和人是 一对一的关系。
订单和订单详情是 一对多 的关系。
订单和商品是 多对多的关系。

明明人和订单是一对多,为什么说成了一对一,订单和商品又怎么是多对多的关系?
求解

  • 写回答

5条回答 默认 最新

  • Mrwang123321 2015-09-16 18:03
    关注

    最近在oracle数据库里刚学了交易系统表结构的设计,来说说我的理解。
    先把用户抛开。三张表,订单表,订单详情表,商品表。
    实际生活中,一张订单表里面应该包含多种商品,而一种商品也可以出现
    在多个订单里面。这就是订单与商品多对多的关系。这是两个独立的表,通过
    中间表订单详细表来维护多对多的关系。订单详细表中分别引用订单表的主键
    商品表的主键作为他的外键,这样一份订单详细表的一行数据就可以说明某个商品和
    这个商品属于哪个订单,实现多对多的关系。至于人和订单的关系,我觉得是一对多,
    生活中一个用户可以下多个订单,数据库表设计中只要在人表中引用订单表的主键作为外键即可。
    希望对你有帮助。我建议在纸上画出这几张表,填充一些数据理解就清晰了。当时我们老师也是
    用这种模拟的方式帮助我们理解的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条