注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库数据库理论数据库系统设计与原理

数据库系统设计与原理

数据库系统设计与原理

定 价:¥24.00

作 者: 冯建华,周立柱编著
出版社: 清华大学出版社
丛编项: 清华大学计算机系列教材
标 签: 数据库系统

ISBN: 9787302088110 出版时间: 2004-07-01 包装: 简裝本
开本: 26cm 页数: 242 字数:  

内容简介

  数据库系统设计与原理本书主要讲述数据库系统的设计与原理,第1章到第6章主要介绍数据库的设计内容和设计方法,包括数据库的概念设计、逻辑设计和物理设计,相关的模型主要介绍了实体-联系模型和关系模型。第7章和第8章主要介绍数据库的底层存储结构和索引的细节,侧重于文件组织、文件结构和索引结构。第9章到第11章主要介绍数据库管理系统的核心技术:包括查询处理、事务管理、并发控制和故障恢复等。第12章和第13章主要介绍数据库管理系统体系结构的扩展和数据库技术的研究进展以及当前出现的一些新的有关数据库研究的课题和应用领域。本书可作为高等院校计算机专业本科生的数据库课程的教材,也可以作为其他科技人员和高校教师的参考书。冯建华,男,山西运城人,1967年8月出生,副教授,现在清华大学计算机科学与技术系软件研究所工作。1986年从运城康杰中学考入清华大学计算机科学与技术系,1991年免试推荐直读清华大学计算机科学与技术系工学硕士研究生,1993年硕士毕业后留校工作至今,期间曾作为技术顾问在联合国国际原子能机构(1AEA,位于奥地利首都维也纳)工作近两年时间。现正在攻读清华大学计算机科学与技术系在职博士学位。主要研究方向为:数据库、数据仓储、XMI。数据库和WWW环境下的信息处理。曾参加了两项国家863项目的开发工作,负责一项国家973项目的子课题"万维网上的数据集成、数据仓储和知识发现的有效算法与软件系统"的研究工作。目前正在率领一个小组开发NativeXMLDatabaseManagementSystem。参与了计算机系两个大项目:"玉溪卷烟厂信息管理与决策支持系统"和"联合国IAEA技术合作局工作流系统"的设计与开发工作。目前已在国内核心期刊和国际会议上发表论文3多篇,其中被EI收录的十多篇。完成的数据库教材主要有《数据库系统设计与原理》和《SQl。Server数据库原理:设计与实现》。周立柱,清华大学计算机系教授,博士生导师。197年毕业于清华大学自动控制系,1983年在加拿大多伦多大学获计算机科学硕士学位。目前是国家教育部科技委委员;国家教育部计算机专业教学指导委员会副主任委员;中国计算机学会数据库专业委员会副主任委员。目前主要从事的研究方向为:数据库系统,数字化图书馆,Web与海量数据处理技术等。序清华大学计算机系列教材已经出版发行了近3种,包括计算机专业的基础数学、专业技术基础和专业等课程的教材;覆盖了计算机专业大学本科和研究生的主要教学内容。这是一批至今发行数量很大并赢得广大读者赞誉的书籍,是近年来出版的大学计算机教材中影响比较大的一批精品。该系列教材的作者都是我熟悉的教授与同事,他们长期在第一线担任相关课程的教学工作,是一批很受大学生和研究生欢迎的任课教师。编写高质量的大学(研究生)计算机教材,不仅需要作者具备丰富的教学经验和科研实践,还需要对相关领域科技发展前沿的正确把握和了解。正因为该系列教材的作者们具备了这些条件,才有了这批高质量优秀教材的出版。可以说,教材是他们长期辛勤工作的结晶。系列教材出版发行以来,无论从其发行的数量、读者的反映、已经获得的许多国家级与省部级的奖励以及在各个高等院校教学中所发挥的作用上,都可以看出该系列教材所产生的社会影响与效益。计算机科技发展异常迅速、内容更新很快。作为教材,一方面要反映本领域基础性、普遍性的知识,保持内容的相对稳定性;另一方面,又需要跟踪科技的发展,及时地调整和更新内容。该系列教材都能按照自身的需要及时地做到这一点,如《计算机组成与结构》一书十年中共发行了三版,其他如《数据结构》等也都已发行了第二版,使教材既保持了稳定性,又达到了先进性的要求。该系列教材内容丰富、体系结构严谨、概念清晰、易学易懂,符合学生的认识规律,适合于教学与自学,深受广大读者的欢迎。系列教材中多数配有丰富的习题集和实验,有的还配备多媒体电子教案,便于学生理论联系实际地学习相关课程。随着我国进一步的开放,我们需要扩大国际交流,加强学习国外的先进经验。在大学教材建设上,我们也应该注意学习和引进国外的先进教材。但是,计算机系列教材的出版发行实践以及它所取得的效果告诉我们,在当前形势下,编写符合国情的具有自主版权的高质量教材仍具有重大意义和价值。它与前者不仅不矛盾,而且是相辅相成的。我希望今后有更多、更好的我国优秀教材的出版。前言长期以来各大学在从事计算机系本科生的数据库系列课程的教学实践中,我们感觉到在教材方面普遍存在着两个方面的问题,一是教材更新的速度慢,不能充分反映当前数据库技术的发展以及扩展研究进展;二是教学内容相对简单,学生常常感觉到没有真正学到有关数据库管理系统的核心知识。基于以上原因,清华大学计算机科学与技术系软件所的数据库研究课题组在多年数据库系列课程教学的基础上,并根据对本科生数据库大学本科课程教学内容的改革的精神,编写了这本书。本书包含13章。第1章到第6章是有关数据库设计的内容,主要介绍数据库的设计内容和设计方法以及数据库管理系统(DBMS)在实际工作中的应用。其中包括数据库的概念设计、逻辑设计和物理设计,相关的模型主要介绍了实体-联系模型和关系模型。第7章和第8章是有关数据存储的内容,主要介绍数据库的底层存储结构和索引的细节,侧重于文件组织、文件结构和索引结构。第9章到第11章是有关DBMS内核的内容,主要介绍数据库管理系统的核心技术:包括查询处理、事务管理、并发控制和故障恢复等。第12章和第13章是有关数据库管理系统的结构扩展和数据库技术的前沿研究的内容,主要介绍数据库管理系统体系结构的扩展和数据库技术的学术研究进展,以及当前出现的一些新的有关数据库研究的课题和应用领域。本书主要由冯建华负责编写,齐畅和孙静负责本书教学用例的设计,周立柱对全书进行了审阅。在编写过程中,作者参考了国内外有关数据库技术的书刊和文献资料,尤其是本书所列的参考教材、参考书及其他参考资料,以及清华大学计算机科学与技术系的论文及科研成果报告。但是由于数据库技术及其扩展研究正处在蓬勃发展的阶段,新的文献资料搜集的还很不完整。限于水平和经验,书中难免会有缺点和不足,恳请读者给予批评指正。本书的编写得到作者所在的数据库课题研究小组其他成员和清华大学出版社的大力支持,在此表示衷心的感谢。

作者简介

  周立柱,清华大学计算机系教授,博士生导师。1970年毕业于清华大学自动控制系,1983年在加拿大多伦多大学获计算机科学硕士学位。目前是国家教育部科技委委员;国家教育部计算机专业教学指导委员会副主任委员;中国计算机学会数据库专业委员会副主任委员。目前主要从事的研究方向为:数据库系统,数字化图书馆,Web与海量数据处理技术等。

图书目录

1  引言
  1.1  数据库管理系统的产生
  1.1.1  数据管理的进展
  1.1.2  文件处理系统
  1.1.3  数据库管理系统
  1.2  数据视图
  1.2.1  数据抽象
  1.2.2  实例和模式
  1.2.3  数据独立性
  1.3  数据模型
  1.3.1  数据模型的分类
  1.3.2  实体—联系模型
  1.3.3  面向对象模型
  1.3.4  关系模型
  1.3.5  网状模型
  1.3.6  层次模型
  1.4  数据库语言
  1.4.1  数据定义语言
  1.4.2  数据操纵语言
  1.5  事务管理
  1.5.1  问题的提出
  1.5.2  事务的定义
  1.5.3  事务管理器
  1.5.4  并发控制管理器
  1.6  存储管理
  1.7  数据库用户
  1.8  数据库管理系统的总体结构
  1.8.1  查询处理器部件
  1.8.2  存储管理器部件
  1.8.3  必要的数据结构
  1.9  商业数据库管理系统
  1.9.1  Oracle数据库系统
  1.9.2  Sybase数据库系统
  1.9.3  Microsoft与IBM数据库系统
  小结
  习题
2  实体联系模型
  2.1  基本概念
  2.1.1  实体集与属性
  2.1.2  属性类型的划分
  2.1.3  联系集与属性
  2.2  E-R模型设计中的问题
  2.2.1  用实体集还是用属性
  2.2.2  用实体集还是用联系集
  2.2.3  用二元联系集还是n元联系集
  2.3  映射约束
  2.3.1  映射基数
  2.3.2  映射基数与联系集的属性位置
  2.3.3  存在依赖
  2.4  码
  2.4.1  码的作用
  2.4.2  实体集的码
  2.4.3  联系集的码
  2.5  实体—联系图
  2.5.1  E-R图的主要构件
  2.5.2  E-R图的作用与好处
  2.5.3  E-R图举例
  2.6  弱实体集
  2.6.1  基本概念
  2.6.2  分辨符
  2.6.3  弱实体集的E-R图
  2.6.4  数据库设计中弱实体集的处理.
  2.7  扩展E-R特性
  2.7.1  特殊化
  2.7.2  概括
  2.7.3  聚集
  2.8  数据库的E-R模式设计
  2.8.i  E-R模式设计的主要任务
  2.8.2  E-R模式设计中的问题
  2.9  将E-R模式转换为表
  2.9.1  为什么要将E-R模式转换为表
  2.9.2  用表表示强实体集
  2.9.3  用表表示弱实体集
  2.9.4  用表表示联系集
  2.9.5  用表表示多值属性
  2.9.6  用表表示概括
  2.9.7  用表表示聚集
  小结
  习题
3  关系模型
  3.1  关系数据库的结构
  3.1.1  基本概念
  3.1.2  数据库模式
  3.1.3  码
  3.1.4  查询语言
  3.2  关系代数
  3.2.1  选择运算
  3.2.2  投影运算
  3.2.3  并运算
  3.2.4  集合差运算
  3.2.5  笛卡儿积运算
  3.2.6  命名运算
  3.2.7  关系代数的形式化定义
  3.2.8  集合交运算
  3.2.9  自然连接运算
  3.2.10  除运算
  3.2.11  赋值运算
  3.3  关系演算
  3.3.1  元组关系演算
  3.3.2  域关系演算
  3.3.3  表达式的安全性与等价性
  3.4  扩展关系代数运算
  3.4.1  广义投影
  3.4.2  外连接
  3.4.3  聚集函数
  3.4.4  分组聚集
  3.5  数据库的修改
  3.5.1  删除
  3.5.2  插入
  3.5.3  更新
  3.6  视图
  3.6.1  什么是视图
  3.6.2  视图的使用
  3.6.3  实体化视图
  小结
  习题
4  SQL
  4.1  背景
  4.1.1  SQL的起源
  4.1.2  SQL的标准
  4.1.3  结构化查询语言SQL
  4.2  基本结构
  4.2.1  SeleCt—rOm—Where 
  4.2.2  更名操作
  4.2.3  字符串操作
  4.3  集合操作
  4.4  聚集函数
  4.4.1  SQL中的聚集函数
  4.4.2  分组聚集
  4.5  空值
  4.5.1  空值的测试
  4.5.2  空值对SQL表达式的影响
  4.6  嵌套子查询
  4.6.1  集合成员资格的确认
  4.6.2  集合的比较
  4.6.3  集合基数的测试
  4.?  派生关系
  4.8  视图
  4.9  数据库的修改
  4.9.1  删除
  4.9.2  插入
  4.9.3  更新
  4.10  关系的连接
  4.10.1  连接类型和条件
  4.10.2  举例
  4.11  SQL DDL
  4.11.1  SQL中的域类型
  4.11.2  SQL的模式定义
  4.11.3  模式的删除与修改
  4.12  嵌入式SQL
  4.13  其他SQL特性
  小结
  习题
5  完整性约束与模式分解
  5.1  域约束
  5.2  参照完整性
  5.2.1  基本概念
  5.2.2  E—R模型中的参照完整性
  5.2.3  数据库的修改
  5.2.4  SQL中的参照完整性
  5.3  断言
  5.4  触发器
  5.5  函数依赖
  5.5.1  基本概念
  5。5.2  举例
  5.5.3  函数依赖集的闭包
  5.5.4  ArmstrOng公理
  5.6  码与范式
  5.7  关系数据库设计
  5.8  模式分解
  5.8.1  问题的提出
  5.8.2  无损连接分解
  5.8.3  规范化
  小结
  习题
6  数据库的物理设计
  6.1  数据库设计的六阶段
  6.1.1  数据库的设计过程
  6.1.2  数据库的三级模式
  6.2  数据库的物理组织
  6.3  数据库的物理设计
  6.4  数据的存储结构
  6.5  数据的存取路径
  6.6  物理设计的相关因素
  小结
  习题
7  存储结构和文件结构
  7.1  物理存储介质:
  7.1.1  三级存储体系
  7.1.2  磁盘
  7.1.3  RAID
  7.1.4  第三级存储
  7.2  文件组织
  7.2.1  定长记录
  7.2.2  变长记录
  7.3  文件中记录的组织
  7.3.1  堆文件组织
  7.3.2  /顷序文件组织
  7.3.3  散列文件组织
  7.3.4  簇集文件组织
  7.4  数据字典的存储
  7.4.1  关系的元数据
  7.4.2  用户的元数据
  7.4.3  统计数据和描述数据
  7.4.4  索引的元数据
  7.4.5  系统表
  小结
  习题
8  索引和散列
  8.1  基本概念
  8.1.1  基本的索引结构
  8.1.2  评价索引的标准
  8.2  顺序索引
  8.2.1  索引顺序文件
  8.2.2  多级索引
  8.2.3  索引的更新
  8.2.4  辅助索引
  8.3  B+树索引文件
  8.3.1  B+树索引结构
  8.3.2  B+树索引的缺点
  8.3.3  B+树上的查询
  8.3.4  B+树的更新
  8.3.5  B+树文件组织
  8.4  散列文件组织
  8.4.1  散列文件的操作
  8.4.2  散列函数
  8.4.3  桶溢出控制
  8.5  散列索引
  8.6  J顷序索引和散列的比较
  8.7  SQL中索引的定义
  8.8  多码访问
  小结
  习题
9  查询处理
  9.1  查询处理的过程
  9.1.1  语法分析与翻译器
  9.1.2  查询优化器
  9.1.3  执行引擎
  9.2  关系代数表达式的转换
  9.2.1  等价规划
  9.2。2  表达式转换举例
  9.3  查询代价的度量
  9.3.1  查询处理的代价
  9.3.2  代价模型
  9.3.3  用于估计代价的统计信息
  9.4  实现关系运算的算法代价
  9.4.1  选择运算
  9.4.2  连接运算
  9.5  表达式的求值方法
  9.5.1  实体化计算方法
  9.5.2  流水线计算方法
  9.6  查询优化
  9.7  查询优化器的构造
  小结
  习题
10  事务
  10.1  事务的概念
  10.1.1  背景知识
  10.1.2  事务的特性
  10.2  事务的状态
  10.2.1  基本术语
  10.2.2  抽象事务模型
  10.3  原子性和持久性的实现
  10.4  事务的并发执行
  10.4.1  为什么要并发执行
  10.4.2  调度
  10.5  调度的可串行化
  10.5.1  调度中指令的可交换性
  10.5.2  冲突可串行化
  10.5.3  视图可串行化。;.
  10.6  调度的可恢复性
  10.7  隔离性的实现
  10.8  SQL中事务的定义
  10.9  冲突可串行化的判定
  10.9.1  判定方法
  10.9.2  优先图
  10.9.3  举例
  小结
  习题
11  并发控制
  11.1  封锁协议
  11.1.1  锁
  11.1.2  基本的封锁协议
  11.1.3  基本封锁协议的问题
  11.1.4  两阶段封锁协议
  11.1.5  加强的两阶段封锁协议
  11.1.6  商用DBMS中封锁协议的实现
  11.2  树形协议
  11.2.1  树形协议的提出
  11.2.2  树形协议内容
  11.3  时间戳排序协议
  11.3.1  时间戳
  11.3.2  时间戳排序协议
  11.3.3  ThOmas写规则
  11.4  有效性检查协议
  11.5  多粒度机制
  11.6  多版本机制
  11.7  死锁处理
  11.7.1  死锁问题
  11.7.2  死锁预防
  11.7.3  死锁检狈0与恢复
  11.8  插入与删除
  11.8.1  删除
  11.8.2  插入
  小结
  习题
12  数据库系统的体系结构
  12.1  集中式系统
  12.2  客户川艮务器系统
  12.3  并行系统
  12.4  分布式系统
  小结
  习题
13  数据仓库
  13.1  数据库技术的发展
  13.2  数据仓库
  13.2.1  数据仓库的概念
  13.2.2  数据仓库的结构
  13.2.3  数据仓库的特点
  13.3  数据集市
  13.4  数据仓库的开发过程
  13.5  基于数据仓库的决策支持系统的解决方案
  小结
  习题
附录  清华大学本科生课程概况
参考文献

本目录推荐