数据库系统基础教程-原书第3版 内容简介
简介本书由斯坦福大学知名计算机科学家jeffrey ullman和jennifer widom合作编写。本书首先介绍流行的关系数据库和对象关系数据库内容,涉及关系数据模型、e/r模型、uml模型以及对象模型等高级数据模型。然后介绍了有关半结构化数据组织管理中比较流行的xml等内容,既包括了数据组织模型的内容,也给出了相关编程语言,如xpath、xquery、xslt等。本书举例丰富翔实,既可用作大学本科、研究生计算机及相关专业数据库课程的教科书,也可用作数据库领域技术人员的参考书。
数据库系统基础教程-原书第3版 本书特色
《数据库系统基础教程(原书第3版)》特点:全面改版的组织结构。UML数据库模型的新内容。包括3NF综合算法在内的操作依赖新算法的引入。更多的3NF,包括3NF综合算法。扩展的SQL触发讨论。新增的索引选择和物化视图。新增的三层体系结构。新增的PHP。新增的OLAP和SQL立方体算子介绍。扩展的XML内容,包括XML模式、XPath、XQuery和XSLT。
数据库系统基础教程-原书第3版 目录
出版者的话译者序前言第1章 数据库系统世界1.1 数据库系统的发展1.1.1 早期的数据库管理系统1.1.2 关系数据库系统1.1.3 越来越小的系统1.1.4 越来越大的系统1.1.5 信息集成1.2 数据库管理系统概述1.2.1 数据定义语言命令1.2.2 查询处理概述1.2.3 存储器和缓冲区管理器1.2.4 事务处理1.2.5 查询处理器1.3 本书概述1.4 参考文献**部分 关系数据库模型第2章 关系数据模型2.1 数据模型概述2.1.1 什么是数据模型2.1.2 一些重要的数据模型2.1.3 关系模型简介2.1.4 半结构化模型简介2.1.5 其他数据模型2.1.6 几种建模方法的比较2.2 关系模型基础2.2.1 属性2.2.2 模式2.2.3 元组2.2.4 域2.2.5 关系的等价描述2.2.6 关系实例2.2.7 关系上的键2.2.8 数据库模式示例2.2.9 习题2.3 在SQL中定义关系模式2.3.1 SQL中的关系2.3.2 数据类型2.3.3 简单的表定义2.3.4 修改关系模式2.3.5 默认值2.3.6 键的声明2.3.7 习题2.4 代数查询语言2.4.1 为什么需要一种专门的查询语言2.4.2 什么是代数2.4.3 关系代数概述2.4.4 关系上的集合操作2.4.5 投影2.4.6 选择2.4.7 笛卡儿积2.4.8 自然连接2.4.9 θ连接2.4.1 0组合操作构成查询2.4.1 1命名和重命名2.4.1 2操作之间的联系2.4.1 3代数表达式的线性符号2.4.1 4习题2.5 关系上的约束2.5.1 作为约束语言的关系代数2.5.2 引用完整性约束2.5.3 键约束2.5.4 其他约束举例2.5.5 习题2.6 小结2.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.3 关系数据库模式设计3.3.1 异常3.3.2 分解关系3.3.3 Boyce—Codd范式3.3.4 分解为BCNF3.3.5 习题3.4 分解的优劣3.4.1 从分解中恢复信息3.4.2 无损连接的chase检验3.4.3 为什chase检验有效3.4.4 依赖的保持3.4.5 习题3.5 第三范式3.5.1 第三范式的定义3.5.2 3NF模式综合算法3.5.3 为什么3NF综合算法有效3.5.4 习题3.6 多值依赖3.6.1 属性独立及随之产生的冗余3.6.2 多值依赖的定义3.6.3 多值依赖的推导3.6.4 第四范式3.6.5 分解为第四范式3.6.6 范式间的联系3.6.7 习题3.7 MVD的发现算法3.7.1 闭包和chase3.7.2 将chase扩展到MVD3.7.3 chase为何对MVD有效3.7.4 投影MVD3.7.5 习题3.8 小结3.9 参考文献第4章 高级数据库模型4.1 E/R模型4.1.1 实体集4.1.2 属性4.1.3 联系4.1.4 实体一联系图4.1.5 E/R图实例4.1.6 二元E/R联系的多样性4.1.7 多路联系4.1.8 联系中的角色4.1.9 联系的属性4.1.10 多路联系到二元联系的转换4.1.11 E/R模型中的子类4.1.12 习题4.2 设计原则4.2.1 忠实性4.2.2 避免冗余4.2.3 简单性4.2.4 选择正确的联系4.2.5 选择正确的元素种类4.2.6 习题_4.3 E/R模型中的约束4.3.1 E/R模型中的键4.3.2 E/R模型中键的表示4.3.3 引用完整性4.3.4 度约束4.3.5 习题4.4 弱实体集4.4.1 弱实体集的来源4.4.2 弱实体集的要求4.4.3 弱实体集的符号4.4.4 习题4.5 从E/R图到关系设计4.5.1 实体集到关系的转化4.5.2 E/R联系到关系的转化4.5.3 关系组合4.5.4 处理弱实体集4.5.5 习题4.6 子类结构到关系的转化4.6.1 E/R方式转化4.6.2 面向对象方法4.6.3 使用空值组合关系4.6.4 各种方法的比较4.6.5 习题4.7 统一建模语言4.7.1 UML类4.7.2 UML类的键4.7.3 关联4.7.4 自关联4.7.5 关联类4.7.6 UML中的子类4.7.7 聚集与组合4.7.8 习题4.8 UML图到关系的转化4.8.1 UML到关系的基础知识4.8.2 从UML子类到关系4.8.3 从聚集与组合到关系4.8.4 UML与弱实体集的类比4.8.5 习题4.9 对象定义语言4.9.1 类声明4.9.2 ODL中的属性4.9.3 ODL中的联系4.9.4 反向联系4.9.5 联系的多重性4.9.6 ODL中的类型4.9.7 ODL冲的子类4.9.8 在ODL冲声明键4.9.9 习题4.10 从ODL设计到关系设计4.10.1 从ODL类到关系4.10.2 类中的复杂属性4.10.3 值集合类型属性的表示4.10.4 其他类型构建器的表示4.10.5 ODL中联系的表示4.10.6 习题4.11小结4.12参考文献第二部分 关系数据库程序设计第5章 代数和逻辑查询语言5.1 包上的关系操作5.1.1 为什么采用包5.1.2 包的并、交、差5.1.3 包上的投影操作5.1.4 包上的选择操作5.1.5 包的笛卡儿积5.1.6 包的连接5.1.7 习题5.2 关系代数的扩展操作符5.2.1 消除重复5.2.2 聚集操作符5.2.3 分组5.2.4 分组操作符5.2.5 扩展的投影操作符5.2.6 排序操作符5.2.7 外连接5.2.8 习题5.3 关系逻辑5.3.1 谓词和原子5.3.2 算术原子5.3.3 Datalog规则和查询5.3.4 Datalog规则的意义5.3.5 扩展谓词和内涵谓词5.3.6 Datalog规则应用于包5.3.7 习题5.4 关系代数与Datalog5.4.1 布尔操作5.4.2 投影5.4.3 选择5.4.4 积5.4.5 连接5.4.6 用Datalog模拟多重操作5.4.7 Datalog与关系代数的比较5.4.8 习题5.5 小结5.6 参考文献第6章 数据库语言SQL6.1 SQL中的简单查询6.1.1 SQL中的投影6.1.2 SQL冲的选择6.1.3 字符串比较6.1.4 SQL中的模式匹配6.1.5 日期和时间6.1.6 空值和涉及空值的比较6.1.7 布尔值UNKNOWN6.1.8 输出排序6.1.9 习题6.2 多关系查询6.2.1 SQL中的积和连接6.2.2 消除属性歧义6.2.3 元组变量6.2.4 多关系查询的解释6.2.5 查询的并、交、差6.2.6 习题6.3 子查询6.3.1 产生标量值的子查询6.3.2 关系的条件表达式6.3.3 元组的条件表达式6.3.4 关联子查询6.3.5 FROM子句中的子查询6.3.6 SQL的连接表达式6.3.7 自然连接6.3.8 外连接6.3.9 习题6.4 全关系操作64.1 消除重复6.4.2 并、交、差中的重复6.4.3 SQL中的分组和聚集6.4.4 聚集操作符6.4.5 分组6.4.6 分组、聚集和空值6.4.7 HAVING子句6.4.8 习题6.5 数据库更新6.5.1 插入6.5.2 删除6.5.3 修改6.5.4 习题6.6 SQL中的事务6.6.1 可串行化6.6.2 原子性6.6.3 事务6.6.4 只读事务6.6.5 读脏数据6.6.6 其他隔离层次6.6.7 习题6.7 小结6.8 参考文献第7章 约束与触发器7.1 键和外键7.1.1 外键约束声明7.1.2 维护引用完整性7.1.3 延迟约束检查7.1.4 习题7.2 属性和元组上的约束7.2.1 非空值约束7.2.2 基于属性的CHECK约束7.2.3 基于元组的CHECK约束7.2.4 基于元组和基于屙陛的约束的比较7.2.5 习题7.3 修改约束7.3.1 给约束命名7.3.2 修改表上的约束7.3.3 习题7.4 断言7.4.1 创建断言7.4.2 使用断言7.4.3 习题7.5 触发器7.5.1 SQL中的触发器7.5.2 触发器设计的选项7.5.3 习题7.6 小结7.7 参考文献第8章 视图与索引8.1 虚拟视图8.1.1 视图定义8.1.2 视图查询8.1.3 属性重命名8.1.4 习题8.2 视图更新第三部分 半结构化数据的建模和程序设计
数据库系统基础教程-原书第3版 节选
《数据库系统基础教程(原书第3版)》由斯坦福大学知名计算机科学家Jeffrey Ullman和Jennifer Widom合作编写。《数据库系统基础教程(原书第3版)》首先介绍流行的关系数据库和对象关系数据库内容,涉及关系数据模型、E/R模型、UML模型以及对象模型等高级数据模型。然后介绍了有关半结构化数据组织管理中比较流行的XML等内容,既包括了数据组织模型的内容,也给出了相关编程语言,如XPath、XQuery、XSLT等。《数据库系统基础教程(原书第3版)》举例丰富翔实,既可用作大学本科、研究生计算机及相关专业数据库课程的教科书,也可用作数据库领域技术人员的参考书。
数据库系统基础教程-原书第3版 作者简介
Jeffrey D. Ullman 斯坦福大学计算机科学系Stanford W. Ascherman教授,数据库技术专家。他独立或与人合作出版了15本著作,发表了170多篇技术论文。他的研究兴趣包括数据库理论、数据库集成、数据挖掘和利用信息基础设施进行教育。他是美国国家工程院成员,曾获得Knuth奖、SIGMOD贡献奖、Karlstrom杰出教育家奖和Edgar F. Codd发明奖。