书籍详情
SQL与关系数据库理论
作者:(美)戴特 著,周成兴 等译
出版社:清华大学出版社
出版时间:2010-08-01
ISBN:9787302224006
定价:¥53.00
购买这本书可以去
内容简介
确保你的SQL代码正确,确保你的数据库模式是健壮且可维护的最好办法,就是理解SQL底层的理论。如果不能很好地精通这个理论,你可能就会陷入到很多陷阱中。在《SQL与关系数据库理论》中,作者C.J. Date阐述了你该如何把关系理沦直接应用到SQL的应用中。通过大量的示例及其背后的推理阐述,你将学会如何处理如下的很多常见难题:数据库是否应该使用视图而不是基表来访问?数据库中的Null是否使你得到了错误的答案,为什么?关于Null,你又可以做些什么呢?是否可以编写一个SQL查询,通过这个查询,可以得到在同一个部门中同时工作超过六个月的员工?SQL支持“量化的比较”,但是最好避免使用它们。为什么?你又该如何来避免使用它们?约束是非常重要的,但是大部分的SQL一产品都没有恰当地支持它们。为了解决这个问题,你能做些什么呢?自E.F Codd于1969年首次定义关系模式以来,数据库理论与实践就一直在发展。《SQL与关系数据库理论》独立于任何SQL,产品,描绘了关系数据库理论十几年来的研究进展,为读者介绍了有关关系数据库理论的最新知识。任何具有一定SQL,知识的人都可以从《SQL与关系数据库理论》的很多方面受益。C.J. Date于1970的早期在IBM开始从事数据库方面工作。他是一个多产的作者,其著名的教材是“An Introduction to Database Systems(Addison-Wesley)”,该书被广泛地认为是关于数据库管理基础知识的最好教科书之一。数据库是否应该使用视图而不是基表来访问?数据库中的Null是否使你得到了错误的答案,为什么?关于Null,你又可以做些什么呢?是否可以编写一个SQL查询,通过这个查询,可以得到在同一个部门中同时工作超过六个月的员工?SQL支持“量化的比较”,但是最好避免使用它们。为什么?你又该如何来避免使用它们?约束是非常重要的,但是大部分的SQL一产品都没有恰当地支持它们。为了解决这个问题,你能做些什么呢?
作者简介
C.J. Date个独立的作者、演讲者、研究者和技术顾问,其研究领域为关系数据库技术。他最著名的图书“An Introduction to Database Systems”(8th edition,Addison·Wesley,2004)以销售25万多册,被全世界几百所大学用作教材。他还编写了很多数据库管理方面的其他图书:Temporal Data and the Relational Model (Morgan Kaufmann, 2003)Database in Depth: Relational Theory for Practitioners (OReilly, 2005)Database, Types, and the Relational Model: The Third Manifesto (3rd edition, Addison-Wesley, 2006)The Relational Database Dictionary (OReilly, 2006)Date on OReilly, 2005: Writing 2000-2006 (Apress, 2007)Logic and Database: The Roots of Relational Theory (Trafford, 2007)The Relational Database Dictionary, Extended Edition (Apress, 2006)Date于2004年进入了“计算机工业”名人堂。对其评语是,他具有以清晰而易懂的方式阐述复杂技术内容的突出能力。
目录
前言
第1章 设置场景
关系模式是非常容易被误解的
一些术语的注释
法则,而不是产品
最初模式的一个回顾
模型和实现
关系的特性
基础关系和产生的关系
关系和关系变量
值和变量
结论
练习
第2章 类型与域
类型和关系
等式比较
数据值的原子性
什么是类型
标量和非标量类型
SQL中的标量类型
SQL中的类型检查和强制类型转换
SQL中的一些整序
SQL中的行和表类型
结论
练习
第3章 元组与关系、行和表
什么是元组
SQL中的行
什么是关系
关系和它们的关系体
关系是n维的
关系比较
TABLE—DUM和TABLE—DEE
SQL中的表
SQL中列的命名
结论
练习
第4章 无重复与无空值
重复有什么问题
复行:进一步讨论
在SQL中避免复行
空值有什么错
在SQL中避免空值
对外连接的评论
结论
练习
第5章 基本关系变量与基本表
数据定义
更新是集合级别的
关系赋值
更多关于候选键的内容
关于外键更多的讨论
关系变量和断言
关系和类型
练习
第6章 SQL与关系代数Ⅰ:原始的操作符
一些预备知识
有关闭包的更多讨论
约束
投影
连接
并、交和差
哪些操作符是原始的
每次都形成表达式的一小步
关系表达式的意思是什么
求一个表表达式的值
表达式转换
属性名字上的依赖
练习
第7章 SQL与关系代数Ⅱ:附加的操作符
半连接和半差
扩展
映像关系
除
聚集操作符
映像关系再讨论
概要
概要再论
分组和不分组
what if查询
ORDER BY如何
练习
第8章 SQL与约束
类型约束
SQL中的类型约束
数据库约束
SQL中数据库约束
事务
为什么数据库约束的检测必须是实时的
难道某些检测不是不得不被推迟吗
约束和谓词
各种各样的问题
练习
第9章 SQL与视图
视图是关系变量
视图和谓词
获取操作
视图和约束
更新操作
视图是为了什么
视图和快照
练习
第10章 SQL与逻辑
简单和复合的命题
简单和复合的谓词
定量
关系计算
更多的关于量化
一些等价形式.
结论
练习
第11章 使用逻辑来形式化SQL表达式
一些转换规则
例子1:逻辑隐含
例子2:普遍的限定
例子3:隐含和一般的限制
例子4:相关的子查询
例子5:命名子查询
例子6:更多的关于命名子表达式
例子7:处理不确定性
例子8:使用COUNT
例子9:连接查询
例子10:唯一限制
例子11:ALL或者ANY比较
例子12:GROUP BY和HAVING
练习
第12章 SQL主体杂项
SELECT
显表
名字限定
范围变量
子查询
“可能的非确定”表达式
空集
SQL表表达式的BNF范式语法
练习
附录A 关系模式
附录B 数据库设计理论
附录C 练习答案
附录D 进一步阅读
第1章 设置场景
关系模式是非常容易被误解的
一些术语的注释
法则,而不是产品
最初模式的一个回顾
模型和实现
关系的特性
基础关系和产生的关系
关系和关系变量
值和变量
结论
练习
第2章 类型与域
类型和关系
等式比较
数据值的原子性
什么是类型
标量和非标量类型
SQL中的标量类型
SQL中的类型检查和强制类型转换
SQL中的一些整序
SQL中的行和表类型
结论
练习
第3章 元组与关系、行和表
什么是元组
SQL中的行
什么是关系
关系和它们的关系体
关系是n维的
关系比较
TABLE—DUM和TABLE—DEE
SQL中的表
SQL中列的命名
结论
练习
第4章 无重复与无空值
重复有什么问题
复行:进一步讨论
在SQL中避免复行
空值有什么错
在SQL中避免空值
对外连接的评论
结论
练习
第5章 基本关系变量与基本表
数据定义
更新是集合级别的
关系赋值
更多关于候选键的内容
关于外键更多的讨论
关系变量和断言
关系和类型
练习
第6章 SQL与关系代数Ⅰ:原始的操作符
一些预备知识
有关闭包的更多讨论
约束
投影
连接
并、交和差
哪些操作符是原始的
每次都形成表达式的一小步
关系表达式的意思是什么
求一个表表达式的值
表达式转换
属性名字上的依赖
练习
第7章 SQL与关系代数Ⅱ:附加的操作符
半连接和半差
扩展
映像关系
除
聚集操作符
映像关系再讨论
概要
概要再论
分组和不分组
what if查询
ORDER BY如何
练习
第8章 SQL与约束
类型约束
SQL中的类型约束
数据库约束
SQL中数据库约束
事务
为什么数据库约束的检测必须是实时的
难道某些检测不是不得不被推迟吗
约束和谓词
各种各样的问题
练习
第9章 SQL与视图
视图是关系变量
视图和谓词
获取操作
视图和约束
更新操作
视图是为了什么
视图和快照
练习
第10章 SQL与逻辑
简单和复合的命题
简单和复合的谓词
定量
关系计算
更多的关于量化
一些等价形式.
结论
练习
第11章 使用逻辑来形式化SQL表达式
一些转换规则
例子1:逻辑隐含
例子2:普遍的限定
例子3:隐含和一般的限制
例子4:相关的子查询
例子5:命名子查询
例子6:更多的关于命名子表达式
例子7:处理不确定性
例子8:使用COUNT
例子9:连接查询
例子10:唯一限制
例子11:ALL或者ANY比较
例子12:GROUP BY和HAVING
练习
第12章 SQL主体杂项
SELECT
显表
名字限定
范围变量
子查询
“可能的非确定”表达式
空集
SQL表表达式的BNF范式语法
练习
附录A 关系模式
附录B 数据库设计理论
附录C 练习答案
附录D 进一步阅读
猜您喜欢