数据库系统原理与设计复习重点

需积分: 14 9 下载量 190 浏览量 更新于2024-09-13 收藏 68KB DOC 举报
"数据库系统原理与设计的考试复习资料,主要涵盖了数据库的基础概念、数据模型、数据库设计理论、数据独立性、事务管理、恢复机制、SQL语言、并发控制以及封锁协议等方面的知识点。" 在数据库系统中,数据独立性是一个重要的特性,它包括逻辑数据独立性和物理数据独立性。逻辑数据独立性指的是数据库的逻辑结构可以独立于物理存储设备和存取方法变化,确保应用不受底层存储细节的影响。物理数据独立性则是指物理存储设备的改变不会影响到逻辑结构,这通常通过数据库管理系统(DBMS)的映射功能来实现。 数据库设计理论关注如何避免数据异常,如插入异常、删除异常和数据冗余,这些问题通常在关系模式设计时处理。1NF(第一范式)、2NF(第二范式)、3NF(第三范式)和BCNF(博科斯范式)是关系数据库设计中用于消除这些异常的范式。例如,2NF消除了非主属性对码的部分函数依赖,而BCNF则进一步消除了非平凡的函数依赖。 在需求分析阶段,数据流图(DFD)被用来描述数据与处理之间的关系,它可以帮助理解系统的输入、输出、处理过程以及数据存储。数据模型有多种,包括关系模型、层次模型、网状模型,但线性模型并不常见。 在数据库设计过程中,将E-R图(实体-关系图)转换成关系数据模型是逻辑设计阶段的任务。同时,事务的特性如原子性、一致性、隔离性和持久性(ACID)是数据库管理系统的重要组成部分,其中持久性由恢复管理子系统实现,而事务的正确执行通常通过封锁机制来保证。 SQL(结构化查询语言)是一种非过程化的语言,易于学习,用于查询、操纵和管理关系数据库。为了保证并发操作的正确性,DBMS通常采用封锁或日志记录等方法。封锁协议的不同级别(一级、二级、三级封锁协议)规定了事务访问数据的规则,以防止并发问题。 在关系模型中,实现实体间的N: M(多对多)联系通常通过创建一个额外的关系(即中间表)来实现,这个关系包含了两个参与实体的键。关系代数运算基于集合运算,如选择、投影、并集、差集等,用于查询和操纵关系数据库。 最后,索引设计是数据库性能优化的关键,"为哪些关系、在哪些属性上、建什么样的索引"这一决策属于逻辑设计阶段,直接影响到查询效率和系统性能。