MySQL 必知必会
朱晓峰
前摩根大通银行技术部副总裁、系统架构师
新⼈⾸单¥59.9
1318 人已学习
课程目录
已更新 28 讲 / 共 34 讲
0/4登录后,你可以任选4讲全文学习。
课前准备 (2讲)
开篇词 | 在实战中学习,是解锁MySQL技能的最佳方法
免费
环境准备 | 带你安装MySQL和图形化管理工具Workbench
实践篇 (13讲)
01 | 存储:一个完整的数据存储过程是怎样的?
02 | 字段:这么多字段类型,该怎么定义?
03 | 表:怎么创建和修改表?
04 | 增删改查:如何操作表中的数据?
05 | 主键:如何正确设置主键?
06 | 外键和连接:如何做关联查询?
07 | 条件语句:WHERE 与 HAVING有什么不同?
08 | 聚合函数:怎么高效地进行分组统计?
09 | 时间函数:时间类数据,MySQL是怎么处理的?
10 | 如何进行数学计算、字符串处理和条件判断?
11 | 索引:如何提高查询的速度?
12 | 事务:怎么确保关联操作正确执行?
13 | 临时表:复杂查询,如何保存中间结果?
进阶篇 (8讲)
14 | 视图:如何简化查询?
15 | 存储过程:如何提高程序的性能和安全性?
16 | 游标:对于数据集中的记录,该怎么逐条处理?
17 | 触发器:如何让数据修改自动触发关联操作,确保数据一致性?
18 | 权限管理:如何控制数据库访问,消除安全隐患?
19 | 日志(上):系统出现问题,如何及时发现?
20 | 日志(下):系统故障,如何恢复数据?
21 | 数据备份:异常情况下,如何确保数据安全?
优化篇 (3讲)
22 | 范式:如何消除冗余和高效存取?
23 | ER模型:如何理清数据库设计思路?
24 | 查询有点慢,语句该如何写?
特别放送 (2讲)
特别发送(一) | 经典面试题讲解第一弹
特别放送(二)| 经典面试题讲解第二弹
MySQL 必知必会
15
15
1.0x
00:00/00:00
登录|注册

23 | ER模型:如何理清数据库设计思路?

朱晓峰 2021-05-04
你好,我是朱晓峰。
在超市项目的数据库设计阶段,超市经营者交给我们一大堆 Excel 表格。我们需要把这些表格的数据都整理清楚,并且按照一定的规则存储起来,从而进行高效的管理。
比如,当时我们有这样一张进货表:
为了提高数据存储的效率,我们按照第三范式的原则进行拆分,这样就得到了 4 个表,分别是供货商表、进货单头表、进货单明细表和商品信息表。
供货商表:
进货单头表:
进货单明细表:
商品信息表:
其中,商品信息表、供货商表和进货单头表都满足第三范式的原则,进货单明细表虽然不满足第三范式的原则,但是满足第二范式的要求,而且保留的冗余字段也是基于业务优先的原则保留的。因此,超市经营者给我们提供的进货单表,经过我们的拆解,已经是存取效率最佳的方案了。在进货管理这个局部模块中,是最优的数据库设计方案。
但是,当我们按照这样的方式拆分一连串数据表时,却发现越拆越多,而且支离破碎。事实上,局部最优的表,不仅有可能存在进一步拆分的情况,还有可能会出现数据缺失
毕竟,数据库设计是牵一发而动全身的。那有没有什么办法提前看到数据库的全貌呢?比如需要哪些数据表、数据表中应该有哪些字段,数据表与数据表之间有什么关系、通过什么字段进行连接,等等。这样我们才能进行整体的梳理和设计。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《MySQL 必知必会》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥59.9
立即订阅
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
返回
顶部