这门课解决什么问题
很多上班族和转行者在初学数据库时,通常只停留在写基本的增删改查语句。一旦遇到历史数据出现脏数据、大批量查询响应极慢,或者被问及“为什么加了索引还是慢”时,往往无从下手。这门围绕 SQL Server 2019 高级开发的课程,核心解决的就是从“能写出查询”到“能保障数据质量并看懂底层存储”的跨越。它不教你基础的建表语法,而是直奔工作场景中的硬骨头:如何用约束机制锁死错误数据,以及数据在磁盘上究竟是怎么存放和读取的。如果你正被日常的数据排查和基础调优困扰,这部分内容能帮你把模糊的直觉转化为具体的排查逻辑。
适合什么基础与学习建议
这套资料适合已经掌握基础 T-SQL 语法、能独立写多表联查,但缺乏体系化底层认知的读者。完全没有接触过数据库的新手不建议直接看,容易在存储引擎部分卡壳。拿到资料后,建议优先看数据完整性与数据存储这两大板块。前者直接对应日常建表和洗数场景,看完马上能套用到现有的业务表设计中;后者关于页、区以及逻辑读与物理读的内容,是后续理解性能调优的基石。看视频时不要倍速,遇到存储分配的抽象概念,务必打开本地的数据库环境,跟着演示手动执行一遍系统视图查询,观察页的分配状态,眼见为实才能真正消化。
学完能独立做什么
完整跟下这两块内容后,你在工作场景中会有明显的能力提升。在数据完整性方面,你能独立为业务系统设计防呆机制,通过主键、唯一性约束、检查约束和默认值,在数据库引擎层拦截不合规的录入,而不是依赖前端代码去兜底;同时你也懂得在执行历史数据清洗或批量导入时,如何临时让约束失效以提升处理效率,并在事后安全恢复。在底层认知方面,你能通过分析逻辑读、物理读和预读的指标,判断一段慢查询究竟是卡在内存缓冲池还是磁盘 I/O。这意味着以后面对卡顿的报表,你不再是盲目地去网上搜语句去试,而是能基于存储结构给出确切的优化判断。
掌握数据库开发用到的高级技术
课程目录
* 01 实现数据完整性/
* 01 IT运维职位需要学习的技能.mp4 04:07
* 02 课程介绍.mp4 02:44
* 03 数据完整性类型.mp4 09:16
* 04 实体完整性-主键.mp4 07:01
* 05 实体完整性-设置主键为自增列.mp4 07:26
* 06 实体完整性-唯一性约束.mp4 06:40
* 07 域完整性-数据类型 check约束 默认值约束.mp4 22:24
* 08 域完整性-参照完整性.mp4 08:00
* 09 使约束失效.mp4 03:28
* 02 数据存储/
* 01 数据存储 页和区.mp4 14:49
* 02 SQLServer空间分配 PFS页 GAM 和 SGAM.mp4 14:14
* 03 高级扫描.mp4 04:45
* 04 读取数据(逻辑读 物理读和预读).mp4 12:00
* 05 写入页(惰性写入、勤奋写入和检查点 写入).mp4 09:18
* 03 规划和维护索引/
* 01 在Windows10安装SQL2019管理工具.mp4 05:51
* 02 堆如何存储数据.mp4 11:47
* 03 演示:在堆上插入记录 查询记录.mp4 07:40
* 04 聚集索引和索引页.mp4 10:41
* 05 演示:创建聚集索引和主键.mp4 08:54
* 06 演示:聚集索引对查询性能的影响.mp4 11:17
* 07 非聚集索引如何查找数据.mp4 13:25
* 08 演示:非聚集索引对查询性能的影响.mp4 16:28
* 09 创建唯一性索引.mp4 11:57
* 10 创建组合索引.mp4 17:28
* 11 在被计算列上创建索引.mp4 11:16
* 12 填充因子 重建索引.mp4 23:46
* 13 重建索引 索引碎片清理.mp4 06:38
* 14 在哪些列上创建索引.mp4 03:57
* 15 介绍全文索引.mp4 08:21
* 16 创建和使用全文索引.mp4 15:43
* 04 视图/
* 01 介绍和创建视图.mp4 08:25
* 02 使用多张基表创建视图.mp4 05:09
* 03 使用视图作为视图的基表.mp4 09:49
* 04 通过视图修改 删除 插入记录.mp4 09:18
* 05 通过视图汇总多个服务器上的数据.mp4 11:31
* 06 加密视图.mp4 05:39
* 07 视图的优点.mp4 05:13
* 08 演示:开发程序通过视图读取数据.mp4 08:21
* 09 演示:通过程序查询和删除记录.mp4 13:19
* 05 存储过程/
* 01 存储过程的概念.mp4 05:04
* 02 创建 修改 调用不带参数的存储过程.mp4 06:24
* 03 带参数的存储过程.mp4 19:56
* 04 创建带输出参数的存储过程.mp4 03:14
* 05 创建不缓存存储过程和加密存储过程.mp4 05:48
* 06 创建临时存储过程.mp4 09:40
* 07 系统存储过程.mp4 07:45
* 08 扩展存储过程.mp4 05:50
* 09 演示:程序员开发程序调用存储过程.mp4 07:19
* 10 使用存储过程的好处.mp4 03:51
* 06 函数/
* 01 创建标量函数.mp4 10:54
* 02 标量函数应用举例.mp4 06:34
* 03 表值函数.mp4 02:04
* 04 系统函数-聚合函数.mp4 13:29
* 05 系统函数-数据类型转换函数.mp4 08:37
* 06 系统函数-日期函数.mp4 13:48
* 07 系统函数-数字函数.mp4 19:48
* 08 系统函数-字符串函数.mp4 23:48
* 09 系统函数应用举例.mp4 03:24
* 07 触发器/
* 01 介绍触发器.mp4 17:58
* 02 演示:创建删除触发器禁止一次删除多条记录.mp4 05:51
* 03 演示:使用删除触发器实现级联删除.mp4 08:35
* 04 演示:Update触发器.mp4 06:47
* 05 演示:使用存储过程记录对表的操作.mp4 15:33
* 06 Instead of触发器的应用举例.mp4 09:02
* 07 在视图上使用Instead of触发器.mp4 12:53
* 08 使用Instead of触发器禁止更改特定列.mp4 05:33
* 09 DDL触发器(数据库级触发器).mp4 06:21
* 10 DDL触发器(服务器级触发器).mp4 03:39
* 11 登录触发器的应用举例.mp4 11:30
* 08 事务和锁/
* 01 什么是事务.mp4 07:14
* 02 事务如何实现数据完整性.mp4 11:54
* 03 开始事务 提交事务和回滚事务.mp4 11:01
* 04 隐式事务和显式事务.mp4 03:43
* 05 数据库并发访问带来的问题.mp4 12:03
* 06 基本锁-共享锁和独占锁.mp4 06:59
* 07 锁的粒度.mp4 11:57
* 08 介绍事务隔离级别.mp4 06:01
* 09 查看和设置事物隔离级别-提交读和未提交读.mp4 05:50
* 10 设置事物隔离级别-可重复读和序列化.mp4 09:34
* 11 基于 行版本的隔离级别.mp4 06:38
* 12 设置并验证基于行版本的隔离级别.mp4 11:29






