数据库系统基础教程(原书第3版)[First course in database systems]pdf

图书网 2018年8月27日09:04:06164.6K1

《数据库系统基础教程(原书第3版)》特点:

全面改版的组织结构。

UML数据库模型的新内容。

包括3NF综合算法在内的操作依赖新算法的引入。

更多的3NF,包括3NF综合算法。

扩展的SQL触发讨论。

新增的索引选择和物化视图。

新增的三层体系结构。

新增的PHP。

新增的OLAP和SQL立方体算子介绍。

扩展的XML内容,包括XML模式、XPath、XQuery和XSLT。

数据库系统基础教程(原书第3版)[First course in database systems] 内容简介

《数据库系统基础教程(原书第3版)》由斯坦福大学知名计算机科学家Jeffrey Ullman和Jennifer Widom合作编写。《数据库系统基础教程(原书第3版)》首先介绍流行的关系数据库和对象关系数据库内容,涉及关系数据模型、E/R模型、UML模型以及对象模型等高级数据模型。然后介绍了有关半结构化数据组织管理中比较流行的XML等内容,既包括了数据组织模型的内容,也给出了相关编程语言,如XPath、XQuery、XSLT等。

《数据库系统基础教程(原书第3版)》举例丰富翔实,既可用作大学本科、研究生计算机及相关专业数据库课程的教科书,也可用作数据库领域技术人员的参考书。

数据库系统基础教程(原书第3版)[First course in database systems] 目录

第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.1SQL中的关系

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.10组合操作构成查询

2.4.11命名和重命名

2.4.12操作之间的联系

2.4.13代数表达式的线性符号

2.4.14习题

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分解为BCNF

3.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闭包和chase

3.7.2将chase扩展到MVD

3.7.3 chase为何对MVD有效

3.7.4投影MVD

3.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关系代数与Datalog

5.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章 数据库语言SQL

6.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布尔值UNKNOWN

6.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全关系操作

6.4.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视图更新

8.2.1视图删除

8.2.2可更新视图

8.2.3视图中的替换触发器

8.2.4习题

8.3 SQL中的索引

8.3.1建立索引的动机

8.3.2索引的声明

8.3.3习题

8.4索引的选择

8.4.1简单代价模型

8.4.2一些有用的索引

8.4.3计算最佳索引

8.4.4索引的自动选择

8.4.5习题

8.5物化视图

8.5.1物化视图的维护

8.5.2物化视图的定期维护

8.5.3利用物化视图重写查询

8.5.4物化视图的自动创建

8.5.5习题

8.6小结

8.7参考文献

第9章 服务器环境下的SQL

9.1三层体系结构

9.1.1 Web服务器层

9.1.2应用层

9.1.3数据库层

9.2 SQL环境

9.2.1环境

9.2.2模式

9.2.3目录

9.2.4 SQL环境中的客户和服务器

9.2.5连接

9.2.6会话

9.2.7模块

9.3 SQL/宿主语言接口

9.3.1阻抗不匹配问题

9.3.2 SQL与宿主语言连接

9.3.3 DECLARE节

9.3.4使用共享变量

9.3.5单元组选择语句

9.3.6游标

9.3.7游标更新

9.3.8避免并发修改

9.3.9动态SQL

9.3.10习题

9.4存储过程

9.4.1创建PSM函数和过程

9.4.2 PSM中的简单语句格式

9.4.3分支语句

9.4.4 PSM中的查询

9.4.5 PSM中的循环

9.4.6 for循环

9.4.7 PSM中的异常处理

9.4.8使用PSM函数和过程

9.4.9习题

9.5使用调用层接口

9.5.1 SQL/CLI简介

9.5.2进程语句

9.5.3从查询结果中取数据

9.5.4向查询传递参数

9.5.5习题

9.6 JDBC

9.6.1 JDBC简介

9.6.2 JDBC中的创建语句

9.6.3 JDBC中的游标操作

9.6.4参数传递

9.6.5习题

9.7 PHP

9.7.1 PHP基础

9.7.2数组

9.7.3 PEAR DB库

9.7.4使用DB创建数据库连接

9.7.5执行SQL语句

9.7.6 PHP中的游标操作

9.7.7 PHP中的动态SQL

9.7.8习题

9.8小结

9.9参考文献

第10章 关系数据库的新课题

10.1 SQL中的安全机制和用户认证

10.1.1权限

10.1.2创建权限

10.1.3检查权限的过程

10.1.4授权

10.1.5授权图

10.1.6收权

10.1.7习题

10.2 SQL中的递归

10.2.1在SQL中定义递归关系

10.2.2有问题的递归SQL表达式

10.2.3习题

10.3对象关系模型

10.3.1从关系到对象关系

10.3.2嵌套关系

10.3.3引用

10.3.4面向对象与对象关系的比较

10.3.5习题

10.4 SQL中的用户定义类型

10.4.1在SQL中定义类型

10.4.2用户定义类型中的方法声明

10.4.3方法定义

10.4.4用UDT声明关系

10.4.5引用

10.4.6为表生成对象标识符

10.4.7 习题

10.5对象关系数据上的操作

10.5.1引用的跟随

10.5.2访问UDT类型的元组分量

10.5.3生成器和转换器函数

10.5.4 UDT上联系的排序

10.5.5习题

10.6联机分析处理

10.6.1 OLAP和数据仓库

10.6.2 OLAP应用

10.6.3 OLAP数据的多维视图

10.6.4星型模式

10.6.5切片和切块

10.6.6习题

10.7数据立方体

10.7.1立方体算子

10.7.2 SQL中的立方体算子

10.7.3习题

10.8小结

10.9参考文献

第三部分 半结构化数据的建模和程序设计

第11章 半结构化数据模型

11.1半结构化数据

11.1.1为何需要半结构化数据模型

11.1.2半结构化数据表示

11.1.3信息集成与半结构化数据

11.1.4习题

11.2 XML

11.2.1语义标签

11.2.2有模式和无模式的XML

11.2.3格式规范的XML

11.2.4属性

11.2.5连接元素的属性

11.2.6命名空间

11.2.7 XML和数据库

11.2.8 习题

11.3文档类型定义

11.3.1 DTD的格式

11.3.2使用DTD

11.3.3属性列表

11.3.4标识符和引用

11.3.5习题

11.4 XML模式

11.4.1 XML模式的格式

11.4.2元素

11.4.3复杂类型

11.4.4属性

11.4.5受限的简单类型

11.4.6 XML模式中的键

11.4.7 XML模式中的外键

11.4.8习题

11.5小结

11.6参考文献

第12章 XML程序设计语言

12.1 XPath

12.1.1 XPath数据模型

12.1.2文档节点

12.1.3路径表达式

12.1.4相对路径表达式

12.1.5路径表达式中的属性

12.1.6轴

12.1.7表达式的上下文

12.1.8通配符

12.1.9路径表达式中的条件

12.1.10习题

12.2 XQuery

12.2.1 XQuery基础

12.2.2 FLWR表达式

12.2.3通过变量的值置换变量

12.2.4 XQuery中的连接

12.2.5 XQuery比较操作符

12.2.6消除重复

12.2.7 XQuery中的量词

12.2.8 聚集

12.2.9 XQuery表达式中的分支

12.2.10查询结果排序

12.2.11习题

12.3扩展样式表语言

12.3.1 XSLT基础

12.3.2模板

12.3.3从XML数据中获取值

12.3.4模板的递归应用

12.3.5 XSLT中的迭代

12.3.6 XSLT中的条件

12.3.7习题

12.4小结

12.5参考文献

数据库系统基础教程(原书第3版)[First course in database systems] 精彩文摘

第1章 数据库系统世界

在当今的生活中数据库已是每一项业务的基础。无论何时访问一个提供信息的Web站点——不论这个站点是著名的Goolge、Yahoo!、Amozon.com还是成千上万较小的站点——都有一个数据库为用户的信息访问提供服务。企业也将其所有重要的记录存放在数据库中进行维护。数据库同样也应用在很多科学研究的核心中。天文学家、人类基因研究者、探索蛋白质医药性质的生化学家,以及其他很多科学活动中获取的数据也是用数据库表示的。

数据库的能力来自于已发展了数十年的知识和技术,这些知识和技术蕴藏在名为数据库管理系统(database management system)的软件中。该软件也叫做DBMS,或更通俗地称为“数据库系统”。DBMS是一个能有效建立和维护大量数据的强大工具,并且能安全地长期保存这些数据。数据库系统是最复杂的软件系统之一。本书中,读者将学习如何设计数据库,如何用各种程序语言和IDBMS——起编写应用程序,以及如何设计DBMS本身。

1.1 数据库系统的发展

数据库是什么?本质上讲,数据库就是信息的集合。该集合可以存在很长时间,通常是很多年。一般来讲,数据库是指由DBMS管理的数据的集合。DBMS需要有如下功能:

1.允许用户使用特殊的数据定义语言(data—definition language)建立新的数据库,并说明它们的模式(schema)即数据的逻辑结构。

2.使用合适的查询语言(query language)或数据操作语言(data.manipulation language),为用户提供查询(query,“查询”是数据库关于数据申请的术语)和更新(modify)数据的能力。

3.支持超大数据量(吉字节或更多)数据的长时间存储,并且在数据查询和更新时支持对数据的有效存取。

4.具有持久性,在面对各种故障、错误或用户错误地使用数据库时,数据库的恢复保证了数据的一致性。

5.控制多个用户对数据的同时存取,不允许一个用户的操作影响另一个用户(称作独立性,isolation),也不允许对数据的不完整操作(称作原子性,atom.icity)。

图书网:数据库系统基础教程(原书第3版)[First course in database systems]pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

数据库

Kali Linux & BackTrack渗透测试实战pdf

本书基于编写团队的实际经验,围绕渗透测试进行了全面介绍,并选择“Kali Linux(包含BackTrack)” Live CD作为讲解工具。下载BackTrack Live CD和Kali Linu...
数据库

SQL进阶教程pdf

数据库工程师进阶中级实用指南 挖掘SQL常见技术的新用法 基于标准SQL编写 示例程序均可下载 本书适合具有一定SQL编程经验的工程师阅读 本书特色 1.转变面向过程语言的思维定式,学习SQL常见技术...
数据库

锋利的SQLpdf

锋利的SQL 作者:张洪举 锋利的SQL 出版社:人民邮电出版社 锋利的SQL 内容简介 《锋利的SQL》从基础、开发、性能调整和实战4个方面介绍了SQL技术及其应用,包括数据库管理、表管理、索引管理...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:16   其中:访客  16   博主  0
    • 无忌哥哥cn
      无忌哥哥cn 0

      好图书!

      • 一五十五
        一五十五 9

        数据库牛批

        • User000203
          User000203 9

          感谢分享

          • lbingl
            lbingl 9

            不错

            • 笑
              9

              想学习数据库

              • MS08-067
                MS08-067 9

                好书 谢谢

                • OVO
                  OVO 9

                  看看

                  • OVO
                    OVO 9

                    良心资源!!!

                    • cnsdncjds
                      cnsdncjds 9

                      看看

                      • alberthust
                        alberthust 9

                        经典资源,值得拥有