# 计算机考研复试数据库核心知识点整理 ## 一、数据库基础概念 ### 1. 数据库系统特点 - **数据结构化**:整体结构化,用数据模型描述 - **共享性高冗余低**:多用户共享,减少数据冗余 - **数据独立性**:物理独立性(存储结构变化不影响逻辑)和逻辑独立性(模式变化不影响应用) - **统一管理**:由DBMS统一管理数据安全性、完整性、并发控制等 ### 2. 三级模式与二级映射 - **三级模式**: - **外模式**:用户视图(局部数据逻辑结构) - **模式**:全局数据逻辑结构(全体数据的逻辑描述) - **内模式**:物理存储结构 - **二级映射**: - 外模式/模式:保证逻辑独立性 - 模式/内模式:保证物理独立性 ### 3. 数据库 vs 文件系统 - **文件系统缺点**:冗余高、独立性差、无结构、安全性弱 - **数据库优势**:结构化、共享性高、独立性好、统一管理 --- ## 二、关系数据库核心 ### 1. 关系模型三要素 - **数据结构**:二维表 - **数据操作**:关系代数(选择、投影、连接等) - **完整性约束**:实体、参照、用户定义完整性 ### 2. 完整性约束 - **实体完整性**:主键非空且唯一 - **参照完整性**:外键必须为其他表主键或空值 - **用户定义完整性**:如性别只能取"男/女" ### 3. 连接操作 - **等值连接 vs 自然连接**: - 自然连接自动去重属性,必须有相同属性 - 等值连接保留重复列,属性可不相同 ### 4. 范式理论 - **1NF**:属性不可再分 - **2NF**:消除非主属性对主属性的部分依赖 - **3NF**:消除非主属性对主属性的传递依赖 - **BCNF**:消除主属性对码的部分/传递依赖 --- ## 三、SQL与数据库设计 ### 1. SQL特点 - 综合统一(DDL/DML/DCL) - 高度非过程化 - 面向集合操作 ### 2. 视图(View) - **定义**:虚表,数据来自基本表 - **作用**: - 简化复杂查询 - 数据安全(隐藏敏感字段) - 逻辑独立性 ### 3. 索引 - **类型**: - B+树索引:适合范围查询 - Hash索引:适合等值查询 - **优缺点**: - 优点:加速查询 - 缺点:占用存储,维护成本高 --- ## 四、事务与并发控制 ### 1. 事务ACID特性 - **原子性**:全做或全不做 - **一致性**:事务前后数据状态合法 - **隔离性**:事务间互不干扰 - **持久性**:提交后永久生效 ### 2. 并发问题 - **丢失修改**:后提交覆盖前提交 - **脏读**:读取未提交的无效数据 - **不可重复读**:同一事务两次读取结果不同 - **幻读**:范围查询结果数量变化 ### 3. 封锁协议 - **锁类型**: - 共享锁(S锁):读锁 - 排他锁(X锁):写锁 - **封锁协议**: - 一级:写锁到事务结束(防丢失修改) - 二级:读锁立即释放(防脏读) - 三级:读锁到事务结束(防不可重复读) --- ## 五、数据库安全与恢复 ### 1. 安全技术 - **存取控制**:自主存取(DAC)、强制存取(MAC) - **审计**:记录操作日志 - **加密**:数据传输与存储加密 ### 2. 恢复技术 - **日志文件**:记录事务操作(先写日志后写库) - **故障恢复策略**: - 事务故障:UNDO回滚 - 系统故障:UNDO+REDO - 介质故障:重装备份+日志恢复 --- ## 六、高频考点速记 1. **E-R图设计**:实体(矩形)、属性(椭圆)、联系(菱形) 2. **存储过程**:预编译SQL集合,提高执行效率 3. **游标**:用于逐行处理查询结果 4. **触发器**:事件驱动的特殊过程,用于完整性约束 5. **数据库设计步骤**:需求分析→概念设计→逻辑设计→物理设计→实施→维护