SQL与关系数据库理论

当前位置:首页 > 计算机网络 > 数据库 > SQL与关系数据库理论

出版社:清华大学出版社
出版日期:2010-8
ISBN:9787302224006
作者:戴特
页数:400页

章节摘录

插图:视图是为了什么到目前为止,本章都是假设你已经知道视图为的是什么——但是尽管如此我还是想就这个主体说上一些。事实上,视图有两个截然不同的目的:·那些定义视图V什么的用户,显然是知道相应的视图定义表达式x的。因此这个用户可以在任何期望使用表达式x的地方使用名字y,但是这样的用法只是基本缩写,并且明显地这个正在讨论的用户理解这个缩写。·相反,那些仅是被通知嗍实存在以及这个,是可用的用户是被假设(至少理想情况下)不知道这个表达式x的,对于这些用户,事实上,v是被假设成看上去并且感觉像是一个基关系变量,就像我已经详细地解释的那样。并且这是视图的第二个事实上非常重要的用法,这也是本章到目前为止我的焦点所在。逻辑数据独立前面介绍的第二个目的与逻辑数据的独立这个问题密切相关。回忆一下第1章中物理数据上的独立的意思是我们可以改变数据的物理存储的方式并且由用户感觉到的数据的访问方式不需要做相应的改变。因此,相当的足够,逻辑数据的独立意味着我们可以改变数据逻辑上的存储方式并且用户感觉到的数据的访问方式不需要做相应的改变。并且视图被假设用来提供的就是这个逻辑数据的独立。

前言

SQL语言使用非常广泛。但是SQL又是难以使用的:它非常复杂,并且很令人费解,而且更容易出错。为了使你能确信写出的SQL代码是精确的(换句话说,这些SQL代码只做你希望做的事情,不多也不少),因此你就必须遵循适当的规则,这就是本书需要论述的问题,即关系地使用SQL语言就是你需要遵循的规则。但这又意味着什么呢?难道SQL不是相关的吗?当然在关系数据库中,SQL是事实上的标准,但事实上SQL自己并不是相关的。不幸的是,在很多方面SQL都是从关系理论分离开的,如重复的行和空行就是两个明显的例子,但并不是只有这两个例子。其结果就是,就像它给了你一根绳子把你自己捆住一样。因此如果你不想捆住自己,就需要理解关系理论(是什么和为什么);你需要了解SQL是如何从这个理论分离开来的;并且需要了解如何避免可能产生的问题。总之,你需要关系地使用SQL,然后你才能把SQL看作是关系型的那样行事,这样你就能获得它事实上的好处,从而实现一个真正的关系系统。现在,如果每个人都已经关系地使用SQL语言,那么类似于本书这种类型的书就不需要了,但事实上并非如此。相反地,在当前的SQL使用中,我看到了非常多的糟糕的例子。甚至在一些教科书和类似的出版物中,作者所推荐的实践中都存在这样的糟糕的例子,这些作者本应知道得更好;事实上,在这方面对这些文献资料的回顾是非常的令人沮丧的。在1969年,关系模型就首先令人看到了曙光,然而到现在为止,已经过去40年了,在数据库社区,关系模型看上去还是没有被普遍地理解。部分地因为这种原因,所以本书使用关系模型本身作为组织的原则;本书将会深入解释关系模型的各种特性,并且在每一个例子中都会说明如何最好地使用SQL来实现那些令人怀疑的特性。

内容概要

作者:(美国)戴特(Date C.J.) 译者:周成兴 等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 (O'Reilly, 2005)Database, Types, and the Relational Model: The Third Manifesto (3rd edition, Addison-Wesley, 2006)The Relational Database Dictionary (O'Reilly, 2006)Date on O'Reilly, 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 进一步阅读

编辑推荐

《SQL与关系数据库理论》是由清华大学出版社出版的。

作者简介

《SQL与关系数据库理论》内容简介:确保你的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一产品都没有恰当地支持它们。为了解决这个问题,你能做些什么呢?

图书封面


 SQL与关系数据库理论下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     首先看到这本书,原版是O‘ Reilly的,对于O’Reilly的书,我是无限敬仰的,基本上不用考虑品质的问题。但是呢,这本书的封面却完全不是O‘Reilly的风格,我们都支持O’Reilly的书封面都是用动物做封面的,而这次却是一个书卡。首先我怀疑这是假冒的,于是稍微翻了翻里面的内容,特别是排版,看上去还是很像的。书的前几页也有O‘Reilly的一些版权说明和授权申明。于是在半信半疑中买了回来。翻看前面的译者序,主译是周成兴,然后后面跟了48个有名有姓的参与翻译的人。这让我想起了一个硕士导师带着一般硕士生干翻译的活了。一本正文不到380页的书,参与翻译的达到了尽50人,人均不到10页,这算是扩招惹得祸吗?首先看前言,读了一遍,居然没有看懂,难道是一涉及到理论的东西,我就头晕。再看第一章,这真是坑爹呀,从头到尾都是充满了晦涩的,中文语法不完整的,带很多“的”的长句。基本上不用举例说明,如果你“有幸”在书店看到这本书,只需要把第一章的前面几段读一遍,就知道,什么叫做坑爹的翻译了。我悔呀,这真的是O’Reilly的授权的翻译作品吗?还是说被“清华大学”这几个字给骗了?

精彩短评 (总计6条)

  •     有专业研究精神,不是泛泛而谈,对实际操作有所启发
  •     我觉得作者本身想表达的意思是很清晰的,但是翻译过来的文字,读着总觉得很别扭,很多地方语言过于累赘,而且明显是直译,缺乏汉语的表达效果。
  •     另一个翻译版本
  •     翻译水平一般,很罗嗦
  •     翻译得不知所云
  •     没有人评论,我希望这是本书最后的评论。本书是:翻译者的悲哀;出版者的悲哀,更是购书者的悲哀!!!糟蹋了一本上佳的外文书籍啊!译者们,睁大你们的招子看看你们翻译成的是什么东西,翻译得这么糟糕居然还有脸拿出来出版!!!谷歌翻译出来的估计比你们的还要强!!!
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024