
本书是根据教育部提出的高等学校计算机基础教学三层次要求组织编写的,主要讲述大型数据库管理系统SQL Server 2019的功能、操作和实用开发技术。
全书以SQL Server 2019为平台,通过一个贯穿全书的实例详细讲解了数据库基础,SQL Server 2019概述,SQL Server数据库,SQL Server数据表的管理,数据库的查询和视图,索引及其应用,事务处理与锁,TSQL程序设计基础,存储过程,数据完整性与触发器,备份、恢复与导入、导出,SQL Server的安全管理。本书除最后一章外,每章后均配有实训内容,以强化学生的实践能力。本书第13章介绍了SQL Server开发与编程,将全书所学内容与.NET编程语言相结合,进行了系统化、整体化的提升,并利用Visual C#与SQL Server 2019开发设计了学生选课系统,供学生学习和参考。
本书具有由浅入深、理论联系实际的特点,在保证教材系统性和科学性的同时,注重实践性和操作性。
本书既可作为高等学校计算机及相关专业的教材和参考书,也可作为数据库应用系统开发人员的参考书。
数据库技术是计算机技术领域中发展最快的技术之一,也是应用最广泛的技术之一,它已经成为计算机信息系统的核心技术和重要基础。
微软公司的SQL Server是一个功能完备的数据库管理系统,SQL Server作为微软公司在Windows系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,它使用TransactSQL在客户机与服务器之间发送请求。SQL Server 2019是微软公司于2019年继SQL Server 2016之后发布的版本。从SQL Server 2016到SQL Server 2019,不仅仅使数据库系统具有更高的性能、更强的处理能力,新版本的系统还带来了许多新的、在旧版本中从未出现的特性。SQL Server 2019作为已经为云技术和智能化做好准备的信息平台,能够快速构建相应的解决方案来实现本地和公有云之间的数据扩展。
目前,我国技能型人才短缺,技能型人才的培养核心是实践能力,学生应该从在校期间就开始接受实践能力的培养,以便在毕业后能很快适应社会的需求。为了满足当前高等教育人才培养的要求和当今社会对人才的需求,很多院校的相关专业均开设了有关数据库技术的课程,而在众多数据库系统中,SQL Server以其兼具对大型数据库技术的要求和易于实现等特点,被许多院校列为必修课程。本书正是结合这一实际需要以及最新的数据库技术知识在《SQL Server 2012实用教程》基础上升级完成的。
本书由浅入深地介绍了SQL Server的基本管理与操作方法。全书共13章,第1章主要介绍数据库的相关知识;第2章介绍SQL Server 2019的安装和配置;第3、4章介绍SQL Server数据库和数据表的管理;第5章介绍数据库的查询和视图;第6章介绍索引及其应用;第7章介绍事务处理与锁;第8章介绍TSQL程序设计基础;第9章介绍存储过程;第10章介绍数据完整性与触发器;第11章介绍数据库的备份、恢复与导入、导出;第12章介绍SQL Server的安全管理;第13章介绍SQL Server开发与编程。本书除最后一章外,每章后都配有实训内容,所有实训内容均围绕一个大的实例完成,具有系统性和整体性,在项目开发中采用了先进的基于.NET的技术,有助于读者对新知识、新技术的了解和学习。
为了方便读者自学,编者尽可能详细地讲解SQL Server 2019和各主要部分内容,并附有大量的屏幕图例供读者学习参考,使读者有身临其境的感觉。同时,本书录制了微课视频,供读者使用,以期能更好地实现对知识和技能的掌握与运用。本书概念清晰、叙述准确、重点突出,图文并茂,提供了丰富的实例,理论与实践紧密结合,注重对操作技能的培养。本书由李岩、侯菡萏任主编,徐宏伟、张玉芬、赵立波任副主编。第1~4章由侯菡萏编写;第5~7章由李岩编写;第8、9章由徐宏伟编写;第10、11章由张玉芬编写;第12、13章由赵立波编写;全书由李岩统稿。
本书既可作为高等学校计算机及相关专业的教材和参考书,也可作为数据库应用系统开发人员的参考书。
由于编者水平有限,加之时间仓促,书中不免有疏漏与错误之处,恳切希望广大读者多提宝贵意见。
编者2021年12月
第1章数据库基础1
1.1数据库系统概述1
1.1.1数据库的基本概念1
1.1.2数据管理技术的产生和发展3
1.1.3数据库系统的特点5
1.2数据模型7
1.2.1两类模型8
1.2.2数据模型的组成要素9
1.2.3概念模型10
1.2.4常用的数据模型13
1.3关系数据库的基本原理16
1.3.1关系模型16
1.3.2关系运算18
1.3.3关系数据库的标准语言21
1.3.4关系模型的规范化23
1.4实训项目: 数据库基础30
本章小结30
习题31第2章SQL Server 2019概述33
2.1SQL Server 2019简介33
2.1.1SQL Server 2019的基本服务33
2.1.2SQL Server 2019的亮点35
2.1.3SQL Server 2019的应用场景35
2.1.4SQL Server 2019的版本比较36
2.2SQL Server 2019的安装37
2.2.1SQL Server 2019安装环境的配置37
2.2.2SQL Server 2019的安装过程38
2.3SQL Server 2019常用工具49
2.3.1SQL Server 2019配置工具49
2.3.2SQL Server 2019管理平台50
2.3.3启动、停止、暂停和重新启动SQL Server服务512.3.4注册服务器53
2.4实训项目: SQL Server 2019的安装及基本使用55
本章小结55
习题56第3章SQL Server数据库57
3.1SQL Server数据库概述57
3.1.1数据库文件57
3.1.2数据库文件组58
3.1.3数据库对象59
3.1.4系统数据库60
3.2创建数据库61
3.2.1使用对象资源管理器创建数据库62
3.2.2使用TSQL语句创建数据库64
3.2.3事务日志67
3.3管理和维护数据库68
3.3.1打开或切换数据库69
3.3.2查看数据库信息69
3.3.3修改数据库配置70
3.3.4分离与附加数据库72
3.3.5删除数据库75
3.4实训项目: 数据库基本操作76
本章小结79
习题79第4章SQL Server数据表的管理81
4.1创建表81
4.1.1表的设计81
4.1.2数据类型82
4.1.3使用对象资源管理器创建表85
4.1.4使用TSQL语句创建表87
4.2表的管理和维护89
4.2.1查看表的属性89
4.2.2修改表结构91
4.2.3删除数据表93
4.3表数据的操作95
4.3.1使用对象资源管理器操作表数据95
4.3.2使用INSERT语句向表中添加数据96
4.3.3使用UPDATE语句修改表中的数据96
4.3.4使用DELETE或TRUNCATE TABLE语句删除表中的数据97
4.3.5常用系统表98
4.4实训项目: 数据表的操作99
本章小结101
习题102第5章数据库的查询和视图103
5.1简单SELECT语句105
5.1.1SELECT语句概述105
5.1.2完整的SELECT语句的基本语法格式105
5.1.3基本的SELECT语句106
5.1.4INTO子句111
5.1.5WHERE子句112
5.1.6ORDER BY子句117
5.2SELECT语句的统计功能118
5.2.1集合函数118
5.2.2GROUP BY子句120
5.3SELECT语句中的多表连接121
5.3.1交叉连接122
5.3.2内连接122
5.3.3外连接123
5.3.4自连接125
5.3.5合并查询126
5.4子查询127
5.4.1嵌套子查询127
5.4.2相关子查询130
5.4.3使用子查询向表中添加多条记录131
5.5数据库的视图132
5.5.1视图的概述132
5.5.2视图的创建134
5.5.3修改和查看视图137
5.5.4使用视图139
5.5.5删除视图143
5.6实训项目: 数据查询和视图的应用144
本章小结145
习题146第6章索引及其应用147
6.1索引概述147
6.1.1索引的功能147
6.1.2创建索引的原则148
6.1.3索引的分类149
6.2创建索引151
6.2.1系统自动创建索引151
6.2.2使用对象资源管理器创建索引151
6.2.3使用TSQL语句创建索引154
6.3管理和维护索引156
6.3.1查看和维护索引信息156
6.3.2更改索引标识156
6.3.3删除索引157
6.3.4索引的分析与维护157
6.4全文索引162
6.4.1使用对象资源管理器创建全文索引162
6.4.2使用TSQL语句创建全文索引169
6.5实训项目: 索引的创建及操作172
本章小结172
习题173第7章事务处理与锁174
7.1事务概述174
7.1.1事务的概念174
7.1.2事务的特征175
7.2事务处理175
7.3锁简介178
7.3.1SQL Server锁的模式179
7.3.2SQL Server中锁的查看180
7.4死锁及其排除简介182
7.5实训项目: 事务处理与锁的应用184
本章小结185
习题185第8章TSQL程序设计基础186
8.1批处理、脚本和注释186
8.1.1批处理186
8.1.2脚本188
8.1.3注释188
8.2常量、变量和表达式189
8.2.1常量189
8.2.2变量190
8.2.3运算符与表达式195
8.3流程控制语句199
8.3.1BEGIN…END语句199
8.3.2IF…ELSE…语句199
8.3.3CASE表达式201
8.3.4无条件转移语句GOTO203
8.3.5WAITFOR语句203
8.3.6WHILE语句203
8.3.7RETURN语句205
8.4系统内置函数205
8.4.1行集函数206
8.4.2聚合函数206
8.4.3标量函数207
8.5用户自定义函数218
8.5.1用户自定义函数的创建与调用219
8.5.2查看与修改用户自定义函数225
8.5.3删除用户自定义函数229
8.6游标及其使用229
8.6.1游标概述229
8.6.2游标的定义与使用231
8.7实训项目: TSQL程序设计238
本章小结238
习题239第9章存储过程240
9.1存储过程概述240
9.1.1存储过程的分类240
9.1.2存储过程的优点242
9.2创建和执行存储过程243
9.2.1系统表sysobjects243
9.2.2创建存储过程244
9.2.3创建不带参数的存储过程246
9.2.4存储过程的执行247
9.2.5带输入参数的存储过程249
9.2.6带输出参数的存储过程251
9.3存储过程的管理与维护254
9.3.1查看存储过程的定义信息254
9.3.2存储过程的修改256
9.3.3存储过程的重新编译258
9.3.4删除存储过程259
9.4实训项目: 存储过程的使用260
本章小结261
习题261第10章数据完整性与触发器262
10.1数据完整性的概念262
10.2数据完整性的分类263
10.3实体完整性的实现264
10.3.1创建PRIMARY KEY约束和UNIQUE约束264
10.3.2删除PRIMARY KEY约束和UNIQUE约束267
10.4域完整性的实现268
10.4.1CHECK约束的定义与删除268
10.4.2规则对象的定义、使用与删除272
10.4.3默认值约束的定义与删除274
10.4.4默认值对象的定义、使用与删除275
10.5参照完整性277
10.5.1参照完整性的实现277
10.5.2参照完整性的删除279
10.5.3使用TSQL语句管理参照完整性279
10.6标识列281
10.7用户自定义数据类型282
10.7.1创建用户自定义数据类型283
10.7.2删除用户自定义数据类型284
10.8触发器概述285
10.8.1触发器的优点285
10.8.2触发器的种类285
10.8.3使用触发器的限制286
10.9创建触发器287
10.9.1DML触发器的工作原理287
10.9.2创建DML触发器287
10.9.3创建DDL触发器293
10.10触发器的管理294
10.10.1触发器的查看294
10.10.2触发器的修改与删除295
10.10.3触发器的禁用和启用297
10.11实训项目: 数据完整性和触发器298
本章小结299
习题300第11章备份、恢复与导入、导出301
11.1备份与恢复的基本概念301
11.1.1备份与恢复的需求分析301
11.1.2备份数据库的基本概念302
11.1.3数据库恢复的概念304
11.2备份数据库305
11.2.1使用对象资源管理器备份数据库305
11.2.2创建备份设备307
11.2.3使用TSQL语句备份数据库308
11.3恢复数据库310
11.3.1恢复数据库前的准备310
11.3.2使用对象资源管理器恢复数据库313
11.3.3使用TSQL语句恢复数据库315
11.4导入与导出317
11.5实训项目: 备份、恢复与导入、导出325
本章小结325
习题325第12章SQL Server的安全管理326
12.1SQL Server的安全模型326
12.1.1SQL Server访问控制326
12.1.2SQL Server身份验证模式327
12.2服务器的安全性328
12.2.1创建和修改登录账户328
12.2.2禁止和删除登录账户334
12.2.3服务器角色336
12.3数据库的安全性337
12.3.1添加数据库用户337
12.3.2修改数据库用户339
12.3.3删除数据库用户340
12.4数据库用户角色340
12.4.1固定数据库角色340
12.4.2用户自定义的数据库角色341
12.4.3增加和删除数据库角色成员343
12.5权限344
12.5.1权限概述344
12.5.2权限的管理345
12.6实训项目: SQL Server的安全管理348
本章小结350
习题350第13章SQL Server开发与编程351
13.1ADO.NET简介351
13.1.1ADO.NET对象模型351
13.1.2.NET数据提供程序352
13.1.3数据集354
13.1.4数据集的核心对象355
13.2访问数据356
13.2.1SqlConnection类356
13.2.2SqlDataAdapter类358
13.2.3DataGrid控件359
13.2.4DataGridView控件360
13.3学生选课系统361
13.3.1学生选课系统简介361
13.3.2数据库设计361
13.3.3创建数据库和表363
13.3.4公共类363
13.3.5系统登录与主窗体366
本章小结394
本书是结合**的数据库技术知识在《SQL Server 2012实用教程》基础之上升级完成的。本书由浅入深地介绍了SQL Server 的基本管理与操作方法,所有内容均录制了微课视频,提供给读者使用,以期能更好地实现对知识和技能的掌握与运用。
李岩,教授,从事普通本科教学工作30年。主持科研课题8项,其中,“塑料大棚蔬菜的工业化生产”获黑龙江省科学技术进步三等奖;黑龙江省教改工程项目“公共课、基础课教学中加强学生素质和创新意识教育的研究与实践”获省优秀教学科研成果一等奖。在清华大学出版教材6部,包括《Visual FoxPro程序设计与应用》、《SQL Server2005实用教程》、《新编Visual FoxPro程序设计实用教程》、《SQL Server2012实用教程》等。在各级期刊上发表学术论文20篇。