数据库系统教程(第2版)(上册)
分類: 图书,计算机/网络,数据库,数据库理论,
作者: 王能斌编
出 版 社: 电子工业出版社
出版时间: 2008-5-1字数: 454000版次: 1页数: 269印刷时间: 2008/05/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787121060106包装: 平装内容简介
本书是普通高等教育“十一五”国家级规划教材,是一部全面、系统、深入阐述数据库系统原理的教程和科技参考书。全书共分6篇23章,分上、下两册。第1、2篇分在上册,共有12章;第3~6篇分在下册,共有11章。其中,上册于2008年全面修订。
第1篇是序篇,介绍数据库系统的基本概念和术语、数据模型。第2篇全面介绍关系数据库系统,包括关系数据库语言、DBMS结构和数据目录、数据库的存储结构、查询处理和优化、事务管理、数据库安全和完整性约束、触发子和主动数据库、数据依赖和关系模式规范化、数据库设计、数据库管理和性能调优。SQL∶1999和SQL∶2003标准的新增内容在有关章节中都有所反映。其中,在全面改写的第12章中,对数据库性能调优的原理和方法进行了全面系统的论述。各章附有习题,并为任课教师免费提供教学课件,随后还将出版配套的实验与设计教程。
本书取材新颖、内容丰富、文字精炼、可读性好,可作为计算机、信息管理与信息系统等专业“数据库概论”、“数据库原理”、“数据库系统”、“数据库管理系统”等课程教材。本书便于自学,也可供广大科技人员学习、参考。
目录
第1篇 序篇
第1章 数据库系统引论
1.1 数据管理的发展
1.2 数据库系统
1.3 数据、数据模型和数据模式
1.3.1 数据
1.3.2 数据模型
1.3.3 数据模式
1.4 数据库的生存周期
习题1
第2章 数据模型
*2.1 层次数据模型
2.1.1 基本概念和结构
2.1.2 约束
2.1.3 操作
*2.2 网状数据模型
2.2.1 基本概念和结构
2.2.2 约束
2.2.3 操作
2.3 关系数据模型
2.3.1 基本概念和定义
2.3.2 约束
2.3.3 操作
2.3.4 关系演算
2.4 对传统数据模型的评价
2.5 ER数据模型
2.5.1 基本概念
2.5.2 ER图
2.5.3 扩充ER数据模型
*2.6 面向对象数据模型
2.6.1 对象
2.6.2 类和实例
2.6.3 类层次结构和继承
2.6.4 对象的标识
*2.7 基于逻辑的数据模型
2.7.1 一阶谓词逻辑作为数据模型
2.7.2 有关基于逻辑的数据模型的语法问题
2.7.3 有关基于逻辑的数据模型的语义问题
习题2
第2篇 关系数据库系统
第3章 关系数据库语言
3.1 数据库的用户接口
3.2 SQL语言概况
3.3 SQL数据定义语言
3.3.1 术语和数据类型
3.3.2 基表模式的定义
3.3.3 基表模式的修改
3.3.4 索引的建立和撤销
3.4 SQL查询语言
3.4.1 基本SQL查询语句
3.4.2 查询条件比较复杂的SQL查询语句
3.4.3 GROUPBY和ORDERBY子句的应用
3.4.4 包含UNION的查询
3.5 SQL数据操纵语言
3.5.1 INSERT语句
3.5.2 DELETE语句
3.5.3 UPDATE语句
3.6 SQL中的视图
3.6.1 普通视图
*3.6.2 临时视图和递归查询
3.7 嵌入式SQL
3.7.1 嵌入式SQL简介
3.7.2 嵌入式SQL的说明部分
3.7.3 嵌入式SQL的可执行语句
3.7.4 嵌入式SQL的处理过程
*3.8 动态SQL
3.8.1 直接执行的动态SQL
3.8.2 带动态参数的动态SQL
3.8.3 查询类的动态SQL
39 SQL的存储过程
*3.10 QBE数据库语言
3.10.1 QBE的查询操作
3.10.2 QBE的更新操作
3.10.3 QBE的其他功能
习题3
第4章 数据库管理系统引论
4.1 数据库管理系统结构简介
4.2 事务
4.3 DBMS的进程结构
4.4 DBMS的系统结构
4.5 数据目录
习题4
第5章 数据库的存储结构
5.1 数据库存储介质的特点
5.2 记录的存储结构
5.2.1 记录的物理表示
5.2.2 记录在物理块上的分配
5.2.3 物理块在磁盘上的分配
*5.2.4 数据压缩技术
5.3 文件结构和存取路径
5.3.1 访问文件的方式
5.3.2 数据库对文件的要求
5.3.3 文件的基本类型
5.4 动态索引
*5.5 动态散列
*5.6 多键查询
5.7 存储系统的发展
习题5
第6章 查询处理和优化
6.1 引言
6.2 代数优化
6.3 依赖于存取路径的规则优化
6.3.1 选择操作的实现和优化
6.3.2 连接操作的实现和优化
6.3.3 投影操作的实现
6.3.4 集合操作的实现
6.3.5 组合操作
6.4 代价估算优化
6.4.1 查询执行代价的组成和代价模型
6.4.2 选择操作的代价估算
6.4.3 连接操作的代价估算
6.5 结束语
习题6
第7章 事务管理
7.1 恢复引论
7.2 运行记录的结构
7.3 更新事务的执行与恢复
*7.4 易地更新恢复技术
7.5 消息的处理
7.6 失效的类型及恢复的对策
7.7 并发控制引论
7.7.1 数据库系统中的并发
7.7.2 并发的目的
7.7.3 并发所引起的问题
7.7.4 并发控制的正确性准则
7.8 加锁协议
7.8.1 X锁
7.8.2 两段封锁协议
7.8.3 (S,X)锁
*7.8.4 (S,U,X)锁
7.9 死锁的检测、处理和防止
7.9.1 死锁的检测和处理
7.9.2 死锁的防止
7.10 多粒度封锁
7.11 索引的并发控制
7.12 幽灵及其防止
7.13 事务的隔离等级
*7.14 基于时间标记的并发控制技术
7.14.1 基本的时间标记协议
7.14.2 多版本并发控制技术
*7.15 乐观并发控制技术
习题7
第8章 数据库的安全和完整性约束
8.1 数据库的安全
8.1.1 视图定义和查询修改
8.1.2 访问控制
8.1.3 数据加密
8.1.4 跟踪审查
*8.2 统计数据库的安全
8.3 完整性约束
8.3.1 完整性约束的类型
8.3.2 完整性约束的说明
8.3.3 完整性约束的实施
习题8
第9章 触发子和主动数据库系统
9.1 主动数据库系统引论
9.2 规则的表示
*9.3 规则的执行
*9.4 规则的实现
9.5 规则的应用
习题9
第10章 数据依赖和关系模式的规范化
10.1 关系模式设计中的一些数据语义问题
10.2 函数依赖
*10.3 多值依赖
*10.4 连接依赖
10.5 关系模式的分解及其问题
10.6 关系模式的规范化
习题10
第11章 数据库设计
11.1 数据库设计引论
11.2 数据库的概念设计
11.2.1 数据库概念设计的基本方法
11.2.2 视图设计
11.2.3 视图集成
11.3 数据库的逻辑设计
11.3.1 ER图到关系模式的转换
11.3.2 逻辑模式的规范化、调整和实现
11.3.3 外模式的设计
11.4 数据库的物理设计
11.4.1 簇集设计
11.4.2 索引的选择
11.4.3 分区设计
*11.5 计算机辅助数据库设计工具
习题11
第12章 数据库管理和性能调优
12.1 数据库管理引论
12.2 数据库性能概论
12.2.1 数据库系统的基础设施
12.2.2 应用系统与数据库服务器的连接
12.2.3 存储器系统
12.2.4 SQL的编译执行和解释执行
12.2.5 缓解I/O瓶颈的一些措施
12.3 系统结构与性能调优
12.3.1 问题的由来
12.3.2 新的系统结构
12.4 应用程序设计与性能调优
12.5 SQL调优
12.5.1 SQL调优与查询优化器
12.5.2 SQL调优导则
12.6 数据库性能调优的实现
习题12
参考文献
书摘插图
第1篇 序篇
第1章数据库系统引论
1.1数据管理的发展
在众多的计算机应用中,有一类重要的计算机应用,称为数据密集型应用(data intensiveapplications)。它有下列三个特点:
(1)涉及的数据量大,一般须存放在辅助存储器中,内存中只能暂存其中很小的一部分;
(2)数据不随程序的结束而消失,而是长期保留在计算机系统中,这种数据称为持久数据(persistent data);
(3)数据为多个应用程序所共享,甚至在一个单位或更大范围内共享。
这是最大的计算机应用领域,管理信息系统、办公信息系统、银行信息系统、民航订票系统、情报检索系统等都属于这一类。管理这种大量的、持久的、共享的数据是这类计算机应用面临的共同问题。从20世纪50年代末以来,数据管理一直是计算机科学技术领域中的一门重要的技术和研究课题。
早期的数据管理都采用文件系统(file system)。在文件系统中,数据按其内容、结构和用途组成若干可命名的文件。文件一般为某个用户或用户组所有,但可供指定的其他用户共享。用户可以通过操作系统对文件进行打开、读、写和关闭等操作。图1-1是一个图书馆文件系统的例子,其中共有F1,F2和F3三个文件,A1,A2,A3和A4是建立在这三个文件上的4个应用程序,图中的实线表示每个应用程序所访问的文件。例如,图书出纳应用程序若要处理一个借书申请,须访问F1,查询有无此书;访问F2,查询借阅者是否为本馆的读者;访问F3,查询此书是否借出。这样的文件系统明显地有下列5个缺点。
(1)编写应用程序很不方便。应用程序的设计者必须对所用的文件的逻辑及物理结构有清楚的了解。操作系统只提供打开、关闭、读、写等几个低级的文件操作命令,对文件的查询、修改等处理都须在应用程序内解决。应用程序还不可避免地在功能上有所重复,如A2,A3,A4三个应用程序都要有查询F2的功能。
……