ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

遇到一对多的数据表关联,应该如何设计表结构,一个简单的面试场景

2020-07-14 18:33:08  阅读:161  来源: 互联网

标签:场景 用户 数据表 订单 ID 商品 面试 主键 id


这个问题是主要是问你有订单表,地址表,商品表,如何做关联,如何设计数据库表。

这个我之前没有回答正确,基础不太好,-_- !!~~

-------------------------------------------------------------------------------------------------------------------------------------------------

摘录几个网上的设计方式吧

数据库——订单表中有不同类型的商品,表的设计?如何设计

 

具体需求,做一个类似购物平台,该平台中有多个商家,提供多种销售如酒水,虚拟商品(送花),座位预订等。

 

现在有两方面的问题,

一个在订单方面,是将不同的商品放在不同的订单表中,还是放在同

一的一个订单表中。平台中有多个商家,对不同商家的相同的产品还需要做区分

 

另一个是尽量实现商家端与用户端的分离,订单与付款部分的分离

第一个问题解决方案如下:

1.订单表 
ID 订单号      总价格 
1  DK3453545  400 

2.订单明细表 
ID    订单号     序列号 商品ID  数量  单价 
1001  DK3453545 1     991    1   100 
1002  DK3453545 2     992    2   100 
1003  DK3453545 3     993    1   100 

此处的单价显示的是购买时的价格,不随产品价格的改变而改变

3.商品表 
ID  名称        种类   当前价格  描述 
991 迪拜酒店      1    100     迪拜七星级帆船酒店 
992 上海到迪拜机票  2    100    1月1日上海到迪拜机票 
993 迪拜一日游     3    100    1月2日迪拜一日游 

种类字段用来对不同类型的商品做区分,商品表中最好能够对商品的id做一下记录,因为我的系统中商品来自多个商店

4.酒店表 
ID  名称     星级 
41  迪拜酒店  7星 

5.机票表 
ID  名称          出发地  目的地  类型 
51  上海到迪拜机票   上海    迪拜  经济舱 

6.旅游表 
ID  名称        出发地  目的地  天数  是否有导游 
61  迪拜一日游   上海    迪拜     1    1 

当系统需要查询当前用户的订单时,只先查到1,2,3表。只能看订单概貌,可以将一些酒店,机票等共有的属性放到商品表里。 
然后要看明细,只能点击一行,进到另一个页面才能看特定于某个种类产品的属性,这时再去查4或5或6表。这样4,5,6页面也可以独立了,

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

用户表、订单表、商品表、他们之间的关系是怎么样的, 求大神解答?

用户表和商品表是 独立表,

订单表是由 用户表 和 商品表合成的,

用户表的主键和商品表的主键分别是 订单表的外键,

这两个外键的组合是订单表的主键,清楚了吗?

这是为了 减少数据冗余而设立的三个表,

订单表一般存放用户表的用户id,商品表的商品id

修正一下,因为用户可能会多次下单同一商品,

所以订单表的主键应该是‘订单编号’、‘用户ID’、‘商品ID’,否则下单时会出现插入主键重复的异常。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

用户表、商品表 是独立表,订单表是有订单id(主键)和用户id,

应该还要在多一张订单详情表 详情表的id(主键),订单表的id和商品的id

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Status 0待支付1已支付(待发货)2已发货3已收货4已退货5已评价

显示订单详情时 需要三表联查对吗 订单 订单详情 产品三表

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

主要就是订单表,包含了用户表,商品表,详情表,三张表的关联id,

之前没有碰到过这个需求,还没有开发过,就卡住了。

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

好像还是有点乱,新这样吧,做个记录,以后备查。

 

标签:场景,用户,数据表,订单,ID,商品,面试,主键,id
来源: https://www.cnblogs.com/Koaler/p/13300776.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有