本书是一本与众不同的SQL Server数据库入门读物,不需要读者有太多基础。本书以简单实用为原则,讲解通俗易懂,循序渐进,避免了云山雾罩、晦涩难懂。本书风格轻松活泼,多用对比、类比和比喻等写作方式,并配合图解教学,对难点之处给出了必要提示;书中的每个知识点都对应相应的示例,便于读者一边学习一边动手实践,既可以提高动手能力,也可以激发学习兴趣。另外,本书配1张光盘,内容为本书配套多媒体教学视频及源代码。本书还赠送了400多个SQL Server实例源代码及12小时教学视频(需下载)。
本书共18章,分为5篇。第1篇介绍了SQL Server基础知识,包括SQL Server数据库的安装、数据库以及数据表的使用等;第2篇介绍了数据表约束、自定义函数及SQL语句在数据表中的使用;第3篇介绍了SQL Server数据库常用的一些对象,包括视图、存储过程及触发器等对象;第4篇介绍了SQL Server数据库的管理,包括数据库的备份和还原、数据库的权限管理以及自动化任务管理;第5篇介绍了SQL Server在实际开发中的应用,包括使用C#和Java这两种主流开发语言连接SQL Server数据库。
本书适合SQL Server入门读者阅读;有一定基础的读者,也可通过本书进一步理解SQL Server中的各个重要概念及知识点;对于大、中专院校的学生和培训班的学员,本书也不失为一本好教材。
SQL Server数据库是目前比较流行的数据库之一,与其他数据库产品一样,都可以使用标准的SQL语句。SQL Server数据库凭借其自身的操作简单,与Windows操作系统的融合性以及与Visual Studio开发平台的集成性,深受用户的喜爱。目前,在很多的中小型网站和软件系统中都普遍应用SQL Server作为后台数据库。
为了能够让读者快速掌握SQL Server的使用,笔者编写了本书。 本书从SQL Server数据库的安装开始讲起,循序渐进地介绍了SQL Server数据库操作和管理的方方面面知识。从基本概念到具体实践,从新特性的讲解到具体操作,从简单的SQL语句编写到复杂的数据库管理,从抽象概念到实际应用,全方位解读了SQL Server数据库的相关知识。本书最后两章介绍了如何使用目前比较主流的C#和Java语言在编程中连接SQL Server数据库,可以让读者对实际的数据库应用开发有一个直观的了解。
本书将知识范围锁定在了适合初级和中级读者阅读的部分,讲解时结合了大量示例,并专门录制了多媒体教学视频辅助教学。相信读者通过学习本书内容,可以比较好地掌握SQL Server数据库的相关知识,为自己的IT职业生涯做好准备。
本书特色
本书奉行“入门很简单丛书”的一贯风格,有以下突出特色:
* 专门提供配套多媒体教学视频,便于读者更加直观、高效地学习,增强学习效果。
* 编排采用循序渐进的方式,适合初、中级学者快速掌握SQL Server数据库的使用。
* 采用语法与示例一对一的方式来讲解每一个语法,可以让读者更加牢固地掌握。
* 结合大量实例讲解SQL Server中的基本SQL语句和企业管理器的使用。
* 所有实例都具有代表性和实际意义,能够解决工作中的实际问题。
* 对于在SQL Server中编写语句比较容易出现的问题,给出了详细的说明。
* 提供了利用C#和Java语言连接SQL Server数据库的案例,可以帮助读者体会实际开发中SQL Server数据库的使用。
* 本书提供了大量练习题,以帮助读者巩固和提高所学的知识。
本书的内容安排
本书共18章,分为以下5篇。
第1篇 走进SQL Server(第1~3章)
本篇首先介绍了SQL Server数据库在Windows环境下的安装过程及每个数据库版本的说明,然后介绍了数据库的创建、修改及删除,以及创建数据表、修改及删除数据表等。
第2篇 表操作基础(第4~8章)
本篇主要介绍了如何使用表中约束,以及如何操作表中的数据、如何使用函数等。主要包括数据表中数据的添加、修改及删除;数据表中数据的简单查询和复杂查询;在查询语句中使用函数来方便数据查询。
第3篇 数据库使用进阶(第9~13章)
有了数据表操作的基础后,就可以灵活地使用SQL语句来更好地使用数据库。本篇主要介绍了SQL Server中视图、索引、存储过程及触发器的使用。
第4篇 数据库的管理(第14~16章)
有了前3篇的基础后,已经对数据库的基本操作有所了解。在本篇中主要介绍了数据库的管理知识,包括数据库的备份和还原、用户和权限管理及系统化自动任务管理。
第5篇 数据库的应用(第17~18章)
本篇介绍分别使用C#语言和Java语言连接SQL Server数据库的相关知识。在使用C#语言连接数据库部分,以文章管理系统为例让读者更加熟悉SQL Server数据库的使用;在使用Java语言连接数据库部分,介绍了如何使用Java语言连接SQL Server完成订购系统。
适合阅读本书的读者
* 从未接触过SQL Server的自学人员;
* 打算使用SQL Server数据库的开发人员;
* 大中专院校的学生和相关授课老师;
* 准备从事软件开发的求职者;
* 参与毕业设计的学生;
* 其他编程爱好者。
本书作者
本书由秦婧主笔编写。其他参与编写的人员有丁士锋、胡可、姜永艳、靳鲲鹏、孔峰、马林、明廷堂、牛艳霞、孙泽军、王丽、吴绍兴、杨宇、游梁、张建林、张起栋、张喆、郑伟、郑玉晖、朱雪琴、戴思齐、丁毓峰。
阅读本书的过程中若有疑问,请发邮件和我们联系。
编者
第1篇 走进SQL Server
第1章 初识数据库( 教学视频:22分钟)2
1.1 与数据库有关的一些概念2
1.1.1 数据库2
1.1.2 数据库管理系统2
1.1.3 数据库系统2
1.2 了解常用的数据库产品3
1.2.1 Oracle数据库3
1.2.2 MySQL数据库3
1.2.3 Access数据库4
1.2.4 SQL Server数据库4
1.3 安装SQL Server 20085
1.3.1 SQL Server 2008各版本介绍5
1.3.2 在Windows Server环境下安装SQL Server 20085
1.4 如何才能进入SQL Server15
1.4.1 启动SQL Server数据库服务16
1.4.2 登录SQL Server数据库17
1.5 了解SQL Server的工作平台17
1.6 在SQL Server中已经存在的数据库18
1.7 本章小结19
1.8 本章习题19
第2章 操作存储数据的仓库( 教学视频:32分钟)21
2.1 创建数据库21
2.1.1 创建数据库的语法21
2.1.2 用最简单的语句创建数据库22
2.1.3 为数据库指定一个位置22
2.1.4 创建由多文件组成的数据库24
2.1.5 通过文件组也能创建数据库25
2.1.6 看看究竟创建了哪些数据库27
2.1.7 使用企业管理器创建数据库28
2.2 修改数据库32
2.2.1 给数据库改名32
2.2.2 给数据库换个容量33
2.2.3 在数据库中添加文件34
2.2.4 在数据库中清理无用文件37
2.2.5 使用企业管理器修改数据库39
2.3 删除数据库41
2.3.1 小试使用语句删除数据库41
2.3.2 使用企业管理器删除数据库41
2.4 本章小结41
2.5 本章习题42
第3章 操作存储数据的单元( 教学视频:38分钟)43
3.1 认识表中能存放什么样的数据43
3.1.1 整型和浮点型43
3.1.2 字符串类型44
3.1.3 日期时间类型45
3.1.4 其他数据类型46
3.2 创建数据表47
3.2.1 创建数据表的语句47
3.2.2 试用CREATE语句创建简单数据表47
3.2.3 创建带自动增长字段的数据表48
3.2.4 创建带自定义数据类型的数据表49
3.2.5 在其他文件组上创建数据表50
3.2.6 见识一下临时表52
3.2.7 使用企业管理器轻松创建数据表52
3.2.8 使用SP_HELP看看表的骨架57
3.2.9 使用sys.objects查看表的信息58
3.2.10 使用Information_schema.columns查看表的信息59
3.3 修改数据表60
3.3.1 改一改表中的数据类型60
3.3.2 更改表中字段的数目61
3.3.3 给表中的字段改名62
3.3.4 给数据表也改个名63
3.3.5 使用企业管理器更容易修改表63
3.4 删除数据表65
3.4.1 删除数据表的语法65
3.4.2 使用DROP语句去掉多余的表66
3.4.3 使用企业管理器轻松删除表66
3.5 本章小结67
3.6 本章习题68
第2篇 表操作基础
第4章 约束表中的数据( 教学视频:36分钟)70
4.1 为什么要使用约束70
4.2 主键约束--PRIMARY KEY72
4.2.1 在建表时直接加上主键约束72
4.2.2 在修改表时加上主键约束74
4.2.3 去除主键约束74
4.2.4 使用企业管理器轻松使用主键约束75
4.3 外键约束--FOREIGN KEY78
4.3.1 在建表时直接加上外键约束79
4.3.2 在修改表时加上外键约束81
4.3.3 去除外键约束82
4.3.4 使用企业管理器轻松使用外键约束83
4.4 默认值约束--DEFAULT85
4.4.1 在建表时添加默认值约束85
4.4.2 在修改表时添加默认值约束86
4.4.3 去除默认值约束88
4.4.4 使用企业管理器轻松使用默认值约束89
4.5 检查约束--CHECK91
4.5.1 在建表时添加检查约束92
4.5.2 在修改表时添加检查约束93
4.5.3 去除检查约束94
4.5.4 使用企业管理器轻松使用检查约束95
4.6 唯一约束--UNIQUE97
4.6.1 在建表时加上唯一约束97
4.6.2 在修改表时添加唯一约束99
4.6.3 去除唯一约束99
4.6.4 使用企业管理器轻松使用唯一约束100
4.7 非空约束--NOT NULL103
4.7.1 在建表时添加非空约束103
4.7.2 在修改表时添加非空约束104
4.7.3 去除非空约束105
4.7.4 使用企业管理器轻松使用非空约束105
4.8 本章小结107
4.9 本章习题107
第5章 管理表中的数据( 教学视频:39分钟)109
5.1 向数据表中添加数据--INSERT109
5.1.1 INSERT语句的基本语法形式109
5.1.2 给表里的全部字段添加值110
5.1.3 给需要的字段添加值111
5.1.4 给自增长字段添加值112
5.1.5 向表中添加数据时使用默认值114
5.1.6 表中的数据也能复制116
5.1.7 一次多添加几条数据117
5.2 修改表中的数据--UPDATE119
5.2.1 UPDATE语句的基本语法形式119
5.2.2 将表中的数据全部修改119
5.2.3 只修改想要修改的数据120
5.2.4 修改前N条数据121
5.2.5 根据其他表的数据更新表121
5.3 使用DELETE语句删除表中的数据124
5.3.1 DELETE语句的基本语法形式125
5.3.2 清空表中的数据125
5.3.3 根据条件去掉没用的数据125
5.3.4 删除前N条数据126
5.3.5 使用TRUNCATE TABLE语句也能清空表中的数据127
5.4 使用企业管理器操作数据表129
5.5 本章小结131
5.6 本章习题132
第6章 查询语句入门( 教学视频:33分钟)133
6.1 运算符133
6.1.1 算术运算符133
6.1.2 比较运算符135
6.1.3 逻辑运算符135
6.1.4 位运算符136
6.1.5 其他运算符136
6.1.6 运算符也是有顺序的137
6.2 简单查询138
6.2.1 查询语句的基本语法形式138
6.2.2 把表里的数据都查出来138
6.2.3 查看想要的数据139
6.2.4 给查询结果中的列换个名称140
6.2.5 使用TOP查询表中的前几行数据142
6.2.6 在查询时去除重复的结果142
6.2.7 查询结果也能排序143
6.2.8 含有NULL值的列也能查看143
6.2.9 模糊查询用LIKE144
6.2.10 查询某一范围用IN145
6.2.11 根据多个条件查询数据146
6.3 聚合函数147
6.3.1 求最大值函数MAX147
6.3.2 求最小值函数MIN147
6.3.3 求平均值函数AVG148
6.3.4 求和函数SUM148
6.3.5 求记录行数COUNT149
6.4 本章小结149
6.5 本章习题149
第7章 查询语句提高( 教学视频:41分钟)151
7.1 子查询151
7.1.1 使用IN的子查询151
7.1.2 使用ANY的子查询153
7.1.3 使用SOME的子查询155
7.1.4 使用EXISTS的子查询156
7.2 分组查询157
7.2.1 分组查询介绍157
7.2.2 聚合函数在分组查询的应用158
7.2.3 在分组查询中也可以使用条件158
7.2.4 分组查询结果也能排序160
7.3 多表查询161
7.3.1 笛卡尔积161
7.3.2 同一个表的连接——自连接161
7.3.3 能查询出额外数据的连接——外连接163
7.3.4 只查询出符合条件的数据——内连接166
7.4 结果集的运算167
7.4.1 使用UNION关键字合并查询结果167
7.4.2 排序合并查询的结果167
7.4.3 使用EXCEPT关键字对结果集差运算168
7.4.4 使用INTERSECT关键字对结果集交运算169
7.5 本章小结170
7.6 本章习题171
第8章 系统函数与自定义函数( 教学视频:34分钟)172
8.1 系统函数172
8.1.1 数学函数172
8.1.2 字符串函数175
8.1.3 日期时间函数177
8.1.4 其他函数179
8.2 自定义函数182
8.2.1 创建自定义函数的语法182
8.2.2 先建一个没有参数的标量函数183
8.2.3 再建一个带参数的标量函数184
8.2.4 创建表值函数184
8.2.5 修改自定义函数186
8.2.6 去除自定义函数186
8.2.7 在企业管理器中也能管理自定义函数186
8.3 本章小结189
8.4 本章习题190
第3篇 数据库使用进阶
第9章 视图( 教学视频:22分钟)192
9.1 了解视图192
9.2 创建视图193
9.2.1 创建视图的语法193
9.2.2 源自一张表的视图194
9.2.3 源自多张表的视图196
9.3 更新视图196
9.3.1 更新视图的语法196
9.3.2 视图很容易改197
9.3.3 给视图换个名字197
9.4 删除视图198
9.4.1 删除视图的语法198
9.4.2 删除不用的视图198
9.5 使用DML语句操作视图199
9.5.1 使用INSERT语句向视图中添加数据199
9.5.2 使用UPDATE语句更新视图中的数据200
9.5.3 使用DELETE语句删除视图中的数据201
9.6 使用企业管理器操作视图201
9.6.1 使用企业管理器创建视图202
9.6.2 使用企业管理器修改视图202
9.6.3 使用企业管理器删除视图204
9.7 本章小结204
9.8 本章习题205
第10章 索引( 教学视频:22分钟)206
10.1 认识索引206
10.1.1 索引的作用206
10.1.2 索引就这么几类206
10.2 创建索引207
10.2.1 创建索引的语法207
10.2.2 试着创建聚集索引207
10.2.3 试着创建非聚集索引209
10.2.4 试着创建复合索引210
10.3 修改索引211
10.3.1 修改索引的语法211
10.3.2 禁用索引212
10.3.3 重新生成索引213
10.3.4 修改索引名213
10.4 删除索引214
10.4.1 删除索引的语法214
10.4.2 删除一个索引214
10.4.3 同时删除多个索引215
10.5 使用企业管理器操作索引215
10.5.1 使用企业管理器创建索引215
10.5.2 使用企业管理器修改索引217
10.5.3 使用企业管理器删除索引218
10.6 本章小结219
10.7 本章习题219
第11章 T-SQL语言基础( 教学视频:45分钟)221
11.1 了解T-SQL语法规则221
11.2 常量和变量221
11.2.1 常量222
11.2.2 变量223
11.3 流程控制语句226
11.3.1 BEGIN...END语句226
11.3.2 IF语句226
11.3.3 WHILE语句227
11.3.4 CASE语句228
11.3.5 WAITFOR语句230
11.3.6 TRY...CATCH语句231
11.4 游标233
11.4.1 定义游标233
11.4.2 打开游标233
11.4.3 读取游标234
11.4.4 关闭和删除游标236
11.5 使用事务控制语句237
11.5.1 什么是事务237
11.5.2 启动和保存事务238
11.5.3 提交和回滚事务238
11.5.4 事务的应用239
11.6 本章小结241
11.7 本章习题241
第12章 一次编译,多次执行的存储过程( 教学视频:30分钟)242
12.1 存储过程很强大242
12.1.1 存储过程的特点242
12.1.2 存储过程的类型243
12.2 创建存储过程243
12.2.1 创建存储过程的语法243
12.2.2 创建不带参数的存储过程244
12.2.3 创建带输入参数的存储过程246
12.2.4 创建带输出参数的存储过程247
12.2.5 创建带加密选项的存储过程248
12.3 修改存储过程249
12.3.1 修改存储过程的语法249
12.3.2 改一改存储过程250
12.3.3 给存储过程改个名251
12.4 删除存储过程252
12.4.1 删除存储过程的语法252
12.4.2 清理不用的存储过程252
12.5 使用企业管理器管理存储过程253
12.5.1 使用企业管理器创建存储过程253
12.5.2 使用企业管理器修改存储过程257
12.5.3 使用企业管理器删除存储过程259
12.6 本章小结260
12.7 本章习题260
第13章 确保数据完整性的触发器( 教学视频:28分钟)262
13.1 有意思的触发器262
13.1.1 触发器的作用262
13.1.2 触发器分类262
13.2 创建触发器263
13.2.1 创建触发器的语法263
13.2.2 建AFTER类型触发器264
13.2.3 再建INSTEAD OF类型触发器271
13.2.4 创建带加密选项的触发器273
13.3 修改触发器275
13.3.1 修改触发器的语法275
13.3.2 改改触发器275
13.3.3 禁用/启用触发器276
13.4 删除触发器278
13.5 使用企业管理器管理触发器279
13.5.1 使用企业管理器创建触发器279
13.5.2 使用企业管理器修改触发器280
13.5.3 使用企业管理器删除触发器281
13.5.4 使用企业管理器启用/禁用触发器281
13.6 本章小结283
13.7 本章习题283
第4篇 数据库的管理
第14章 与数据安全相关的对象( 教学视频:36分钟)286
14.1 认识与数据安全相关的对象286
14.2 登录账号管理287
14.2.1 创建登录账号287
14.2.2 修改登录账号288
14.2.3 删除登录账号290
14.2.4 使用企业管理器管理登录账号290
14.3 用户管理293
14.3.1 创建用户293
14.3.2 修改用户294
14.3.3 删除用户295
14.3.4 使用企业管理器管理用户296
14.4 角色管理299
14.4.1 认识常用角色299
14.4.2 创建角色300
14.4.3 修改角色301
14.4.4 删除角色301
14.4.5 使用企业管理器管理角色303
14.5 权限管理306
14.5.1 授予权限306
14.5.2 拒绝权限307
14.5.3 收回权限307
14.6 本章小结308
14.7 本章习题309
第15章 数据库备份和还原( 教学视频:32分钟)310
15.1 数据库备份310
15.1.1 数据库备份的类型310
15.1.2 备份数据库311
15.1.3 备份日志文件312
15.1.4 备份文件和文件组313
15.1.5 使用企业管理器备份数据库314
15.2 还原数据库316
15.2.1 还原数据库文件316
15.2.2 还原文件和文件组317
15.2.3 使用企业管理器还原数据库318
15.3 数据库的分离和附加320
15.3.1 数据库的分离320
15.3.2 数据库的附加322
15.4 本章小结324
15.5 本章习题324
第16章 系统自动化任务管理( 教学视频:24分钟)326
16.1 SQL Server代理326
16.1.1 认识SQL Server代理326
16.1.2 操作SQL Server代理326
16.2 作业328
16.2.1 创建作业328
16.2.2 定义一个作业步骤329
16.2.3 创建一个作业执行计划331
16.2.4 查看和管理作业334
16.3 维护计划335
16.3.1 什么是维护计划336
16.3.2 使用向导创建维护计划步骤336
16.4 警报340
16.4.1 创建警报340
16.4.2 删除警报341
16.5 操作员342
16.5.1 创建操作员342
16.5.2 使用操作员343
16.6 本章小结345
16.7 本章练习345
第5篇 数据库的应用
第17章 使用.NET连接SQL Server( 教学视频:38分钟)348
17.1 ADO.NET介绍348
17.1.1 认识ADO.NET348
17.1.2 使用Connection连接SQL Server数据库349
17.1.3 使用Command操作SQL Server数据库351
17.1.4 使用DataSet和DataAdapter操作SQL Server数据库353
17.2 使用Windows窗体程序完成文章管理系统354
17.2.1 Windows窗体程序的开发环境介绍354
17.2.2 数据表的设计356
17.2.3 添加文章功能的实现358
17.2.4 查询文章功能的实现360
17.2.5 删除文章功能的实现362
17.2.6 修改文章功能363
17.3 本章小结366
第18章 JSP在线订购系统( 教学视频:31分钟)367
18.1 了解B/S结构的优势367
18.1.1 了解B/S结构的优势367
18.1.2 了解Java Web服务器368
18.2 在线订购系统模块设计368
18.2.1 订购系统的流程368
18.2.2 模块介绍369
18.2.3 在线订购系统数据库结构369
18.3 在线订购系统实现372
18.3.1 JDBC Driver的使用372
18.3.2 连接数据库373
18.3.3 实现登录功能381
18.3.4 实现商品列表功能384
18.3.5 实现商品订购功能386
18.4 本章小结389