计算机基础教育 > 数据库类

SQL Server数据库设计与应用(第2版)

书号:9787113298784 套系名称:“十四五”高等职业教育新形态一体化系列教材

作者:张成叔 出版日期:2023-02-01

定价:59.80 页码 / 开本: /16

策划编辑:汪敏 责任编辑:汪敏 张彤

适用专业:计算机类 适用层次:高职教育

最新印刷时间:

资源下载
教学课件 教学素材
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书以数据库设计为主线,以“增、删、改、查”为核心技能,通过“教学做一体化”的内容体系、“项目案例一体化”的技能体系和“新形态立体化”的展示形式,通过“理论+实训”的高度融合实现了“教—学—做”的有机结合,以提高学生学习的积极性。
    本书配套有微课视频、课程标准、授课计划、电子教案、授课用PPT、课后习题解析、项目案例及源代码等数字化资源,配套的大规模在线开放课程已经在“智慧职教MOOC学院”(网址:https://icve-mooc.icve.com.cn)上线,授课教师可以通过本课程构建符合自身教学特点和要求的SPOC课程。本书配套线上课程在“B站”、“抖音”、“网易云课堂”和“腾讯课堂”等平台都已经上线。读者可以到相应的平台,搜索课程名称或者主编“张成叔”,选择课程后进行线上学习。
    本书以SOL Server2019数据库为平台,案例取材于生产、生活实际,数据库设计遵循企业规范,充分体现职业性。本书可作为高等职业院校和应用型本科院校数据库类课程的教材,也适合作为计算机爱好者的参考书。
  • 前言
    欲闯“IT江湖”、逐鹿“DT时代”,必先锋T-SQL利器!
    大数据(BD,Big Data)和人工智能(AI,Artificial Intelligence)变成各行各业中最时髦的词汇。如何有效过滤纷繁复杂的海量数据、如何快速从网上的海量数据中“淘”出有用的信息,已经是当今职场上必备的核心能力了。所以“如何存放、如何高效地进行数据库设计和查询”是本书要解决的核心能力。
    SQL Server是微软公司重量级的产品,定位于企业级数据库,运行稳定、操作方便,得到广大中小型企业的普遍好评。其继承了Windows系列产品图形模式的特点,提供简单易用的管理平台,常用的数据管理功能在Microsoft SQL Server Management Studio(SSMS)中基本可以全部完成。
    本书在第一版的基础上,结合两年来的教学实践、教师和读者的反馈,根据新技术发展的需要,将软件版本从SQL Server 2008升级到SQL Server 2019,对内容进行了整合,将原来的“简单数据查询、模糊查询和聚合函数”两部分内容整合为一个部分“单表查询和数据统计”,“使用T-SQL语句创建数据库和表、T-SQL编程”两部分内容整合为一个部分“T-SQL语句创建数据库和编程”。
    编者在20多年的教学实践中深刻体会到“数据库设计与应用”是一门实践性很强的课程,对专业技能提升的影响度高达80%。经过调查发现,多数学生的体会是“入门感觉很轻松、提升感觉很吃
    力、应用感觉很可怕”,主要原因体现在“通过SSMS建库建表很轻松、添加约束很迷茫、‘增删改查’记不住、设计项目不可能”。针对这些问题,本书彻底打破市场上大多数教材的编写原则,通过“教学做一体化”的内容体系、“项目案例一体化”的技能体系和“新形态立体化”的展示形式,通过“理论+实训”的高度融合实现了“教—学—做”的有机结合,通过具体项目驱动学生学习的积极性。
    本书具有以下特点:
    1.课程思政,服务立德树人
    本书各章都充分融入“课程思政”元素,包括数据和账户的安全、个人信息的保护、数据处理的规范性、数据库设计的科学性、项目开发的团队能力培养、个人素养和社会责任的养成,更好地服务职业教育立德树人的根本任务。
    2.案例驱动,服务教育教学
    按照“互联网+”的思维模式:“实用主义永远比完美主义更完美”,实用才能体现一门课程的价值。“数据库设计与应用”是计算机相关专业的专业核心课,按照“项目经验”培养的核心任务,按照“螺旋形”的提升模式,本书共设计了5个项目:课内“教学做”项目1个——“高校学习成绩管理SchoolDB数据库”,课后巩固提升项目2个——“网吧计费NetBar数据库”(第1-5章)和“图书管理系统Library数据库”(第7-11章),阶段项目1个——“QQ数据库管理”和课程项目1个——“银行ATM系统的数据库设计与实现”。按照“基本技能项目练习—阶段项目技能练习—课程项目技能练习”的学习过程,快速提升学生的专业技能和项目经验,更加符合职业教育的要求,也更加符合教学的规律和学习的规律。
    3.立体化设计,服务课程建设
    本书采用新形态立体化设计,配套丰富的数字化教学资源,包括微课视频、教学设计、教学PPT、案例素材、习题答案等,为课程建设提供了足够的资源,学习者可以通过扫描书中的二维码进行微课视频的学习,这种形式既丰富了学习手段和形式又提高了学习兴趣和效率。
    4.搭建MOOC,服务线上线下
    本书配套的大规模在线开放课程已经在“智慧职教MOOC学院”(网址:https://icve-mooc.icve.com.cn)上线,本书配套线上课程在“B站”、“抖音”、“网易云课堂”和“腾讯课堂”等平台都已经上线。各位读者可以到相应的平台,搜索课程名称或者主编“张成叔”,选择课程后进行线上学习。
    该教材配套立体化资源库组成如下图所示。
    
    本书以SOL Server2019数据库为平台,内容共分3部分:基础技能部分、提升技能部分和综合技能部分。
    基础技能部分为第1-5章。第1-2章分别学习创建和管理数据库、创建和管理数据表;第3章学习使用T-SQL语句操作数据表和数据的导入导出;第4-5章分别学习单表数据查询和数据统计、分组查询和多表联合查询。
    提升技能部分为第7-11章。第7章学习程序员日常创建、删除数据库和表以及控制T-SQL代码程序逻辑的专业方法,对数据库的所有操作均使用T-SQL语句来实现;第8-9章是在第4-5章的基础上学习子查询、索引、视图和事务,用以模拟现实中的事务,处理较复杂的业务需求,并确保处理数据的高效性和安全性;第10章介绍T-SQL语句能否高效利用、能否减少执行时间,学习具有预编译功能的存储过程,体会存储过程为数据库应用程序开发带来的优势;第11章学习数据库的设计,学习什么是规范的数据库设计及它带来的好处,从而抛弃那些不符合规范的做法。
    综合技能部分为第6章和第12章。第6章为阶段技能项目“QQ数据库管理”,安排在基础技能掌握之后进行阶段性综合技能提升。第12章为课程技能项目“银行ATM系统的数据库设计与实现”,模拟
    一套ATM存取款机系统,对应银行日常的存款、取款和转账业务,保证数据的安全性和高效性。
    本书由张成叔(安徽财贸职业学院)任主编,陈彩红(山西工程职业学院)、胡龙茂(安徽财贸职业学院)、刘淑芝(焦作师范高等专科学校)、钱春阳(合肥职业技术学院)和茹兴旺(安徽工商职业学院)任副主编,朱静(安徽审计职业学院)、刘兵(铜陵职业技术学院)、尹蓉(徽商职业学院)、
    胡配祥(安徽财贸职业学院)、靳继红(焦作师范高等专科学校)、付遥银(安徽财贸职业学院)、
    周姣(安徽财贸职业学院)、汪治理(安徽财贸职业学院)和李沐烟(安徽财贸职业学院)参与编写。第1章和第12章由张成叔编写,第2章由胡龙茂编写,第3章由陈彩红编写,第4章由刘淑芝编写,第5章和第10章由尹蓉编写,第6章由刘兵编写,第7章由钱春阳编写,第8章由靳继红编写,
    第9章由朱静编写,第11章由茹兴旺编写。胡配祥、付遥银、周姣、汪治理和李沐烟参与了校对和资源制作。项目案例和配套资源库由张成叔和胡龙茂共同开发完成。教材微课视频和MOOC主要由
    张成叔设计、制作和搭建。全书由张成叔统稿和定稿。
    本书开发团队中邀请了多位企业资深工程师参加,主要有腾讯云计算(北京)有限责任公司的刘萌博士和国家“1+X证书”评价组织东软教育科技集团的金焱高级工程师。他们主要参与了项目的遴选、设计、拆解和代码的编写,对阶段项目和课程项目做了很好的优化,使之更加符合企业岗位需求,同时还对线上课程的搭建给予很好的指导,使其更加符合线上学习的规律和学习者的兴趣。
    本书所配教学资源请从中国铁道出版社有限公司网站(hppt://www.tdpress.com/51eds/)下载或直接与编者联系:微信(QQ):7153265,抖音:zcs13955155470,E-mail:zhangchsh@163.com。
    由于编者水平所限,书中不足之处,请广大读者批评指正。
  • 目录
    第1章创建和管理数据库 1
    1.1认识数据库系统 2
    1.1.1数据库基本概念 2
    1.1.2常用数据库系统 2
    1.2认识和安装SQL Server 2019
     数据库系统 3
    1.2.1SQL Server 2019的版本 3
    1.2.2安装SQL Server 2019数据库
               系统 4
    【技能训练1-1】下载并安装SQL Server
     2019和SSMS集成化开发环境 8
    1.3登录SQL Server数据库 9
    1.3.1建立数据库服务器连接 9
    【技能训练1-2】连接到数据库服务器 10
    1.3.2新建数据库登录名 11
    【技能训练1-3】新建数据库登录名
    SchoolMaster 13
    1.4创建和管理SchoolDB数据库 13
    1.4.1数据库文件 13
    1.4.2系统数据库 14
    1.4.3创建数据库和数据库用户 14
    【技能训练1-4】创建SchoolDB
    数据库和数据库用户 16
    1.4.4分离和附加数据库 17
    【技能训练1-5】分离和附加数据库
    SchoolDB 18
    1.4.5数据库的备份和还原 19
    1.4.6删除数据库 20
    【技能训练1-6】备份和删除数据库
    SchoolDB 21
    本章总结 21
    习题................................................................................................22
    第2章创建和管理数据表 24
    2.1数据表的完整性 25
    2.1.1实体和记录 25
    2.1.2数据完整性 25
    2.1.3主键和外键 27
    2.2创建数据表 27
    2.2.1数据类型 27
    2.2.2使用SSMS创建数据表 28
    【技能训练2-1】创建SchoolDB
    数据库中的4张数据表 29
    2.3完善数据表的结构设计 30
    2.3.1是否允许为空值 30
    【技能训练2-2】设计Student和Result
    表中允许为空的字段 31
    2.3.2建立主键 32
    【技能训练2-3】设计SchoolDB
    数据库中的4张数据表的主键 32
    2.3.3默认值 32
    【技能训练2-4】设计Student表的
    默认值 33
    2.3.4建立检查约束 34
    
    【技能训练2-5】设计SchoolDB数
    据库中的数据表的检查约束 34
    2.3.5标识列 35
    【技能训练2-6】设计SchoolDB
    数据库中的数据表的标识列 35
    2.4 建立数据表间关系 36
    2.4.1设置外键约束 36
    【技能训练2-7】建立SchoolDB
    数据库中表间关系 37
    2.4.2建立数据库关系图 38
    【技能训练2-8】创建SchoolDB
    数据库关系图 39
    2.5 删除数据表 39
    本章总结 39
    习题................................................................................................40
    第3章使用T-SQL操作数据表和
    数据的导入导出 43
    3.1 T-SQL简介 44
    3.1.1 SQL和T-SQL 44
    3.1.2T-SQL中的运算符 44
    3.2 使用T-SQL向数据表中插入
             数据 46
    3.2.1使用INSERT语句插入数据 46
    【技能训练3-1】向数据库SchoolDB的
    3张表分别插入数据 48
    3.2.2一次插入多行数据 52
    【技能训练3-2】为SchoolDB数据库
    创建学生通讯录 53
    3.3 使用T-SQL更新数据表中的
              数据 54
    【技能训练3-3】更新SchoolDB的
    数据表中数据 55
    3.4 T-SQL删除数据表中的数据 56
    【技能训练3-4】删除SchoolDB的
    数据表中数据 57
    3.5 数据的导入和导出 58
    3.5.1数据的导出 58
    【技能训练3-5】导出SchoolDB的
    数据表中所有表数据 60
    3.5.2数据的导入 60
    【技能训练3-6】向SchoolDB的
    数据表中导入数据 62
    本章总结 62
    习题................................................................................................63
    第4章单表查询和数据统计 66
    4.1 T-SQL查询基础 67
    4.1.1使用SELECT语句进行查询 67
    【技能训练4-1】对SchoolDB
    数据库的Subject表和Student表
    进行简单查询 71
    4.1.2使用ORDER BY进行查询排序 72
    【技能训练4-2】使用排序查询学生
    相关信息 73
    4.2 在查询中使用函数 73
    4.2.1字符串函数 73
    4.2.2日期函数 75
    4.2.3数学函数 77
    4.2.4系统函数 77
    【技能训练4-3】在SchoolDB数据库中
    使用函数查询学生相关信息 78
    【技能训练4-4】函数综合技能训练 78
    4.3 模糊查询 80
    4.3.1通配符 80
    4.3.2使用LIKE进行模糊查询 80
    【技能训练4-5】使用LIKE对
    SchoolDB的数据表进行模糊
    查询 81
    4.3.3使用BETWEEN在某个范围内
               进行查询 82
    【技能训练4-6】使用BETWEEN对
    SchoolDB的数据表进行模糊查询 83
    4.3.4使用IN在列举值内进行查询 84
    【技能训练4-7】使用IN对SchoolDB
    的数据表进行模糊查询 85
    4.4 T-SQL中的聚合函数 85
    4.4.1SUM()函数 86
    4.4.2AVG()函数 87
    4.4.3MAX()函数和MIN()函数 88
    4.4.4COUNT()函数 89
    【技能训练4-8】使用聚合函数对
    SchoolDB的数据表进行汇总查询 89
    本章总结 90
    习题................................................................................................91
    第5章分组查询和多表联合查询 97
    5.1 分组查询 98
    5.1.1使用GROUP BY进行分组查询 98
    【技能训练5-1】使用GROUP BY
    对数据库SchoolDB的数据表进行分组
    查询 103
    5.1.2使用HAVING子句进行分组
               筛选 106
    【技能训练5-2】使用HAVING子句对
    SchoolDB的数据表进行分组筛选
    统计 109
    5.2 多表联合查询 111
    5.2.1内连接查询 112
    【技能训练5-3】使用内连接对
    SchoolDB的数据表进行多表查询 116
    5.2.2外连接查询 119
    【技能训练5-4】使用外连接对
    SchoolDB的数据表进行多表查询 121
    本章总结 122
    习题............................................................................................. 123
    第6章阶段项目——QQ数据库
            管理 127
    6.1 项目分析 128
    6.1.1项目概述 128
    6.1.2 开发环境 128
    6.1.3项目覆盖的技能要点 128
    6.1.4项目需求分析 128
    6.2 项目需求实现 129
    6.2.1创建QQ数据库及登录名 129
    6.2.2创建表结构 130
    6.2.3添加约束 130
    6.2.4建立表间关系 130
    6.2.5插入模拟数据 131
    6.2.6查询数据 132
    6.2.7修改数据 136
    6.2.8删除数据 136
    6.2.9分离数据库 137
    6.3 进度记录 137
    本章总结 137
    习题..............................................................................................138
    第7章T-SQL创建数据库和
            编程 140
    7.1 用T-SQL语句创建和删除
              数据库 141
    7.1.1用T-SQL语句创建数据库 141
    【技能训练7-1】用T-SQL语句创建
    SchoolDB02数据库 144
    7.1.2用T-SQL语句删除数据库 144
    
    【技能训练7-2】用T-SQL语句删除
    SchoolDB02数据库 145
    7.2 用T-SQL语句创建和删除
             数据表 146
    7.2.1用T-SQL语句创建表 146
    【技能训练7-3】用T-SQL语句创建
    学期表Grade、课程表Subject和成
    绩表Result 149
    7.2.2用T-SQL语句删除表 150
    【技能训练7-4】用T-SQL语句删
    除数据库SchoolDB02中的数据表 151
    7.3 用T-SQL语句创建和删除
             数据表的约束 151
    7.3.1用T-SQL语句添加约束 151
    【技能训练7-5】使用T-SQL语句
    为Grade、Student、Subject、Result表
    添加约束 154
    7.3.2用T-SQL语句删除约束 155
    【技能训练7-6】用T-SQL语句删除
    数据库SchoolDB02中数据表的约束 155
    7.4 T-SQL的变量和输出语句 156
    7.4.1局部变量 156
    7.4.2全局变量 160
    【技能训练7-7】声明并使用局部
    变量用 160
    7.4.3输出语句 161
    7.4.4类型转换函数 163
    【技能训练7-8】类型转换函数的
    综合应用 164
    7.5 T-SQL逻辑控制语句 166
    7.5.1BEGIN-END语句块 166
    7.5.2IF-ELSE语句 166
    【技能训练7-9】   IF-ELSE语句的
    综合应用 168
    7.5.3CASE多分支语句 169
    【技能训练7-10】   CASE语句的
    综合应用 172
    7.5.4WHILE循环语句 172
    【技能训练7-11】   WHILE循环控制
    语句综合应用 174
    7.6 批处理语句 175
    本章总结 177
    习题............................................................................................. 178
    第8章子查询 184
    8.1 简单子查询 185
    【技能训练8-1】使用子查询的方式
    查询指定课程的考试成绩 190
    8.2 IN和NOT IN子查询 191
    8.2.1IN子查询 191
    【技能训练8-2】使用IN子查询实现
    查询某个学期开设的课程信息 194
    8.2.2NOT IN子查询 195
    【技能训练8-3】查询“Java面向对
    象设计”最近一次考试缺考的学生
    名单 198
    8.3 EXISTS和NOT EXISTS子
             查询 198
    8.3.1EXISTS子查询 198
    8.3.2NOT EXISTS子查询 202
    【技能训练8-4】更新Student表中
    学期为“S1”学期学生的学期
    为“S2” 205
    本章总结 206
    习题............................................................................................ 206
    第9章索引、视图和事务 209
    9.1 索引 210
    9.1.1什么是索引 210
    9.1.2索引分类 210
    9.1.3创建索引 211
    【技能训练9-1】创建并使用索引
    查询学生考试成绩 214
    9.1.4查看索引 215
    9.1.5删除索引 216
    【技能训练9-2】删除学生表Student
    表中的全部索引 218
    9.2 视图 218
    9.2.1什么是视图 218
    9.2.2创建和使用视图 219
    【技能训练9-3】创建并使用视图查
    看学生各学期考试成绩 223
    9.3 事务 224
    9.3.1事务的价值 224
    9.3.2什么是事务 227
    9.3.3执行事务 228
    【技能训练9-4】使用事务批量插入
    学生考试成绩 231
    本章总结 232
    习题............................................................................................. 233
    第10章存储过程 237
    10.1 存储过程概述 238
    10.1.1什么是存储过程 238
    10.1.2存储过程的优点 238
    10.2 系统存储过程 239
    10.2.1常用的系统存储过程 239
    10.2.2常用的扩展存储过程 241
    【技能训练10-1】使用存储过程查看
    数据库表的信息 242
    10.3 用户自定义存储过程 243
    10.3.1创建不带参数的存储过程 244
    【技能训练10-2】使用不带参数的
    存储过程查询获得各学期的课程名
    称和课时数 247
    10.3.2创建带输入参数的存储过程 248
    【技能训练10-3】使用存储过程查
    看指定学期所开设的课程信息 252
    10.3.3创建带输出参数的存储过程 253
    【技能训练10-4】使用带输入和输出
    参数的存储过程,查询获得指定学期
    的课程名称和课时,统计该学期的课
    程数和总课时 257
    本章总结 259
    习题............................................................................................. 259
    第11章数据库设计与优化 262
    11.1 数据库设计概述 263
    11.1.1为什么需要数据库设计 263
    11.1.2数据库设计步骤 264
    11.2 宾馆管理系统的概念设计 266
    11.2.1实体-关系模型 266
    11.2.2关系数据库模式 268
    【技能训练11-1】为图书管理系统绘
    制实体关系图(E-R图) 269
    11.3 宾馆管理系统的逻辑设计 269
    11.3.1E-R图向关系模型的转化 269
    11.3.2绘制数据库模型图 271
    【技能训练11-2】绘制图书管理系统
    数据库模型图 273
    11.4 宾馆管理系统的数据规范化 273
    11.4.1设计中存在的问题 273
    11.4.2规范设计 274
    【技能训练11-3】以3NF为目标规范
    化图书管理系统数据库设计 278
    本章小结 278
    习题............................................................................................. 279
    第12章课程项目——银行ATM
    系统数据库的设计与
    实现 281
    12.1 项目分析 282
    12.1.1需求概述 282
    12.1.2开发环境 282
    12.1.3项目覆盖的技能要点 282
    12.1.4需求分析 282
    12.2 项目需求实现 284
    12.2.1数据库设计 284
    12.2.2创建数据库、表和添加约束 285
    12.2.3插入测试数据 285
    12.2.4模拟常规业务 288
    12.2.5创建和使用视图 291
    12.2.6使用存储过程实现业务处理 292
    12.2.7利用事务实现较复杂的数据
      更新 300
    12.2.8数据库账户访问权限设置 303
    12.3 进度记录 303
    本章总结 303
    习题............................................................................................ 304
    
  • 张成叔,安徽财贸职业学院 信息工程学院 院长。全国职业院校技能大赛裁判长,安徽省线上教学名师。中国计算机学会(CCF)高级会员、CCF VC执行委员、CCF传播工委传播大使、CCF VR工作组组长,安徽省高校计算机教育研究会职教专委会副主任。主编教材30余本,其中主编“十二五”国家规划教材《办公自动化技术与应用》、主编“十三五”国家级规划教材《C语言程序设计》、主编“十四五”国家级规划教材《C语言程序设计》和《信息技术基础》。获国家发明专利1项,获安徽省教学成果一等奖4项、二等奖6项、三等奖5项。主持安徽省质量工程和自然科学项目近20项,发表教科研论文20余篇,指导学生获全国技能大赛一等奖3项、安徽省技能大赛一等奖20余项。
  • 本书可作为高等职业院校和应用型本科院校数据库类课程的教材,也适合作为计算机爱好者的参考书。