📄 一句话概括
一家超市的一台收银机背后,至少有查询商品、写入销售记录、汇总分析三套数据库动作在流转——POS、订单、分析就是数据库最典型的三个用武之地。
📝 本节和前面几节的关系
1-6 学会了【怎么对数据库说话】;本节第一次把前六节全部串进真实商业场景——收银是【查+写】、订单是【增删改】、分析是【查询的统计版】,教材标题里的三个词正好对应三种动作。
一、POS 收银机:一次【查询+登记】
POS(Point of Sales,销售终端)就是超市收银台那台扫码机。它每扫一件商品,背后发生两步:
- 查:拿着条形码去商品表里找——【6901234567890 是什么?多少钱?】(一条
SELECT) - 写:结账瞬间往销售记录表里插一行——几点、什么商品、几件、多少钱(一条
INSERT)
所以收银机的本职身份是:一个连着数据库的终端。它自己不存货、不存账——商品数据和销售数据全在后台数据库里。
二、订单管理:增删改的主战场
外卖、网购的订单系统,一天到晚都在做 1-6 说的【操作三件套】:
| 动作 | 用户视角 | 数据库动作 |
|---|---|---|
| 下单 | 点【提交订单】 | INSERT 一条订单 |
| 改地址 | 订单详情里【修改地址】 | UPDATE 那一行 |
| 取消订单 | 点【取消】 | DELETE(或把状态字段改成【已取消】) |
注意最后一行的括号——实际系统更爱用【改状态】而不是真删:订单记录是经营凭证,通常留着不删,只是标记作废。这也是 1-2【登记】精神的体现:商业数据要可追溯。
三、分析:查询的统计版
月底店长要一份报表:【本月卖得最好的前 10 名商品】。
- 原料:销售记录表里一个月几十万行
- 加工:一条统计分析查询(按商品分组、求和、排序——SQL 一段就写完)
- 成品:信息(1-1 说的【数据加工成信息】在这里兑现)
同一个数据库,白天支撑收银(日常业务),月底支撑报表(分析决策)——两种用法共用一套数据,这正是【可共享】的价值。
四、三套动作连成一条线
顾客扫码 ──查──▶ 商品表(价格)
│
└─结账─写─▶ 销售记录表 ──月底统计──▶ 分析报表
│
外卖/网购订单 ──增删改──▶ 订单表
一条链上,1-2 的【登记/整理/查询】、1-4 的【限制(金额不许为空)/控制(收银高峰几十台 POS 同时写)/恢复(账目坏了照日志找回)】全部在岗。
五、动手 Demo:拿一张超市小票逐行对表
找出最近一张超市小票,逐行回答【它动了哪张表】:
| 小票上的内容 | 动了哪张表 | 干了什么 |
|---|---|---|
| 商品名+单价 | 商品表 | 结账前查询(SELECT) |
| 每行【品名×数量×金额】 | 销售记录表 | 结账时写入(INSERT) |
| 会员积分变化 | 会员表 | 结账时更新(UPDATE) |
| 底部【合计/找零】 | ——(计算结果) | 由查询结果算出 |
看到什么算成功:小票每一行都能归到某张表、某个动作上——你就具备了【看见小票,看穿数据库】的眼睛。
六、30 秒实验
下次结账时盯一下收银屏:从【滴】的一声到价格跳出来,中间几乎感觉不到延迟。
- 这背后是一次数据库查询,通常不到 0.1 秒
- 而【商品表】在连锁超市可能有几十万行、同一秒几百台 POS 在查——1-4 的【并发控制】正扛着这一瞬间
七、常见误区
- "收银机里存着全部商品数据" —— 收银机只是终端;商品数据在后台数据库,它每次都是现场查。所以换一台 POS 扫码照样能扫——【货】不在机子里,在库里。
- "做分析要把数据另外抄一份" —— 通常就查同一个库(或定期汇总一份)。同一套数据既管日常又做分析,不必手工搬运。
- "小票就是数据库记录" —— 小票只是给顾客的打印凭条;真正的记录是销售表里那一行数据,小票弄丢了记录还在。
自测三问(点开对答案)
1. POS 扫码一次,背后是哪两个数据库动作? **查商品表(SELECT)+ 写销售记录(INSERT)**。 2. 取消订单更常见做法是真删吗? **不是**——把状态字段改成【已取消】,记录保留以便追溯。 3. 月底报表的【原料】和【成品】分别是什么? **原料=销售记录(数据),成品=报表结论(信息)**——呼应 1-1。- ☐ 下一节(1-8 图书馆、购物网站-我们周围使用的数据库)
相关笔记
- SQL-用于操作数据库的命令 —— 上一节:本节场景里的每个动作都是 SQL
- 🗄️ 数据库基础 · 索引 —— 全课路线图