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