SQL Server 2005 T-SQL数据库设计
基本信息
编辑推荐
台湾微软首席产品营销经理黄淑翠鼎力推荐.
SQL Server四大高手:胡百敬(数据库铁人微软MVP)、杨先民(微软讲师)、陈俊宇(微软MVP)、姚巧玫(微软MVP)..
助您打通T-SQL学习的任督二脉...
内容简介回到顶部↑
本书是台湾享有数据库“铁人”之称的胡百敬先生偕三位sql server专家共同打造而成的,萃取了数据库开发和维护过程中最经典实用的主题。书中全面介绍了sql server最基本的沟通语言t-sql,以熟悉关系数据库概念和结构化查询语言sql为出发点,结合相关开发工具和t-sql语言的新增功能,深入探讨了数据操纵语言dml和如何使用数据定义语言ddl来创建数据中各种对象,讨论了授权与数据控制语言dcl,以及grant、deny和revoke语法的使用方式,阐述了我少与t-sql相关的重要功能,如:xml、事务、全文检索等。
本书适合专业的数据库开发者、dba和以sql server作为后台数据库的一般应用程序开发者阅读。读者可以通过对本书的学习,来彻底掌握t-sql这门复杂的编程语言。
本书适合专业的数据库开发者、dba和以sql server作为后台数据库的一般应用程序开发者阅读。读者可以通过对本书的学习,来彻底掌握t-sql这门复杂的编程语言。
作译者回到顶部↑
本书提供作译者介绍
胡百敬,具MCT、MCAD、MCSD国际认证执照,并获得“微软MVP”称号。现任台湾恒逸资讯资料讲师、微软专业顾问,趋势科技、永丰余集团、Ascentn、睿智科技等公司技术顾问。拥有多年系统分析、设计与实际经验,曾参考许多大型项目开发,主讲微软台湾全省百场以上大型研究讨会,同时也是一位活跃于IT媒体的专栏作家。
专长:n-Tier架构面向对象系统分析设计;数据库分析设计;Microsoft.NET开发;商业智能系统分析设计。著作:《精通Visuaol Basic.NET程序设计》(繁体版,作者之一);《Visuaol Basic.NET实.. << 查看详细
专长:n-Tier架构面向对象系统分析设计;数据库分析设计;Microsoft.NET开发;商业智能系统分析设计。著作:《精通Visuaol Basic.NET程序设计》(繁体版,作者之一);《Visuaol Basic.NET实.. << 查看详细
目录回到顶部↑
第1章 sql程序语言概论
1.1 关系数据库概述
1.2 transact-sql程序语言简介
1.3 sql server 2005数据库平台简介
1.4 结语
第2章 使用开发工具查询数据
2.1 使用sql server management studio
2.2 使用sqlcmd
2.3 结语
第3章 select语句
3.1 使用select语句
3.2 格式化结果集
3.3 筛选数据结果集
3.4 聚合数据与分组
3.5 关联多个结果集
3.6 合并多个结果集
3.7 cte
3.8 apply运算符
3.9 结语
第4章 insert、delete、update语句
1.1 关系数据库概述
1.2 transact-sql程序语言简介
1.3 sql server 2005数据库平台简介
1.4 结语
第2章 使用开发工具查询数据
2.1 使用sql server management studio
2.2 使用sqlcmd
2.3 结语
第3章 select语句
3.1 使用select语句
3.2 格式化结果集
3.3 筛选数据结果集
3.4 聚合数据与分组
3.5 关联多个结果集
3.6 合并多个结果集
3.7 cte
3.8 apply运算符
3.9 结语
第4章 insert、delete、update语句
前言回到顶部↑
不管你是数据库管理员还是访问数据库的程序员,无论在什么平台上,使用何种工具和程序语言,结构化查询语言(Structure Query Language,SQL)都是必须掌握的。T-SQL 起源于Sybase,是ANSI SQL 的扩展。微软将其迁移到SQL Server平台以后,它变得日益强大和复杂。它是与SQL Server沟通的基础,数据访问、性能、安全、稳定性、备份等都莫不与它有关。熟悉T-SQL是精通SQL Server 的第一步,但是整个语言太过庞大复杂,我们仅能选取最基础、最常用的部分进行介绍。希望既能引领读者入门,又能解决日常问题。.
T-SQL 依其功能可以大致分为三部分:
■数据操纵语言(DML,Data Manipulation Language):其主要语法有Select、Insert、Delete和Update,据此可以查询、添加、修改和更新数据。
■数据定义语言(DDL,Data Definition Language):其主要语法有Create、Alter和Drop,据此可以新建、修改和删除SQL Server服务器端的对象。
■数据控制语言(DCL,Data Control Language):其主要语法有Grant、Deny和Revoke,据此可以允许、拒绝和删除账号的角色权限。
本书主要以此为主线,并辅之以该语言如何结合SQL Server所提供的功能等方面的介绍。
“第1章:SQL程序语言概论”,主要说明关系数据库的特征,简明扼要地解释了诸如表、关系、范式等关系数据库的基本理论;结构化查询语言(Structure Query Language SQL,即T-SQL语言的简称);SQL Server 2005中的对象命名原则以及列举该版本较为著名的新增功能。工欲善其事,必先利其器。
“第2章:使用开发工具查询数据”,本章介绍了可用来执行T-SQL语言的工具程序。其中最主要的是SQL Server Management Studio(SSMS)。SQL Server各项服务的管理,诸如:关系数据库引擎、Analysis Services、Reporting Services等皆由它统一管理。同时可通过SSMS执行各种专用数据语言,如T-SQL、MDX、DMX、XML/A等。但本章的重点在说明SSMS对T-SQL所提供的支持,如“查询编辑器”的使用,以项目或方案管理T-SQL 文件等。最后,对另一个命令行实用工具程序SQLCMD稍加说明,让你除了可以通过SSMS互动地开发、执行和测试T-SQL外,还有另外一个批处理执行T-SQL的选择。如果你已经熟悉关系数据库的概念,且掌握了SQL Server 2005的工具特征,前两章可以快速翻阅。接下来的第3~5章介绍了T-SQL的DML语法,这是本书的重点。
从“第3章:SELECT语句”开始,本书进入T-SQL主题,深入讨论被广泛使用的SELECT语句,它应该是绝大多数朋友日常开发中会用到的语法。本章大篇幅地探讨了如何选择列与行、过滤(WHERE)、分组(GROUP BY)、前N条记录(TOP)、排序(ORDER BY)、排名(RANK)、连接(JOIN/UNION),以及CTE和APPLY等。这是对T-SQL语法的总体介绍,至关重要。?
继有效查询数据之后,“第4章:INSERT 、DELETE 、UPDATE 语句”详细介绍了维护数据的其他操作,除了基本的添加、删除和修改行外,本章还解释了批处理数据操作、大型数据(LOB)的更新,以及在维护数据时搭配Output、Top和CTE等语法。
对DML语法的基础进行介绍后,“第5章:DML应用”着重介绍经常搭配使用的辅助语法,如批注、运算符等。其中最重要的是流程控制语法,如If Else、Begin End、While、Case、结构化错误处理等。有了第3~5 章的基础后,你可以开始利用DDL语法撰写SQL Server服务器端对象,如视图(view)、用户自定义函数(user defined function)、存储过程(stored procedure)和触发器(trigger)等。本书第6~11章以DDL语法为主要介绍对象,辅之以各种服务器端对象的功能并加以解析。..
“第6章:数据表维护”以描述构成表的数据类型开始,解释各种类型间的转换,其后讨论表的创建、修改和删除,并以SQL Server 2005新增的分区表(partition table)功能为结尾。当设计数据库时,不应该让用户或应用程序直接访问表,最好通过一层数据对象来访问表,如视图、存储过程、用户自定义函数等,以提升数据库管理与使用上的安全和弹性,如果设计得当,还可以提升整体的效率。第7、8、10 三章分别介绍了这三种对象的创建语法与用途。
“第7章:视图”提供用户聚焦、简化和查看数据的角度。本章描述如何建立视图,并通过视图维护数据,以及探讨分区视图(partition view),或为视图建立索引(Indexed view)以提升查询性能的方式。最后列举数例,解释SQL Server 2005新增的系统动态管理视图和函数的用途。
如果想很好地利用SQL Server的运算能力,提高信息系统整体设计上的弹性,最重要的是数据库服务器端存储过程的设计,第8章将介绍这一对象。本章从解释SQL Server提供的存储过程类型,如系统存储过程、扩展存储过程等开始,然后描述如何通过DDL撰写存储过程、通过参数定义增加应用程序的弹性、Visual Studio 2005 单步调试,并使用@@error或try catch语法撰写程序内的错误处理。
要维护数据的完整性,一般会采用第6章所介绍的条件约束(constraint)。但是,如果验证数据的逻辑较复杂,或是希望自动化同步其他表甚至远方服务器的数据,则有可能使用第9章介绍的触发器。本章说明SQL Server 2005 所提供的三种触发器,首先是针对DML语法可使用的两种触发器:
■传统的在表添加、修改和删除记录后,所自动触发的“After触发器”。
■SQL Server 2000后续版本支持在实际修改表或视图之前,取代原语法执行的“Instead Of 触发器”,也称为“Before 触发器”。另外,在SQL Server 2005中新增了“DDL 触发器”,让数据库管理员可在数据库和服务器两个级别管理与监控用户所执行的DDL语法。
“第10章:自定义函数”,本章能为用户在设计与撰写结构化的T-SQL功能时提供很大的帮助。本章解释了SQL Server所支持的三种自定义函数,并表列对各种函数的T-SQL语法进行了比较。
■数值函数
■多重语句表函数
T-SQL 依其功能可以大致分为三部分:
■数据操纵语言(DML,Data Manipulation Language):其主要语法有Select、Insert、Delete和Update,据此可以查询、添加、修改和更新数据。
■数据定义语言(DDL,Data Definition Language):其主要语法有Create、Alter和Drop,据此可以新建、修改和删除SQL Server服务器端的对象。
■数据控制语言(DCL,Data Control Language):其主要语法有Grant、Deny和Revoke,据此可以允许、拒绝和删除账号的角色权限。
本书主要以此为主线,并辅之以该语言如何结合SQL Server所提供的功能等方面的介绍。
“第1章:SQL程序语言概论”,主要说明关系数据库的特征,简明扼要地解释了诸如表、关系、范式等关系数据库的基本理论;结构化查询语言(Structure Query Language SQL,即T-SQL语言的简称);SQL Server 2005中的对象命名原则以及列举该版本较为著名的新增功能。工欲善其事,必先利其器。
“第2章:使用开发工具查询数据”,本章介绍了可用来执行T-SQL语言的工具程序。其中最主要的是SQL Server Management Studio(SSMS)。SQL Server各项服务的管理,诸如:关系数据库引擎、Analysis Services、Reporting Services等皆由它统一管理。同时可通过SSMS执行各种专用数据语言,如T-SQL、MDX、DMX、XML/A等。但本章的重点在说明SSMS对T-SQL所提供的支持,如“查询编辑器”的使用,以项目或方案管理T-SQL 文件等。最后,对另一个命令行实用工具程序SQLCMD稍加说明,让你除了可以通过SSMS互动地开发、执行和测试T-SQL外,还有另外一个批处理执行T-SQL的选择。如果你已经熟悉关系数据库的概念,且掌握了SQL Server 2005的工具特征,前两章可以快速翻阅。接下来的第3~5章介绍了T-SQL的DML语法,这是本书的重点。
从“第3章:SELECT语句”开始,本书进入T-SQL主题,深入讨论被广泛使用的SELECT语句,它应该是绝大多数朋友日常开发中会用到的语法。本章大篇幅地探讨了如何选择列与行、过滤(WHERE)、分组(GROUP BY)、前N条记录(TOP)、排序(ORDER BY)、排名(RANK)、连接(JOIN/UNION),以及CTE和APPLY等。这是对T-SQL语法的总体介绍,至关重要。?
继有效查询数据之后,“第4章:INSERT 、DELETE 、UPDATE 语句”详细介绍了维护数据的其他操作,除了基本的添加、删除和修改行外,本章还解释了批处理数据操作、大型数据(LOB)的更新,以及在维护数据时搭配Output、Top和CTE等语法。
对DML语法的基础进行介绍后,“第5章:DML应用”着重介绍经常搭配使用的辅助语法,如批注、运算符等。其中最重要的是流程控制语法,如If Else、Begin End、While、Case、结构化错误处理等。有了第3~5 章的基础后,你可以开始利用DDL语法撰写SQL Server服务器端对象,如视图(view)、用户自定义函数(user defined function)、存储过程(stored procedure)和触发器(trigger)等。本书第6~11章以DDL语法为主要介绍对象,辅之以各种服务器端对象的功能并加以解析。..
“第6章:数据表维护”以描述构成表的数据类型开始,解释各种类型间的转换,其后讨论表的创建、修改和删除,并以SQL Server 2005新增的分区表(partition table)功能为结尾。当设计数据库时,不应该让用户或应用程序直接访问表,最好通过一层数据对象来访问表,如视图、存储过程、用户自定义函数等,以提升数据库管理与使用上的安全和弹性,如果设计得当,还可以提升整体的效率。第7、8、10 三章分别介绍了这三种对象的创建语法与用途。
“第7章:视图”提供用户聚焦、简化和查看数据的角度。本章描述如何建立视图,并通过视图维护数据,以及探讨分区视图(partition view),或为视图建立索引(Indexed view)以提升查询性能的方式。最后列举数例,解释SQL Server 2005新增的系统动态管理视图和函数的用途。
如果想很好地利用SQL Server的运算能力,提高信息系统整体设计上的弹性,最重要的是数据库服务器端存储过程的设计,第8章将介绍这一对象。本章从解释SQL Server提供的存储过程类型,如系统存储过程、扩展存储过程等开始,然后描述如何通过DDL撰写存储过程、通过参数定义增加应用程序的弹性、Visual Studio 2005 单步调试,并使用@@error或try catch语法撰写程序内的错误处理。
要维护数据的完整性,一般会采用第6章所介绍的条件约束(constraint)。但是,如果验证数据的逻辑较复杂,或是希望自动化同步其他表甚至远方服务器的数据,则有可能使用第9章介绍的触发器。本章说明SQL Server 2005 所提供的三种触发器,首先是针对DML语法可使用的两种触发器:
■传统的在表添加、修改和删除记录后,所自动触发的“After触发器”。
■SQL Server 2000后续版本支持在实际修改表或视图之前,取代原语法执行的“Instead Of 触发器”,也称为“Before 触发器”。另外,在SQL Server 2005中新增了“DDL 触发器”,让数据库管理员可在数据库和服务器两个级别管理与监控用户所执行的DDL语法。
“第10章:自定义函数”,本章能为用户在设计与撰写结构化的T-SQL功能时提供很大的帮助。本章解释了SQL Server所支持的三种自定义函数,并表列对各种函数的T-SQL语法进行了比较。
■数值函数
■多重语句表函数
【插图】


点击看大图







加载中...