版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统结构复习重点笔记一、数据库系统基础认知数据库系统(DBS)以数据管理为核心目标,由数据库(DB)、数据库管理系统(DBMS)、应用程序及用户共同构成。DBMS作为核心组件,承担数据的定义、操作、保护与维护职责,其内部核心模块分为存储管理器(处理数据持久化、索引、事务)与查询处理器(解析、优化、执行SQL语句)。从发展脉络看,数据库模型经历了层次模型(树状结构,侧重1:n关联)、网状模型(图结构,支持m:n关联)、关系模型(二维表,基于集合论与谓词逻辑)、面向对象模型(支持复杂数据类型与继承)到NoSQL模型(键值、文档、列族、图结构,应对高并发或非结构化场景)的演变。需理解各模型的适用场景与技术局限(如关系模型的join操作在超大规模数据下的性能瓶颈)。二、数据库体系结构(三级模式与两级映像)数据库的体系结构通过三级模式与两级映像实现数据独立性,是理解逻辑设计与物理存储分离的关键:1.三级模式外模式(用户视图):面向应用的局部数据结构,一个数据库可对应多个外模式(如电商系统的“订单查询视图”“用户管理视图”)。通过视图机制隐藏底层细节,既提升开发效率,也增强数据安全性(如隐藏用户密码字段)。模式(概念模式):全局逻辑结构,描述所有实体、属性及联系(如ER模型转换后的关系模式),是数据库设计的核心蓝图。内模式(物理模式):数据的物理存储细节(如页大小、索引组织方式、存储引擎选择),决定数据在磁盘或内存中的存储形式(如InnoDB的聚簇索引结构)。2.两级映像外模式-模式映像:实现逻辑独立性——当模式(如新增字段)修改时,只需调整外模式与模式的映射关系,无需修改应用程序。模式-内模式映像:实现物理独立性——当内模式(如存储引擎从InnoDB换为MyISAM)修改时,模式保持不变,应用程序无需感知底层存储变化。三、数据模型与模式设计数据模型是对现实世界的抽象,分为概念、逻辑、物理三层:1.概念模型(ER图)核心要素包括实体(如“学生”“课程”)、属性(如学生的“学号”“姓名”)、联系(1:1、1:n、m:n,如“学生选课”是m:n联系)。绘制ER图时需明确联系的基数(如“课程”与“学生”的m:n联系)与参与度(如“课程”至少被1个学生选择,即参与度为1)。2.逻辑模型(关系模型)关系模型以二维表(关系)为基础,表由元组(行)和属性(列)组成,需重点掌握:码:超码(唯一标识元组的属性集)、候选码(最小超码)、主码(选作标识的候选码)、外码(引用其他表的主码)。范式(NF):1NF:属性原子性(无重复组,如“地址”字段需拆分为“省/市/区”);2NF:消除部分函数依赖(非主属性完全依赖于主码,如“订单表”中“订单金额”应依赖于“订单号”,而非“订单号+商品ID”);3NF:消除传递函数依赖(非主属性不依赖于其他非主属性,如“员工表”中“部门名称”应通过“部门ID”关联,而非直接存储);BCNF:消除主属性对候选码的部分/传递依赖(如“课程-教师”关系中,若“教师→课程”且“课程→教师”,需拆分为“课程-教师”和“教师-专长”两张表)。范式分解需遵循无损连接(分解后可通过连接恢复原关系)与保持函数依赖(分解后函数依赖不丢失)原则。3.物理模型(存储设计)决定数据的物理组织方式:存储结构:堆文件(无顺序,适合批量插入)、顺序文件(按主键排序,适合范围查询)、索引组织表(数据按索引顺序存储,如InnoDB的聚簇索引)。索引类型:聚簇索引(数据与索引同结构,一张表仅一个)、非聚簇索引(索引与数据分离,支持多个);B+树索引(范围查询高效)、哈希索引(等值查询高效,不支持范围)、位图索引(低基数属性,如性别、订单状态)。四、存储管理与索引技术高效的存储与索引是数据库性能的核心支撑:1.存储结构细节数据库物理存储以页(Page)为基本单位(如InnoDB默认16KB),页包含头部(元数据,如页号、校验和)、记录区(存储行数据)、空闲空间(预留更新空间)。日志文件(Redo/UndoLog)独立存储,保障事务的持久性与原子性。2.索引机制深度解析B+树索引:结构:多层树,叶子节点通过链表相连,非叶子节点仅存键值,叶子节点存储完整数据(聚簇索引)或指向数据的指针(非聚簇索引)。操作:查找(从根节点到叶节点)、插入/删除(触发分裂/合并,保持树平衡)。优势:支持范围查询(通过叶子节点链表遍历)、查询性能稳定(树高固定)。哈希索引:原理:将键映射到哈希表,冲突通过链表或开放寻址解决。适用场景:等值查询(O(1)时间复杂度),不支持范围、排序操作。索引设计策略:覆盖索引:索引包含查询所需所有列(如`SELECTid,nameFROMuserWHEREid=1`,若索引为`(id,name)`则无需回表查询)。联合索引:遵循“最左前缀”原则(如`(a,b,c)`索引,查询`a`、`a,b`或`a,b,c`可命中索引,仅查询`b`或`c`无法命中)。五、查询处理与优化查询处理是将SQL转换为高效执行计划的过程:1.处理流程SQL语句→语法分析(生成语法树,验证语法正确性)→语义分析(验证表/列存在、权限合法)→查询优化(代数优化+物理优化)→执行计划(选择连接算法、索引等执行方式)。2.关系代数与等价变换关系代数是查询优化的理论基础,核心运算包括:选择(σ,如`σage>18(Student)`)、投影(π,如`πname,age(Student)`)、连接(⋈,如`Student⋈SC`)。等价变换:选择与投影的交换(先执行选择可减少数据量)、连接的结合律/交换律(调整连接顺序以减少中间结果集大小)。3.查询优化策略代数优化:通过等价变换减少运算量(如将选择操作下推到连接操作之前)。物理优化:基于代价模型选择执行方式(如连接算法:嵌套循环连接适合小表,哈希连接适合大表且内存充足,排序-合并连接适合已排序数据)。统计信息:基数(表行数)、选择性(条件过滤后的数据比例)、数据分布(直方图),是代价估算的核心依据。六、事务管理与并发控制事务是数据库操作的基本单元,需保障ACID特性:1.事务特性与隔离级别ACID:原子性(Atomicity):事务要么全执行,要么全回滚(由UndoLog保障);一致性(Consistency):事务前后数据满足完整性约束(如转账后总金额不变);隔离性(Isolation):并发事务互不干扰(由锁或MVCC保障);持久性(Durability):事务提交后数据永久保存(由RedoLog保障)。隔离级别(从低到高):可重复读(RepeatableRead):解决不可重复读,存在幻读(同一查询多次执行,结果集行数变化);串行化(Serializable):事务串行执行,无并发问题,但性能最低。2.并发控制机制锁机制:锁类型:共享锁(S锁,读操作)、排他锁(X锁,写操作);两阶段锁协议:事务分为“增长阶段”(加锁)和“缩减阶段”(解锁),保障隔离性,但可能导致死锁。死锁处理:预防:超时机制(事务等待超时报错)、等待图检测(循环等待时回滚代价最小的事务);解决:回滚死锁链中的一个事务,释放锁资源。MVCC(多版本并发控制):原理:为数据维护多个版本,读操作访问旧版本,写操作生成新版本,通过时间戳或版本号管理可见性。优势:读操作不阻塞写操作,写操作不阻塞读操作,提升并发性能(如InnoDB的可重复读级别基于MVCC实现)。七、数据库安全与恢复数据库需应对安全威胁与故障恢复:1.安全机制认证:用户身份验证(密码、令牌、生物识别);授权:通过`GRANT/REVOKE`语句分配权限(如`GRANTSELECTONtableTOuser`);视图:隐藏敏感数据(如员工表中仅暴露“姓名”“部门”,隐藏“薪资”字段);审计:跟踪用户操作(如记录谁在何时修改了订单数据)。2.恢复技术故障类型:事务故障(如除零错误):通过UndoLog回滚事务;系统故障(如断电):通过RedoLog重做已提交事务,UndoLog回滚未提交事务;介质故障(如磁盘损坏):依赖备份+日志恢复。恢复机制:日志(Redo/Undo):Redo记录事务提交的操作,Undo记录事务的逆操作;检查点(Checkpoint):定期将内存数据刷盘,恢复时从检查点开始,减少日志回放量。备份策略:完全备份:备份全部数据,恢复快但耗时久;增量备份:仅备份自上次备份后修改的数据,耗时短但恢复需串联所有增量;差异备份:备份自上次完全备份后修改的数据,恢复仅需完全备份+最新差异备份。复习建议1.概念串联:将三级模式、数据模型、事务特性等概念结合实际场景(如电商系统的订单表设计、并发下单场景)理解,避免死
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏苏州狮山商务创新发展集团有限公司及下属板块公司招考前自测高频考点模拟试题附答案
- 2025江西抚州市金溪县公安局招聘警务辅助人员52人参考题库附答案
- 2025年湖南长沙市雨花区育新第二小学秋教师招聘(公共基础知识)测试题附答案
- 2025广东中山大学附属口腔医院招聘备考题库附答案
- 2025年河北航空投资集团有限公司社会招聘3人(公共基础知识)测试题附答案
- 2025安徽芜湖医药健康职业学院招聘11人备考题库附答案
- 2025年泸州古蔺县第三次公开考试选调机关事业单位工作人员备考题库附答案
- 2025年安徽邮政春季招聘职等你来备考题库附答案
- 2026黑龙江哈尔滨市第一专科医院招聘编外合同制工作人员51人笔试模拟试题及答案解析
- 2026年福建莆田市公安局城厢警务辅助人员招聘13人笔试备考试题及答案解析
- 建设项目环境影响评价分类管理名录2026版
- 劳务派遣标准操作流程及服务手册
- 2025年医疗器械质量安全风险会商管理制度
- 上呼吸道患者护理课件
- 卫星互联网基础知识培训课件
- 2025年敖汉旗就业服务中心招聘第一批公益性岗位人员的112人模拟试卷含答案详解
- 九年级化学实验教案全集
- 某220千伏变电站10千伏电容器开关柜更换工程的安全措施与施工方案
- 钳工个人实习总结
- 大健康养肝护肝针专题课件
- 道路高程测量成果记录表-自动计算
评论
0/150
提交评论