Re: [请益] 商城的订单数据库设计

楼主: usayankees27 (qwer123)   2021-06-22 15:18:14
我并不是工程师,
目前也在自学中,
针对你的问题提供些答案与解决方向,
希望能帮助到原po,
版上的其他前辈们,
如果认为我的答案有错误或增进的空间,
再请各位提点与指教。
※ 引述《ntpuisbest (阿龙)》之铭言
: 想问问假使我有一个网络商城
: 使用者甲有可能会在A商店 买了 两个羽球拍 一颗篮球
: 使用者乙有可能在A商店 买了 三双球鞋
: 那么我的订单数据库设计字段
: 是应该要每个商品都要占据一个列会比较适合吗
: 订单编号 商品名称 店家名称 商品数量
: A1 羽球拍 A 2
: A1 篮球 A 1
: A2 球鞋 A 3
: 我的理解是使用者甲虽然买了两样东西,但是这是同一笔订单,所以订单编号要相同
: 我都假设成A1这样
: 可是这样设计的话,万一使用者甲一次买十样商品,
: 那我的数据库不就要有十列来存
: 想问这有更好的设计方式吗?
先决定你数据库要用 SQL 还 NoSQL,
你看起来像是要用 SQL,
那你的问题就是没有把资料表正规化,
依你文中的叙述简单画个 ERD,
关键字 正规化 了解下,
就能看懂与理解为什么要这样设计,
另外你之后的资料操作,
Transaction 与 ACID 关键字可以看看。
https://i.imgur.com/BSE1Svt.jpg
: 另外想问另外一个问题是
: 如果是一般的注册使用者帐号密码的表单传到后端,我知道后端
: 可以用name来接收
: 但是如果是购物车
: 要怎么样把使用者 打勾的 羽球拍 篮球
: 都用json传到后端
: 毕竟不同商店都有不同的产品清单
: 这方面我也不可能去把每一个商店的购物画面都刻一遍
不需要画面一个一个刻,
我以前用 Angular 可刻一个空白画面,
API 取资料后再把资料代入,
其他的前端框架应该也能做到。
从你的文中叙述,
不缺定你是否已有基本的基础知识,
建议你到
https://github.com/kamranahmedse/developer-roadmap
看看,相信对你会有帮助
作者: ntpuisbest (阿龙)   2021-06-22 15:58:00
谢谢认真回答!
作者: taipoo (要成功要积极)   2021-06-23 01:31:00
作者: MoonCode (MoonCode)   2021-06-24 13:09:00
我想说 ACID 的特性跟表的设计在这个新手阶段不是很正相关,请问你可以讲讲如果满足或不满足 ACID 的情况下你的设计会有什么差异吗

Links booklink

Contact Us: admin [ a t ] ucptt.com