只要SQL Server 2000能够做到,你就可以做到
\r\n 本书全面介绍了有关利用SQL Server 2000、Microsoft的高性能、支持Web的客户/服务器数据库和数据分析软件包所需的各种知识。在这本书中,数据库专家Paul Nielsen以性能和数据完整性为中心,向用户展示了从数据库项目开始的第一天起就开始性能设计的方法。从基本的安装操作到使用XML、监控数据库和性能调优(一个非常热门的话题,它本身就值得用整整一部书来加以讨论)、Paul Nielsen都给出了清晰的操作说明、充分而详实的理论知识以及完成给定任务最有效的方法——“最佳实践”。本书不仅仅是一本普通的指南;它提供了开发和使用SQL Server所需的一切知识和方法。
\r\n 这本书覆盖了有关SQL Server开发的所有知识
\r\n·掌握数据库模式设计的方法,以提高数据库系统的性能、完整性和灵活性
\r\n·理解ACID、事务完整性并创建稳固的数据库系统
\r\n·理解关系代数以编写功能强大的查询
\r\n·对索引进行调优,使其成为数据和查询之间的桥梁
\r\n·分析查询执行计划以提高性能
\r\n·创建T-SQL存储过程、触发器和用户定义函数
\r\n·使用DTS、分布式查询、XML和ADO.NET共享数据
\r\n·使用Analysis Services分析数据
\r\n·使数据库系统具有高级的可伸缩性、可用性、性能和可移植性
\r\n
第一部分 SQL Server基础\r\n 第1章 SQL Server简介\r\n 第2章 建立数据库逻辑模式\r\n 第3章 安装与配置SQL Server\r\n 第4章 使用SQL Server的开发工具\r\n第二部分 开发SQL Server数据库\r\n 第5章 实施数据库物理模式\r\n 第6章 使用Select检索数据\r\n 第7章 使用关系代数合并数据\r\n 第8章 使用全文索引搜索\r\n 第9章 创建视图\r\n 第10章 修改数据\r\n 第11章 事务完整性\r\n 第12章 使用Transact-SQL编程\r\n 第13章 开发存储过程\r\n 第14章 创建用户定义函数\r\n 第15章 使用触发器\r\n 第16章 高级服务器端编程\r\n第三部分 数据连接\r\n 第17章 移动数据库\r\n第18章 运用分布式查询\r\n第19章 用DTS移植数据\r\n第20章 数据库复制\r\n第21章 ADO和ADO.NET\r\n第22章 XML与Web发布\r\n第四部分 管理SQL Server\r\n 第23章 配置SQL Server\r\n第24章 维护数据库\r\n 第25章 利用SQL Server代理使数据库维护自动化\r\n 第26章 恢复计划\r\n 第27章 保证数据库安全\r\n第五部分 高级专题\r\n 第28章 高级性能\r\n 第29章 高级可用性\r\n 第30章 高级可伸缩性\r\n 第31章 Analysis Services\r\n 第32章 高级可移植性\r\n附录A 资源\r\n附录B 范例数据库\r\n附录C SQL Server 2000规格说明\r\n附录D CD上有什么\r\n
Paul Nielsenl979年成为程序员,并从20世纪80年代的早期开始专注于数据库开发。他曾作为数据系统技术士官在美国海军潜艇部队服役,此后他成为了一名计算机顾问和教员,并从此开始为计算机杂志撰写文章。
Paul与Peter Norton合作在20世纪90年代早期撰写了一本书籍,并曾为不同的有关编程和数据库的书籍撰写过部分的章节。他曾是Access Advisor杂志最早的技术编辑,并在包括Microsoft Tech-Ed和ICCM等不同的计算机会议上发言。
在这20余年中,Paul使用不同的数据库产品和工具进行了多个数据库项目的开发。这些项目大多数是有关制造工业和保险法规数据库的。近年来,Paul曾经在一个开发MRP/II库存系统的小组中担任数据建模和SQLServer开发的工作。
在创作本书时,在大约98000名通过了BraincBench.com RDBMS Concepts认证测试的人员,Paul在美国排名第5。
目前,Paul在Compassion International,一个以耶稣的名义致力于从贫困中解救儿童的基督教组织中从事数据库开发的工作。除此之外,他还是Learning Tree的SQL Server兼职教师。在不考虑数据库开发问题的时候,Paul弹奏Taylor吉他,阅读NewcLiving Translation杂志,欣赏Natalie Cole的节目,并关注他那些以令他惊讶的速度长大的孩子们。5a5c5ac555c555a5a5
Brian Patterson目前在伊利诺伊州中部从事软件开发工作。从1994年开始,Brian撰写了许多有关VisualcBasic的出版物,并与他人合作撰写了包括((Migrating to Visual Basic.NET and C#Bible》在内的多部书籍。Brian非常的全面,在他的闲暇时间,他喜欢编程序、撰写和阅读有关编程的文章。通常可以在MSDN新闻组中找到他,或者发送电子邮件到briandpatterson@msn、om与他联系。
Pierre Boutquin是加拿大一家主要银行财务部的高级软件设计师。在那里,他帮助开发了领先的市场风险管理软件。他具有10年以上的实施基于PC机的计算机系统的经验,以及有关分布式系统设计、数据仓库、Visual Basic、VisualcC++和SQL的丰富知识。他与他人合作撰写了许多有关编程的书籍,并为其他许多书籍提供了有关C#、VB、COM+、XML和SQL的材料。Koshka和Sasha,两只可爱的猫,占据了Pierre大部分的空闲时间。在爱抚它们的时候,他经常会考虑如何找到更多的时间去下国际象棋,或者阅读来自他的祖国比利时的新闻。你可以发送邮件到boutquin@hotmail.6com与他联系。
欢迎使用本书
SQL Server是一种不可思议的数据库产品。在我曾经使用过的10余种不同的数据库产品中,我最为喜欢的就是SQL Server。它不仅在性能、可靠性和易管理性等方面都表现十分出色,同时,它也允许开发人员在需要的时候进行非常精细的控制。对于数据库开发人员来说,SQL Server是那种他们梦寐以求的数据库产品,使用SQL Server开发是一件令人愉快的事情。本书的第一个目标就是与你分享使用SQL Server的乐趣。
SQL Server是一个庞大的产品,要想讲清楚每个命令的所有细微之处需要花费数千页的篇幅。由于这个原因,本书的第二个目标是依据我作为数据库开发人员、顾问和教师的经验,组织最有用的信息,提供一本简明而综合的SQL Server指南。
从前,有一个聪明的数据库开发人员将一个盒子拿给一个学生看,并问他:“你看这个盒子有几个面?”,学生回答说:“有六个面”。然后,这个有经验的数据库开发人员说:“用户也许会看到六个面,但是数据库开发人员只会看到两个面:里面和外面。对于数据库开发人员来说,程序代码是位于盒子里面的”。本书将会为你展现盒子里面的风景。
写作风格
在编写过程中我不喜欢用于补白的文字,向导程序的每一个步骤的界面图片,或者整页的查询结果,因此在本书中我将避免使用它们。如果查询结果很长,将会使用省略号来缩短它的长度。对于向导程序的每一个步骤,将会使用标有步骤编号的文字来加以描述。
喋喋不休、东拉西扯的闲话总是会分散对于真正内容的注意力。只有当我希望依据我的经验直接为你写作,或者与你分享我的想法时,我才会开始创作我的第一部作品。本书写作风格的目标是:书中的每一个句子对于整本书来说都具有其存在价值。我不知道我是否已经达到了这个目标,但我尽力而为了。
书写约定
本书使用以下书写约定:
● 第一次出现的术语在定义它们的正文中以斜体表示。
● 当在正文中引用代码时,代码中的单词以固定间距的字体表示。有时,那些同样的SQL关键字也会用作概念。例如,inner Join(内连接)既可以用作SQL代码,也可以作为一种连接类型的概念来引用。
● 某些例子的代码很长。为了突出代码中那些需要引起注意的重点部分,本书使用粗体来标识其中重要的关键字。
● 为了保持与Microsoft SQL Server联机丛书的一致性,本书采用与它类似的书写约定。
关于本书
设计良好的数据库不是从代码中产生的,而是从计划中产生的。对于一本书来说,这同样正确。本书也是按照一定的思路和想法来组织的,所以你应当对本书的方向和目标有所了解。这里介绍了隐匿于本书组织结构后面的思路和想法。
开发理念
本书采用了客户服务器的开发理念。下列观点贯穿了本书的始终。
● 事务完整性(ACID)是数据库的基础。
SQL是基于集合的环境,SQL代码应当是基于集合的,而不是基于过程或者基于行的。
● 物理数据库模式是为查询服务的。
● 处理数据的程序应当放置在尽可能靠近数据的地方。
● 数据库的各个方面都与性能有关;没有哪一种优化步骤和方案能够解决所有的性能问题。虽然如此,无论任何时候较慢但正确的方案总是要比较快但错误的方案好。
● 优秀的数据库开发需要对数据库理论的深入理解,拥有丰富的实践经验和良好的数据库工具。
本书的组织
本书的章节组织经过了数次调整。在最终的章节计划中,这些章节被按照最适合学习和参考查阅的逻辑顺序组织起来。
第一部分——SQL Server基础
提供了使用SQL Server开发数据库项目所需的基础知识。如果你刚刚开始学习SQL Server 2000,这一部分介绍了SQL Server以及数据库开发背后的理论知识。
第二部分——开发SQL Server数据库
覆盖了实际数据库开发所需要的知识,从创建数据库直到高级的服务器端编程。SQL Server开发的真正乐趣在于编写服务器端代码。这一部分讲述了如何编写服务器端代码,并提供了一些有趣的范例代码。如果你是一个服务器端代码的开发人员,或者是一个需要学习更多SQL Server知识的前端开发人员,这一部分便是为你设计的。
第三部分——数据连接
数据库是众多的应用程序的中心,这些应用程序会使用多种数据连接方法来访问它。依据你所在的特定环境,你可以选择其中适合你的章节。
第四部分——管理SQL Server
每个数据库都需要管理、维护和安全性控制。不论数据库管理是你的主要职责,还是你的工作中相对次要的职责,这一部分都是为你撰写的。
第五部分——高级专题
调整与优化总是热门的话题。本书的最后部分给出了几个高级主题,它们使本书达到了一个更高的层次。
范例数据库
本书所提供的不仅仅是纸面上的文字,在本书提供的CD-ROM中包含了创建5个范例数据库的表和存储过程所需的SQL DDL代码,以及为这些数据库填充例子数据的脚本。附录B包含了有关范例数据库的更多细节。
学习是一个获取新信息和进行新实践的过程。要想最大限度地从这本书中获取知识,你应该在你的计算机上安装这些范例数据库,并练习各个章节中的范例代码。编写本书和开发这些范例数据库对我来说充满了乐趣,我希望你在实践过程中也会获得相同的享受。
WWW.IsNotNull.com
Paul Nielsen发布了一个Web站点:www.IsNotNull.com,其中包含了一系列的文章,这些文章的主题涉及SQL查询、数据库开发和优化等多个方面。除此之外,还提供了例子代码、在线测验、推荐的资源和性能提示。
你的反馈
我希望能够了解你的看法:你喜欢哪些章节?你都学习了哪些内容?你跳过了哪些章节?今后,当SQL Server推出新的版本时,本书也会推出相应的新版本。在推出下一个版本时应当增加哪些内容呢?你的评论对我具有重要的参考价值,所以衷心希望你能够发送电子邮件到pauln@IsNotNull.com与我联系。