**事务ACID特性** - **Atomicity(原子性)**:全做或全不做(通过undo log实现)
数据模型层次模型树形结构一对多关系根唯一如IBM IMS网状模型有向图结构支持多对多复杂但灵活如CODASYL关系模型主流基于集合论与谓词逻辑以二维表关系表示数据操作由关系代数/SQL支撑面向对象模型支持类、继承、封装、对象标识OID如OODBMSObjectStore。关系代数形式化查询语言基础σ选择筛选满足条件的元组π投影提取指定属性列⨝连接常用自然连接或θ连接基于公共属性或条件∪并、−差、×笛卡尔积集合运算要求相容性同目、同域。SQL结构化查询语言声明式SELECT查询含JOIN、GROUP BY、HAVING、ORDER BY等INSERT INTO ... VALUES / SELECT插入数据UPDATE ... SET ... WHERE条件更新DELETE FROM ... WHERE安全删除无WHERE将清空表。视图View虚拟表基于SELECT语句定义不存储实际数据作用安全性权限控制、逻辑独立性、简化复杂查询可更新视图需满足严格条件如无聚合、无DISTINCT、单基表等。索引聚簇索引表数据物理顺序与索引键一致每表至多1个如InnoDB主键索引非聚簇索引索引叶节点存主键值或行指针如InnoDB二级索引、MyISAM索引B树索引平衡多路搜索树所有数据在叶子层、叶子链表有序适合范围查询与等值查询。规范化理论NF1NF属性原子性不可再分2NF1NF 消除非主属性对候选键的部分函数依赖3NF2NF 消除非主属性对候选键的传递函数依赖BCNFBoyce-Codd范式更强于3NF要求任一非平凡FD X→Y 中X 必为超键消除主属性对非键的依赖。函数依赖与Armstrong公理FD X→Y 表示X决定YArmstrong公理系统自反律、增广律、传递律是推理FD闭包F⁺的完备可靠基础属性集闭包X⁺用于判断是否X→Y∈F⁺是求候选键、验证范式的关键工具。无损连接分解将关系R分解为R₁,R₂,…,Rₖ后对任意合法实例r有 r π_{R₁}® ⨝ π_{R₂}® ⨝ … ⨝ π_{Rₖ}®判定方法使用Chase算法或检查是否存在Rᵢ ∩ Rⱼ 是 Rᵢ 或 Rⱼ 的超键针对二元分解。事务ACID特性Atomicity原子性全做或全不做通过undo log实现Consistency一致性事务前后数据库满足完整性约束应用DBMS共同保障Isolation隔离性并发执行效果等价于某串行顺序通过锁、MVCC实现Durability持久性提交后结果永久保存通过redo log刷盘保证。并发控制封锁协议共享锁S允读排他锁X允读写两段锁协议2PL分“加锁阶段”和“解锁阶段”保证可串行化Strict 2PL 还要求X锁持至事务结束避免级联回滚死锁处理预防如按序加锁、避免银行家算法、检测等待图WFG环检测 解除回滚牺牲者。