计算机三级数据库技术|考前极简背诵提纲

发布时间:2026/7/20 10:49:15
计算机三级数据库技术|考前极简背诵提纲 终极极简背诵提纲只留必考、考场默写版无废话、纯考点考前直接背、直接得分。 目录一、数据库系统概述选择必考二、DBAS生命周期大题高频默写三、E-R建模与转换40分大题核心四、函数依赖 三大范式必考计算题五、SQL必考考点综合大题六、事务、并发、锁选择填空重灾区七、数据库故障与恢复八、数据完整性必考三大约束九、索引与物理存储十、数据库优化大题【万能默写模板】十一、分布式数据库 OLAP冷门必背十二、终极必考错题点视频重点强调一、数据库系统概述选择必考三级模式两级映像外模式用户视图保证逻辑独立性模式全局逻辑结构基本表内模式物理存储结构保证物理独立性DB、DBMS、DBS关系DBS数据库系统 DBMS管理软件 DB数据数据模型三类层次、网状、关系模型唯一考试重点数据仓库四大特点面向主题、集成、相对稳定、随时间变化二、DBAS生命周期大题高频默写五大阶段规划分析可行性、需求调研需求分析DFD图、数据字典系统设计概念设计E-R图逻辑设计转关系模式、范式优化物理设计索引、存储、分区实现部署建库、导数据、调试运行维护备份、调优、安全审计三条主线数据存储、数据处理、应用程序三、E-R建模与转换40分大题核心三类属性简单、复合、多值三种联系1:1、1:N、M:N多对多必须单独建表E-R转关系口诀实体直接建表一对多外键放在多方多对多联系单独生成新表存双方主键四、函数依赖 三大范式必考计算题依赖分类部分依赖、完全依赖、传递依赖三大范式满分定义1NF列不可再分2NF消除部分函数依赖3NF消除传递函数依赖候选码做题口诀只出现在左边→必入码只出现在右边→绝不入码左右都有→看闭包推导模式分解两个判定无损连接、保持函数依赖五、SQL必考考点综合大题执行顺序超级易错FROM→WHERE→GROUP BY→HAVING→ORDER BY-- 示例查询每个部门平均工资大于5000的部门名称和平均工资按平均工资降序排列SELECTdepartment_name,AVG(salary)asavg_salaryFROMemployees eJOINdepartments dONe.department_idd.department_id-- 第一步FROM JOIN 确定数据源WHEREe.statusactive-- 第二步WHERE 过滤原始行GROUPBYd.department_name-- 第三步GROUP BY 分组HAVINGAVG(salary)5000-- 第四步HAVING 过滤分组结果ORDERBYavg_salaryDESC;-- 第五步ORDER BY 排序结果WHERE与HAVING区别WHERE分组前过滤原始数据HAVING分组后过滤聚合结果-- 示例WHERE vs HAVING 使用场景对比-- 1. WHERE过滤原始数据分组前SELECTdepartment_id,COUNT(*)asemp_countFROMemployeesWHEREhire_date2020-01-01-- 先过滤出2020年后入职的员工GROUPBYdepartment_id;-- 2. HAVING过滤聚合结果分组后SELECTdepartment_id,COUNT(*)asemp_countFROMemployeesGROUPBYdepartment_idHAVINGCOUNT(*)10;-- 再过滤出员工数大于10的部门聚合函数COUNT、SUM、AVG、MAX、MIN⚠️聚合不能放WHERE后面-- 错误示例聚合函数不能直接用在WHERE中-- SELECT * FROM employees WHERE salary AVG(salary); -- 错误-- 正确示例使用子查询或HAVINGSELECT*FROMemployeesWHEREsalary(SELECTAVG(salary)FROMemployees);连接类型内连接只取匹配左连接左表全部右表匹配不到补NULL-- 示例内连接 vs 左连接对比-- 创建示例表CREATETABLEdepartments(dept_idINTPRIMARYKEY,dept_nameVARCHAR(50));CREATETABLEemployees(emp_idINTPRIMARYKEY,emp_nameVARCHAR(50),dept_idINT);-- 1. 内连接只返回两个表都匹配的记录SELECTe.emp_name,d.dept_nameFROMemployees eINNERJOINdepartments dONe.dept_idd.dept_id;-- 结果只显示有部门的员工-- 2. 左连接返回左表所有记录右表无匹配则显示NULLSELECTe.emp_name,d.dept_nameFROMemployees eLEFTJOINdepartments dONe.dept_idd.dept_id;-- 结果显示所有员工没部门的员工dept_name为NULLDELETE vs TRUNCATEDELETE可回滚、不重置自增TRUNCATE不可回滚、清空结构、重置自增视图特点虚拟表、不存数据、查时实时生成六、事务、并发、锁选择填空重灾区ACID四大特性原子性一致性隔离性持久性并发三大问题读脏数据不可重复读丢失修改两种锁S共享锁可读不可改X排他锁读写都禁止死锁四大条件互斥请求保持不可剥夺循环等待七、数据库故障与恢复三类故障事务故障回滚UNDO系统故障重做REDO回滚UNDO介质故障完整备份日志恢复备份类型完全备份增量备份日志备份八、数据完整性必考三大约束实体完整性主键唯一、非空参照完整性外键参照主表主键用户自定义完整性CHECK、默认值、非空九、索引与物理存储索引作用加速查询、减慢增删改聚集索引物理排序一张表只能一个非聚集索引逻辑索引可多个十、数据库优化大题【万能默写模板】考试问“如何优化”直接背这4条结构优化垂直分表将大表按列拆分冷热数据分离水平分表按时间、地域等维度拆分减少单表数据量增加冗余适当反规范化减少多表连接建汇总表预计算高频统计用空间换时间选择合适数据类型用最小、最合适类型存储数据索引优化高频查询建索引WHERE、JOIN、ORDER BY字段优先删除无用索引定期分析索引使用率删除低效索引复合索引最左前缀按查询条件顺序创建复合索引避免在索引列上运算如WHERE YEAR(create_time)2023会使索引失效覆盖索引索引包含查询所有字段避免回表SQL优化避免SELECT *只取所需字段减少I/O减少嵌套子查询用JOIN或EXISTS改写合理使用JOIN小表驱动大表关联字段建索引减少排序操作避免不必要ORDER BY利用索引排序使用EXISTS代替IN当子查询结果集大时EXISTS效率更高避免在WHERE子句中对字段进行函数操作如WHERE UPPER(name)ABC会使索引失效批量操作代替循环使用INSERT INTO ... VALUES (...), (...)批量插入系统优化调整内存参数合理设置缓冲池、排序区大小定期备份与恢复演练确保数据安全可恢复清理日志与碎片整理定期清理事务日志重建索引消除碎片监控与慢查询分析启用慢查询日志定期分析优化连接池配置合理设置最大连接数避免连接风暴十一、分布式数据库 OLAP冷门必背分布式物理分散、逻辑统一OLTP事务处理、增删改多OLAP分析查询、海量统计十二、终极必考错题点视频重点强调分组查询**SELECT只能出现分组字段聚合**多对多联系必须拆表否则不满足3NF视图默认不能排序无LIMIT禁止ORDER BY外键字段数据类型必须完全一致候选码可以多个主码只有一个2NF解决部分依赖3NF解决传递依赖