一、数据库基础知识
- 数据库系统基本概念 :
- 数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)的定义和相互关系。
- 数据模型:概念模型、逻辑模型、物理模型,以及 E-R 图的绘制方法和元素(实体、属性、联系)。
- 数据库体系结构 :
- 三级模式结构(模式、外模式、内模式)及其作用和相互关系。
- 两级映像(外模式 / 模式映像、模式 / 内模式映像)及其对数据独立性的意义。
二、关系模型与关系代数
- 关系模型 :
- 关系、属性、元组、域、码(候选码、主码、外码)等基本术语的含义。
- 关系模式的定义和表示方法。
- 关系代数 :
- 传统的集合运算(并、差、交、笛卡尔积)和专门的关系运算(投影、选择、连接、除运算)的操作和性质,能够运用关系代数表达式进行查询操作。
三、SQL 语言
- SQL 的基本概念和特点 :
- SQL 是数据库的标准语言,集数据定义、数据操纵、数据控制功能于一体,具有高度的综合性和简洁性。
- 数据定义功能 :
- 模式定义与修改(CREATE SCHEMA、ALTER SCHEMA)。
- 基本表的定义、修改和删除(CREATE TABLE、ALTER TABLE、DROP TABLE)。
- 索引的定义、修改和删除(CREATE INDEX、DROP INDEX)。
- 数据操纵功能 :
- 数据查询(SELECT 语句):包括简单查询、嵌套查询、连接查询、条件查询、聚合查询(GROUP BY 和 HAVING 子句)、分组查询、排序查询(ORDER BY 子句)等。
- 数据更新:包括插入数据(INSERT)、删除数据(DELETE)、更新数据(UPDATE)。
- 数据控制功能 :
- 授权(GRANT)和回收权限(REVOKE)。
- 事务定义(BEGIN TRANSACTION、COMMIT、ROLLBACK)和事务的 ACID 特性(原子性、一致性、隔离性、持久性)。
四、数据库完整性与安全性
- 数据库完整性 :
- 实体完整性、参照完整性和用户定义完整性的概念和约束条件。
- 在关系数据库中实现完整性约束的方法,如主键约束、外键约束、检查约束等。
- 数据库安全性 :
- 数据库安全性的概念和保护数据的常用技术,如用户身份鉴别、存取控制、视图、加密等。
- 基于角色的存取控制模型和自主存取控制(DAC)、强制存取控制(MAC)的区别。
五、关系数据库设计理论
- 函数依赖 :
- 函数依赖的定义和性质,平凡函数依赖与非平凡函数依赖的区分。
- 属性集的闭包计算、候选码的求解方法。
- 范式 :
- 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)的定义和判定,以及分解关系模式达到相应范式的方法,能够对给定的关系模式进行规范化处理,消除数据冗余和异常。
六、数据库恢复技术
- 恢复的基本原理 :
- 故障的种类(事务故障、系统故障、介质故障)及其恢复方法。
- 数据备份的策略和方法(冷备份、热备份)。
- 恢复技术 :
- 利用日志文件进行恢复:日志文件的种类(更新日志、插入日志、删除日志)和登记内容,基于日志的恢复过程(撤销和 redo 操作)。
七、数据库并发控制
- 并发控制的基本概念 :
- 并发事务的调度类型(可串行化调度、冲突可串行化调度)及其对数据库一致性的影响。
- 并发执行可能导致的问题(丢失更新、脏读、不可重复读、幻读)。
- 封锁技术 :
- 封锁的类型(排他锁、共享锁、意向锁)和封锁协议的级别(一级、二级、三级封锁协议),以及不同封锁协议对并发事务调度的约束和对数据库一致性保证的差异。
八、数据库系统结构与实现
- 数据库系统的三级结构 :
- 外存、内存和 CPU 之间的层次结构,以及数据在各层次之间的传递方式。
- 数据库管理系统的核心模块(存储管理器、查询处理器等)及其功能。
- 存储结构与文件组织 :
- 数据库存储结构(文件、记录、数据项)和组织方式(顺序文件、索引文件、散列文件)的特点和适用场景。
- 索引结构(B 树、B+ 树)的工作原理和查询优化方法。
九、大数据环境下的数据库技术
- 大数据的特点与挑战 :
- 大数据的 4V 特性(Volume、Velocity、Variety、Value)以及对传统数据库系统的挑战。
- NoSQL 数据库的产生背景和发展趋势,常见的 NoSQL 数据库类型(键值存储、列族存储、文档存储、图数据库)及其适用场景。
- 分布式数据库技术 :
- 分布式数据库的概念和体系结构(集中式、分片式、全复制式),以及分布式事务的处理机制(两阶段提交协议、三阶段提交协议)。
- 数据分片(水平分片、垂直分片)和分配(基于哈希、范围、列表等分配策略)的方法及其对查询性能和数据一致性的权衡。
十、数据库应用开发技术
- 数据库应用程序开发的基本步骤 :
- 需求分析、概念设计、逻辑设计、物理设计、编码与调试、测试与优化等阶段的主要任务和方法。
- 常见的数据库开发工具和编程语言(如 Python、Java、C# 等)与数据库交互的方式(ODBC、JDBC、ADO.NET 等),能够利用这些工具开发简单的数据库应用程序。
- 数据库性能优化方法 :
- 查询优化:包括选择适当的索引、优化查询语句(避免全表扫描、减少嵌套查询层次等)、查询重写等技术。
- 数据库配置优化:如调整数据库参数(缓冲池大小、日志文件大小等)、优化数据库存储布局(分区、表空间管理等)、事务管理优化(减少长事务、避免死锁等)。
在复习过程中,可以通过参考教材、做练习题、整理笔记等方式加深对知识点的理解和记忆,同时结合实际案例,提高运用数据库知识解决实际问题的能力。