编辑推荐
《SQLServer2005基础教程与实验指导》共分10章,介绍了管理SQLServer2005数据库内容,基于表的操作、数据完整性以及表的索引和视图,数据库查询和管理,T-SQL语言,存储过程和触发器,数据库备份与恢复,SQLServer2005集成的.NETFramework、CLR特性及新增的服务体系。《SQLServer2005基础教程与实验指导》光盘提供了书中实例的源代码和视频教学文件。
《SQLServer2005基础教程与实验指导》可以作为SQLServer职业培训教材和各级院校SQLServer数据库应用与开发授课培训教程,也适合作为SQLServer自学资料和参考资料。内容简介
《SQLServer2005基础教程与实验指导》全面介绍了SQLServer2005数据库管理与开发知识。《SQLServer2005基础教程与实验指导》分上下篇,上篇包括10章,介绍了SQLServer2005的基础知识,管理SQLServer2005数据库内容,数据库中基于表的各种操作、数据完整性以及表的索引和视图等,使用SELECT查询从数据库获取数据,管理数据库中数据,Transact-SQL语言,存储过程和触发器,管理SQLServer2005安全,数据库备份与恢复,SQLServer2005集成的.NETFramework、CLR特性及新增的服务体系。《SQLServer2005基础教程与实验指导》附有配套光盘,提供了书中实例的源代码和视频教学文件。下篇是实验指导,有10个单元,精选了一批实用的上机指导练习,以巩固和提高读者的动手技能,加深对基础理论的理解。
《SQLServer2005基础教程与实验指导》体现了作者在软件技术教学改革过程中形成的“项目驱动、案例教学、理论实践一体化”教学方法。《SQLServer2005基础教程与实验指导》可以作为SQLServer职业培训教材和各级院校SQLServer数据库应用与开发的培训教程,也适合作为SQLServer自学用书和参考书。目录
上篇基础知识
第1章数据库与SQLServer2005简介1
1.1数据库原理1
1.1.1数据库基础概念2
1.1.2关系数据库4
1.1.3范式理论5
1.1.4实体-关系模型7
1.2SQLServer2005概述9
1.2.1SQLServer2005特性9
1.2.2SQLServer2005体系结构10
1.2.3安装SQLServer200512
1.3配置SQLServer200514
1.3.1配置服务15
1.3.2使用SQLServer2005管理工具17
1.3.3通过配置管理器配置SQLServer20
1.3.4使用SQLServer外围应用配置器22
1.4扩展练习25
第2章管理数据库29
2.1数据库的组成29
2.1.1系统数据库29
2.1.2数据库存储文件31
2.1.3数据库对象32
2.1.4数据库快照34
2.2创建数据库36
2.2.1向导方式创建36
2.2.2语句方式创建39
2.3维护数据库42
2.3.1修改数据库43
2.3.2删除数据库46
2.3.3查看数据库状态47
2.3.4数据库操作49
2.3.5复制和移动数据库52
2.4扩展练习55
第3章管理表59
3.1表的概述59
3.1.1什么是表59
3.1.2表的类型60
3.1.3创建表61
3.2列数据类型64
3.2.1精确数字类型64
3.2.2近似数字类型66
3.2.3字符数据类型67
3.2.4Unicode字符数据类型67
3.2.5二进制数据类型68
3.2.6日期和时间数据类型69
3.2.7其他数据类型70
3.2.8创建自己的数据类型73
3.3列的其他属性76
3.3.1NULL、NOTNULL和默认值76
3.3.2IDENTITY的应用77
3.4维护数据表79
3.4.1修改表中的列79
3.4.2修改表81
3.5表数据完整性84
3.5.1表主键84
3.5.2外键87
3.5.3CHECK约束89
3.5.4表关系90
3.6表的索引与视图92
3.6.1表的索引92
3.6.2表的视图93
3.7扩展练习94
第4章获取数据95
4.1基本SELECT语句95
4.1.1简单的SELECT查询95
4.1.2WHERE子句101
4.1.3ORDERBY子句107
4.1.4GROUPBY子句109
4.1.5HAVING子句110
4.2多表查询112
4.2.1多表查询基础112
4.2.2内连接114
4.2.3外连接115
4.2.4交叉连接118
4.2.5自连接119
4.2.6联合查询120
4.3子查询121
4.3.1多行子查询121
4.3.2单值子查询124
4.3.3嵌套子查询125
4.4扩展练习126
第5章操作查询128
5.1插入数据128
5.1.1INSERT语句的语法128
5.1.2使用INSERTVALUES语句131
5.1.3使用INSERTSELECT语句134
5.1.4使用SELECTINTO语句创建表136
5.2更新数据137
5.2.1UPDATE语句的语法137
5.2.2根据表中数据更新行138
5.2.3根据其他表更新行140
5.3删除数据141
5.3.1DELETE语句的语法141
5.3.2使用DELETE语句142
5.3.3使用TRUNCATETABLE语句144
5.4扩展练习144
第6章Transact-SQL语言146
6.1Transact-SQL概述146
6.2Transact-SQL语言基础147
6.2.1常量与变量147
6.2.2运算符150
6.2.3表达式153
6.2.4控制语句154
6.3常用函数159
6.3.1聚合函数159
6.3.2数学函数160
6.3.3字符串函数161
6.3.4数据类型转换函数162
6.3.5日期和时间函数163
6.3.6用户自定义函数164
6.4高级操作167
6.4.1事务167
6.4.2锁169
6.4.3游标171
6.5扩展练习174
第7章存储过程与触发器177
7.1什么是存储过程177
7.1.1存储过程的类型177
7.1.2系统存储过程178
7.2使用存储过程180
7.2.1创建普通存储过程180
7.2.2执行存储过程183
7.2.3使用存储过程参数185
7.2.4管理存储过程188
7.3什么是触发器191
7.3.1触发器概述191
7.3.2触发器的分类193
7.4创建触发器194
7.4.1DML触发器194
7.4.2DDL触发器198
7.4.3嵌套触发器199
7.4.4递归触发器200
7.5管理触发器201
7.6扩展练习203
第8章管理SQLServer2005的安全206
8.1SQLServer2005安全206
8.1.1SQLServer2005安全简介206
8.1.2SQLServer2005的安全机制208
8.1.3SQLServer2005验证模式209
8.2登录名211
8.2.1系统登录名211
8.2.2创建登录名212
8.3数据库用户214
8.3.1数据库用户214
8.3.2创建数据库用户215
8.4管理角色217
8.4.1服务器角色217
8.4.2数据库角色219
8.4.3应用程序角色220
8.4.4为角色添加成员223
8.5使用架构224
8.5.1创建架构225
8.5.2修改架构226
8.5.3删除架构228
8.6权限228
8.6.1权限类型228
8.6.2权限操作230
8.7扩展练习232
第9章SQLServer2005备份与恢复235
9.1备份概述235
9.1.1备份的重要性235
9.1.2备份和恢复体系结构236
9.1.3备份设备238
9.2备份数据239
9.2.1创建备份设备239
9.2.2管理备份设备241
9.2.3完整备份243
9.2.4差异备份246
9.2.5事务日志备份248
9.3恢复数据252
9.3.1常规恢复252
9.3.2时间点恢复255
9.4复制数据库255
9.5扩展练习257
第10章SQLServer2005高级主题259
10.1.NETFramework集成259
10.1.1.NETFramework概述259
10.1.2CLR概述261
10.1.3ADO.NET概述264
10.2使用.NET特性266
10.2.1用户自定义函数266
10.2.2用户自定义类型271
10.2.3触发器273
10.2.4存储过程275
10.3服务体系277
10.3.1通知服务277
10.3.2分析服务278
10.3.3报表服务279
10.3.4集成服务280
10.4扩展练习281
下篇实验指导
第1单元283
练习1-1注册服务器283
练习1-2隐藏SQLServer2005实例285
练习1-3使用sqlcmd实用工具286
练习1-4创建数据库和表287
第2单元290
练习2-1创建销售管理数据库290
练习2-2重命名销售管理数据库291
练习2-3收缩销售管理数据库292
第3单元294
练习3-1创建用户自定义数据类型294
练习3-2创建CHECK约束297
练习3-3为表添加关系298
练习3-4创建表的索引298
练习3-5创建查询学生成绩的视图300
第4单元302
练习4-1按部门查看员工信息302
练习4-2查看工龄3年以上的员工信息303
练习4-3使用嵌套子查询303
练习4-4使用增强TOP子句304
练习4-5使用新增的INTERSECT和EXCEPT语句305
第5单元306
练习5-1处理标识列306
练习5-2使用新增OUTPUT子句307
练习5-3图形操作修改表数据309
第6单元311
练习6-1使用表达式的查询311
练习6-2管理用户自定义函数313
练习6-3使用游标315
练习6-4查看锁317
第7单元318
练习7-1创建商品查询存储过程318
练习7-2创建更新价格的存储过程320
练习7-3定义员工注册触发器321
练习7-4创建退货触发器322
练习7-5嵌套触发器示例323
练习7-6使用INSTEADOF触发器324
练习7-7使用UPDATE触发器326
练习7-8使用扩展存储过程328
第8单元330
练习8-1配置SQLServer2005的身份验证模式330
练习8-2创建Windows登录332
练习8-3指派角色到多个登录335
练习8-4自定义数据库角色336
第9单元338
练习9-1恢复大容量日志记录模型338
练习9-2设计数据库备份策略340
练习9-3创建文件组备份344
练习9-4按时间点恢复数据库348
第10单元351
练习10-1使用ADO.NET操作数据库351
练习10-2使用报表服务创建销售报表353
练习10-3导入Access报表359
练习10-4使用向导创建包361精彩书摘
第1章数据库与SQLServer2005简介
内容摘要
由Microsoft发布的SQLServer产品是一个典型的关系型数据库管理系统,以其功能的强大性、操作的简便性、可靠的安全性,得到很多用户的认可,应用也越来越广泛。本章首先介绍有关数据库的基础知识,接下来切入主题介绍了SQLServer2005的基础入门知识,包括:SQLServer2005的特性、体系结构、安装方法以及其附带的管理工具和配置方法等。
学习目标
*了解数据库发展过程中的3个模型
*理解关系数据库的概念和组成
*了解常用关系数据库术语和对象
*掌握1NF、2NF和3NF
*理解实体与关系模型的概念
*了解什么是SQLServer2005
*了解SQLServer2005的重要特性和新增功能
*理解SQLServer2005体系结构和平台
*掌握SQLServer2005安装方法
*掌握SQLServer2005服务和服务器管理方法
*了解SQLServer2005的重要管理工具
*掌握工具SQLServer配置管理器的使用
*掌握工具SQLServer外围应用配置器的使用
1.1数据库原理
在正式学习SQLServer2005之前,首先来学习数据库技术的原理及应用,主要包括数据库基本概念、关系数据库、范式理论及实体-关系数据模型。通过对这些知识的学习,有助于更好地理解SQLServer2005。
1.1.1数据库基础概念
所谓数据库就是存放数据的地方,是需要长期存放在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,可为不同的用户共享。
数据库内容是通过数据库管理系统(DatabaseManagementSystem,DBMS)来管理的。数据库管理系统是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分,用户对数据库的一切操作,包括定义、查询、更新以及各种控制,都是通过数据库管理系统进行的。
在不引起混淆的情况下,人们常常将数据库管理系统称为数据库。例如,平时常说的Access、SQLServer、Oracle和MySQL等数据库,其实都是属于DBMS的范围。
随着计算机硬件、软件的不断发展和数据的需求增加,推动了数据管理技术的加速发展,数据管理技术先后经历了3个管理阶段:人工管理阶段、文件系统阶段和数据库管理阶段。
根据具体数据存储需求的不同,数据库可以使用多种类型的系统模型(模型是指数据库管理系统中数据的存储结构),其中较为常见的有层次模型(HierarchicalModel)、网状模型(NetworkModel)和关系模型(RelationModel)3种。
1.层次模型
层次型数据库使用层次模型作为自己的存储结构。这是一种树型结构,它由节点和连线组成,其中节点表示实体,连线表示实体之间的关系。在这种存储结构中,数据将根据需要分门别类地存储在不同的层次之下,如图1-1所示。
图1-1层次结构模型
从图1-1所示的例子中可以看出,层次模型的优点是数据结构类似金字塔,不同层次之间的关联性直接而且简单;缺点是由于数据纵向发展,横向关系难以建立,数据可能会重复出现,造成管理维护的不便。
2.网状模型
网状型数据库使用网状模型作为自己的存储结构。在这种存储结构中,数据记录将组成网中的节点,而记录和记录之间的关联组成节点之间的连线,从而构成一个复杂的网状结构,如图1-2所示。
图1-2网状结构模型
使用这种存储结构的数据库的优点是它很容易地反映实体之间的关联,同时还避免了数据的重复性;缺点是这种关联错综复杂,而且当数据库逐渐增多时,将很难对结构中的关联性进行维护,尤其是当数据库变得越来越大时,关联性的维护会非常复杂。
3.关系模型
关系型数据库就是基于关系模型的数据库,它使用的存储结构是多个二维表格。在每个二维表格中,每一行称为一条记录,用来描述一个对象的信息;每一列称为一个字段,用来描述对象的一个属性。数据表与数据表之间存在相应的关联,这些关联被用来查询相关的数据,如图1-3所示。
图1-3关系型数据库
从图1-3可以看出使用这种模型的数据库的优点是结构简单、格式唯一、理论基础严格,而且数据表之间是相对独立的,它们可以在不影响其他数据表的情况下进行数据的增加、修改和删除。在进行查询时,还可以根据数据表之间的关联性,从多个数据表中查询抽取相关的信息。这种存储结构的数据模型是目前市场上使用最广泛的数据模型,使用这种存储结构的数据库管理系统很多,下面将详细介绍的Microsoft公司的产品SQLServer2005也是其中之一。
1.1.2关系数据库
所谓关系数据库(RelationalDatabase,RDB)就是基于关系模型的数据库,在计算机中,关系数据库是数据和数据库对象的集合,而管理关系数据库的计算机软件称为关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)。
1.关系模型的完整性规则
根据关系数据理论和Codd准则的定义,一种语言必须能处理与数据库的所有通信问题,这种语言有时也称为综合数据专用语言。该语言在关系数据库管理系统中就是SQL(StructuredQueryLanguage,结构化查询语言)。SQL的使用主要通过数据操纵、数据定义和数据管理3种操作实现。
关系模型的完整性规则是对数据的约束。关系模型提供了3类完整性规则:实体完整性规则、参照完整性规则和用户定义的完整性规则。其中实体完整性规则和参照完整性规则是关系模型必须满足的完整性的约束条件,称为关系完整性规则。
在关系模型中存在4类完整性约束:实体完整性、空值(null)、参照完整性和用户定义完整性,有关完整性约束的更多内容在第3章中介绍。
2.关系数据库的组成
关系数据库是由数据表和数据表之间的关联组成的。其中数据表通常是一个由行和列组成的二维表,每个数据表分别说明数据库中某一特定的方面或部分的对象及其属性。数据表中的行通常叫做记录或元组,它代表众多具有相同属性的对象中的一个;数据表中的列通常叫做字段或属性,它代表相应数据表中存储对象的共有的属性。表1-1是某公司的损耗商品信息表。前言/序言
SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQLServer2005为用户提供了强大的、熟悉的工具,同时降低了在从移动设备到企业数据系统的多平台上创建、部署、管理和使用企业数据和分析应用程序的复杂性。通过全面的功能集、与现有系统的互操作性以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。
《清华电脑学堂:SQL Server2005基础教程与实验指导》定位与特色
面向职业技术教学
《清华电脑学堂:SQL Server2005基础教程与实验指导》是作者在总结了多年数据库开发经验与成果的基础上编写的,以实际项目为中心,全面、翔实地介绍了SQLServer2005数据库应用与开发所需的各种知识和技能。通过《清华电脑学堂:SQL Server2005基础教程与实验指导》的学习,读者可以快速、全面地掌握SQLServer2005数据库应用与开发知识。《清华电脑学堂:SQL Server2005基础教程与实验指导》体现了作者“项目驱动、案例教学、理论实践一体化”的教学方法,是一本真正面向职业技术教学的教材。
合理的知识结构
面向数据库应用与开发职业培训市场,结合开发实践介绍SQLServer2005应用开发知识,突出了职业实用性;《清华电脑学堂:SQL Server2005基础教程与实验指导》各章都有实例分析,带领读者经历程序开发全过程,是一本真正的实训性案例教程。
真实的案例教学
针对每个知识点,《清华电脑学堂:SQL Server2005基础教程与实验指导》设计了针对性强的教学案例,这些小案例既相对独立,又具有一定的联系,是综合性开发实例的组成部分。读者在制作这些小案例的过程中可以掌握每个知识点。《清华电脑学堂:SQL Server2005基础教程与实验指导》有效地避免了其他SQLServer2005书籍的抽象、空洞或者实例不丰富等缺点。
理论实践一体化
在每个案例中有机融合了知识点讲解和技能训练目标,融“教、学、练”于一体。每个案例的讲解都先提出功能目标,然后是实例制作演示和读者模仿练习,让读者掌握案例的完成过程,体现“在练中学,学以致用”的教学理念。
阶梯式实践环节
《清华电脑学堂:SQL Server2005基础教程与实验指导》精心设置了两个教学环节:实验指导和扩展练习。让读者通过不断地练习实践,实现编程技能的逐步提高,最终实现与职业能力的接轨。
《清华电脑学堂:SQL Server2005基础教程与实验指导》主要内容
《清华电脑学堂:SQL Server2005基础教程与实验指导》分上下篇,上篇分10章,介绍了SQLServer2005数据库应用与开发的知识。介绍了SQLServer2005的基础知识,管理SQLServer2005数据库的内容,数据库中基于表的各种操作、数据完整性以及表的索引和视图等,使用SELECT查询从数据库获取数据,管理数据库中数据,包括使用Transact-SQL语句对数据表进行添加、更新及删除等,Transact-SQL语言,高级数据库操作等,使用SQLServer2005中的存储过程和触发器管理SQLServer2005安全,包括SQLServer2005安全机制、验证模式、使用登录名和数据库用户、管理角色和架构及权限等,数据库备份、恢复的主要方式和注意事项、数据复制等。SQLServer2005的高级内容:集成的.NETFramework、CLR特性及新增的服务体系。下篇是实验指导,分为10个单元,精选了一批实用的上机练习,以巩固和提高读者的动手技能,加深对基础理论的理解。
《清华电脑学堂:SQL Server2005基础教程与实验指导》实例都来自于实际开发工作当中。每个概念小节后都附有范例,帮助读者全面理解本节内容的具体应用,每章都有示例和上机练习,读者在融会贯通全章知识后,通过练习能做到灵活运用。《清华电脑学堂:SQL Server2005基础教程与实验指导》附有配套光盘。光盘提供了书中实例的源代码,全部代码经过精心调试,在WindowsXP/Windows2000/Windows2003Server下全部通过,保证能够正常运行。
读者对象
《清华电脑学堂:SQL Server2005基础教程与实验指导》体现了作者在软件技术教学改革过程中形成的“项目驱动、案例教学、理论实践一体化”教学方法,读者通过《清华电脑学堂:SQL Server2005基础教程与实验指导》可以快速、全面地掌握使用SQLServer2005数据库应用与开发的知识。《清华电脑学堂:SQL Server2005基础教程与实验指导》可以作为SQLServer职业培训教材和各级院校SQLServer数据库应用与开发的培训教程,也适合作为SQLServer自学用书和参考书。
除了封面署名人员之外,参与《清华电脑学堂:SQL Server2005基础教程与实验指导》编写的人员还有李乃文、孙岩、马海军、张仕禹、夏小军、赵振江、李振山、李文采、吴越胜、李海庆、何永国、李海峰、陶丽、吴俊海、安征、张巍屹、崔群法、王咏梅、康显丽、辛爱军、牛小平、贾栓稳、王立新、苏 静、赵元庆、郭磊、徐铭、李大庆、王蕾、张勇等。在编写过程中难免会有缺漏,欢迎读者通过清华大学出版社网站www.tup.tsinghua.edu.cn与我们联系,帮助我们改正提高。