<数据库大纲>
- 本大纲是我考研复试时所整理。
- 参考资料:《数据库系统概论》 王珊 萨师煊 第四版 高等教育出版社
- 参考资料:《大连海事大学硕士研究生入学考试大纲》。
一. 主要章节
第一章:绪论
第二章:关系数据库
第三章:关系数据库标准语言——SQL
第四章:数据库安全性控制
第五章:数据库完整性
第六章:关系数据理论
第七章:数据库设计
第八章:数据库编程
第九章:关系系统及其查询优化
第十章:数据库恢复
第十一章:并发控制
二. 主要内容
- 数据管理的发展阶段及每个阶段的特点。
数据是否保存 | 如何管理数据 | 数据是否共享 | 数据的独立性 | |
人工管理阶段 | 不 | 应用程序 | 不 | 不 |
文件系统阶段 | 长期 | 文件系统 | 差 | 差 |
数据库系统 | 数据结构化 (本质区别) | 数据库管理系统 | 高 | 高 |
- 数据、数据库、数据库管理系统的概念,DBMS提供的数据控制功能。
数据 | 描述事物的符号记录 |
数据库 | 长期储存在计算机内,有组织,可共享的大量数据的集合 |
数据库管理系统概念 | 位于用户和操作系统之间的一层数据管理软件 |
DBMS提供的数据控制功能 | 1)数据定义功能(DDL) 2)数据组织,存储和管理(数据字典,用户数据,数据的存储) 3)数据操纵功能(DML) 4)数据库的事物管理和运行管理 5)数据库的建立和维护 6)其他功能 |
数据库系统 | 是由数据库,数据库管理系统,应用程序和数据库管理员 |
- 数据模型的概念,组成数据模型的三要素。
数据模型的概念 | 对现实世界数据特征的抽象 |
组成数据模型的三要素 | 1) 数据结构; 2) 数据操作; 3) 数据的完整性约束(实体完整性和参照完整性)。 |
- 概念模型、实体、属性、码、候选码、外码、域、实体型、实体集的概念。
概念模型 | 现实世界到机器世界的一个中间层次 |
实体 | 客观存在并且相互区别的事物 |
属性 | 实体所具有的某一特性 |
码 | 唯一标示实体的属性集 |
候选码 | 某一属性组的值能够唯一标识一个元组,而其子集不能,则称该属性组为候选码 |
外码 | 关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码 |
域 | 一组相同数据类型值的集合 |
实体型 | 用实体名及其属性名集合来抽象和刻画同类实体 |
实体集 | 同一类型实体的集合 |
-
实体间的联系及E-R模型。
-
实际的数据库系统支持的主要数据模型,基本层次联系,层次模型、网状模型的数据结构。
-
数据库系统的三级模式结构、两级映象功能、数据的物理独立性和逻辑独立性。
三级模式结构 | 内模式,外模式(可以有多个),模式 |
两级映象功能 | 外模式/模式,模式/内模式 |
数据的物理独立性和逻辑独立性 | 内部存储/逻辑结构 |
-
数据库系统的组成由数据库,数据库管理系统,应用程序和数据库管理员。
-
关系的定义及关系的特性,关系模式的表示,元组、属性、主属性、码、候选码、非码属性、全码、外码的概念
关系的定义 | D1*D2*Dn的子集称作D1,D2,Dn上的关系 |
关系的特性 (动态的) | 1)列是同质的; 2)不同的列可出自同一域,每一列成为一个属性; 3)列的顺序为所谓; 4)任意两个元组的候选码不能取同一个值; 5)行的顺序无所谓; 6)分量必须取原子值 |
关系模式的表示 (静态的) | 关系的描述成为关系模式 |
关系模式的表示 | 关系的描述成为关系模式 |
元组 | 笛卡尔积的每一个元素成为元组 |
属性 | 每一列 |
主属性 | 候选码的属性 |
码 | 唯一标示实体的属性集 |
- 关系模型的三类完整性:实体完整性、参照完整性和用户定义完整性。
实体完整性 | 主码唯一而且不为空 |
参照完整性 | 必须取自主码或者为空 |
用户定义完整性 | 自己定义 |
- 关系代数的运算:传统的集合运算(并、交、差、笛卡儿积)和专门的关系运算(选择、投影、连接、除法)。
传统的集合运算 | 并、交、差、笛卡儿积 |
专门的关系运算 | 选择、投影、连接、除法 |
- 关系数据语言的特点,关系操作的特点。SQL语言的四个特点。
关系数据语言的特点 | 高度非过程化 |
关系操作的特点 | 集合操作 |
SQL语言的四个特点 | 1)综合统一,集数据定义语言(DDL),数据操纵语言(DML),数据控制语言的功能为一体(DCL); 2)高度非过程化,只需提出作什么,不需要指明怎么做; 3)面向集合的操作方式; 4)以同一语法结构提供多种使用方式。 |
- SQL语言的数据定义功能:包括对基本表、索引和视图的建立修改和删除,语法格式。
操作对象 | 创建 | 删除 | 修改 |
模式 | CREATE SCHEMA | DROP SCHEMA | 无 |
表 | CREATE TABLE | DROP TABLE | ALTER TABLE |
视图 | CREATE VIEW | DROP VIEW | 无 |
索引 | CREATE INDEX | DROP INDEX | ALTER INDEX |
- 掌握查询(SELECT)语句功能和应用(单表、多表连接、嵌套、集函数)。
- 掌握修改(UPDATE)、删除(DELETE)和插入(INSERT)语句的应用。
- SQL数据控制功能(GRANT、REVOKE)。
- 基本表、视图的概念,视图的作用。
基本表 | 无 |
视图的概念 | 视图是从一个或者几个基本表导出的表。 |
视图的作用 | 1)简化用户的操作; (看你想看的) 2)使用户能以多种角度看待同一数据; (不同的用户有不同的方法) 3)对重构数据库提供了一定程度的逻辑独立性; (外模式不会变) 4)可以的对机密数据提供安全保护; (有利于机密) 5)适当利用视图可以得到更清晰的表达。 (利用聚集函数获得更清晰的表达) |
-
关系系统查询优化的一般策略:
1)选择运算尽可能先做;
2)把投影运算和选择运算同时进行;
3)把投影同其前其后的双目运算结合起来;
4)把某些选择同它前面要执行的笛卡尔积结合起来成为一个连接云;
5)找出公共子式 。 -
平凡与非平凡的函数依赖、完全函数依赖、部分函数依赖、传递函数依赖、函数依赖、(平凡与非平凡的)多值依赖。
-
关系规范化:第一范式、第二范式、第三范式、BC范式、4NF的定义,将一个非规范化的表转化为三范式的表的步骤。掌握把一个非规范的表转化为三范式的表的方法。
第一范式 | 每一个分量必须是不可分的数据项 |
第二范式 | 消除了非主属性对码的部分函数依赖 |
第三范式 | 消除了非主属性对码的传递函数依赖 |
BCNF范式 | 消除了主属性对码的部分和传递函数依赖 |
数据库设计的步骤 | 设计叙述 |
需求分析 | 工作内容:准确了解和分析用户的需求。 基本技术:数据字典,数据项,数据结构,数据流,数据存储。 |
概念结构设计 | 工作内容:对用户需求进行总结,形成一个独立于具体数据库管理数据库管理系统的概念模型。 基本技术:E-R图。 |
逻辑结构设计 | 工作内容:将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。 基本技术:E-R图向关系模式的转换。 |
物理结构设计 | 工作内容:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。 基本技术:B加,哈希,聚簇。 |
数据库实施 | 工作内容:根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库 |
数据库的运行及其维护 | 工作内容:性能检测,转储,数据库重组和重构 |
- 事务的概念、故障种类、恢复原理和技术、恢复策略。
事务的概念 | 用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 |
故障种类 | 事务内部的故障(事务程序本身发现的),系统故障(造成系统停止运转的任何时间,使得系统要重新启动),介质故障(磁盘损坏,磁头碰撞,瞬时强磁场干扰),计算机病毒(人为的故障或者破坏)。 |
恢复原理和技术 | 事务内部故障的恢复:反向扫描日志文件进行检查,对事务的更新操作执行逆操作,继续反向扫描日志文件,查找该事物的其他更新操作,并做同样的处理。 系统故障的恢复:1. 正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标记为重做队列(redo-list),同时找出故障发生时尚未完成的事务,标记入撤销队列(undo-list); 2.对撤销队列中各个事务进行撤销操作; 3.对重做队列中各个事务进行重做操作。 介质故障的恢复:装入最新的数据库后备副本,装入相应的日志文件副本。 |
- 并发控制的技术、基本封锁的种类、封锁协议、并发调度的可串行性、两段锁协议。
封锁协议 | 1.一级封锁协议:事务在修改数据R之前必须先对其加X锁,待事务结束才释放。 2.二级封锁协议:在一级封锁协议的基础上增加事务T在读取R之前必须先对其加S锁,读完释放S锁。 3.三级封锁协议:在一级封锁协议的基础上增加事务T在读取R之前必须先对其加S锁,直到事务结束才释放S锁。 |
并发调度的可串行性 | 是并发事务正确执行的准则,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确的调度 |
两段锁协议 | 一是获得封锁,为扩展阶段;二是释放阶段,为收缩阶段。 |
- 数据安全性,基本的数据安全控制措施–授权机制(GRANT/REVOKR)。
- 数据库的完整性,完整性约束涉及的对象及其状态。
数据库的完整性 | 1.参照完整性; 2.实体完整性; 3.用户定义的完整性。 |
完整性约束涉及的对象及其状态 | 1.参照完整性:外码为等于S中某个主码的值,或者取空; 2.实体完整性:主码不能重复或者取空值; 3.用户定义的完整性。 |