描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111654735
内容简介
本书在介绍数据库技术应用时注重结合数据库的理论知识,使实践与理论相结合。本书条理清晰,讲解详细,实例丰富,并用浅显的数据和图表讲解不好理解的知识。
目 录
前言
教学建议
第1章 关系数据库基础 1
1.1 数据管理的发展 1
1.1.1 文件管理系统 1
1.1.2 数据库管理系统 4
1.2 数据库系统与数据库管理系统 6
1.2.1 数据库系统的组成 6
1.2.2 数据库管理系统 7
1.3 数据和数据模型 7
1.3.1 概述 7
1.3.2 数据模型三要素 8
1.3.3 概念层数据模型 9
1.3.4 组织层数据模型 12
1.3.5 E-R模型向关系模型的转换 17
1.4 数据库系统的结构 18
1.4.1 三级模式结构 19
1.4.2 两级模式映像功能与数据独立性 20
1.5 关系数据库规范化理论 21
1.5.1 函数依赖 22
1.5.2 关系规范化 24
小结 27
习题 27
第2章 SQL Server 2017基础 29
2.1 SQL Server 2017的版本和组件 29
2.1.1 SQL Server 2017的版本 29
2.1.2 服务器组件 30
2.1.3 管理工具 30
2.1.4 各版本功能差异 31
2.1.5 安装资源要求 32
2.1.6 实例 33
2.2 安装SQL Server 2017 34
2.3 设置SQL Server服务启动方式 44
2.4 SQL Server Management Studio工具 45
2.4.1 连接到数据库服务器 45
2.4.2 查询编辑器 48
2.5 卸载SQL Server 2017实例 49
小结 50
习题 50
上机练习 50
第3章 数据库的创建与管理 51
3.1 SQL Server数据库概述 51
3.1.1 系统数据库 51
3.1.2 数据库的组成 52
3.1.3 数据库文件组 54
3.1.4 数据库文件的属性 55
3.2 创建数据库 56
3.2.1 用图形化方法创建数据库 56
3.2.2 用T-SQL语句创建数据库 59
3.3 查看和设置数据库选项 63
3.4 修改数据库 66
3.4.1 扩大数据库空间 66
3.4.2 收缩数据库空间 68
3.4.3 添加和删除数据库文件 74
3.4.4 创建和更改文件组 76
3.5 删除数据库 79
3.6 分离和附加数据库 80
3.6.1 分离数据库 80
3.6.2 附加数据库 82
3.7 移动数据库文件 85
小结 85
习题 86
上机练习 86
第4章 SQL基础 87
4.1 概述 87
4.1.1 SQL的发展 87
4.1.2 SQL的特点 88
4.1.3 SQL功能 88
4.2 系统提供的数据类型 88
4.2.1 数字类型 89
4.2.2 字符串类型 90
4.2.3 日期时间类型 92
4.3 用户定义的数据类型 93
4.3.1 创建用户自定义数据类型 93
4.3.2 删除用户自定义数据类型 95
4.4 T-SQL的基础知识 96
4.4.1 语句批 96
4.4.2 脚本 96
4.4.3 注释 97
4.5 变量 98
4.5.1 变量的种类 98
4.5.2 变量的声明与赋值 98
4.6 流程控制语句 99
小结 102
习题 102
上机练习 102
第5章 架构与基本表 103
5.1 架构 103
5.1.1 创建架构 103
5.1.2 在架构间传输对象 104
5.1.3 删除架构 105
5.2 基本表 105
5.2.1 用T-SQL语句实现 106
5.2.2 用SSMS工具实现 113
5.3 分区表 121
5.3.1 基本概念 121
5.3.2 创建分区表 122
5.3.3 创建分区函数 123
5.3.4 创建分区方案 125
小结 127
习题 127
上机练习 127
第6章 数据操作语言 130
6.1 数据查询语句 130
6.1.1 查询语句的基本结构 131
6.1.2 单表查询 132
6.1.3 多表连接查询 143
6.1.4 使用TOP限制结果集的行数 151
6.1.5 将查询结果保存到新表中 152
6.1.6 CASE表达式 153
6.2 数据更改功能 156
6.2.1 插入数据 156
6.2.2 更新数据 159
6.2.3 删除数据 161
小结 162
习题 162
上机练习 163
第7章 高级查询 165
7.1 子查询 165
7.1.1 嵌套子查询 165
7.1.2 相关子查询 173
7.1.3 其他形式的子查询 179
7.2 查询结果的并、交和差运算 180
7.2.1 并运算 180
7.2.2 交运算 183
7.2.3 差运算 184
7.3 其他查询功能 185
7.3.1 开窗函数 185
7.3.2 公用表表达式 194
7.3.3 MERGE语句 199
小结 206
习题 206
上机练习 206
第8章 索引 209
8.1 基本概念 209
8.2 索引存储结构及类型 210
8.2.1 B树结构 210
8.2.2 索引类型 211
8.3 创建索引 220
8.3.1 用SQL实现 220
8.3.2 用SSMS工具实现 232
8.3.3 设计索引注意事项 234
小结 235
习题 235
上机练习 236
第9章 视图 237
9.1 标准视图 237
9.1.1 基本概念 237
9.1.2 定义视图 237
9.1.3 通过视图查询数据 242
9.1.4 修改和删除视图 244
9.1.5 视图的作用 245
9.2 分区视图 245
9.3 索引视图 248
9.3.1 基本概念 248
9.3.2 定义索引视图 249
小结 252
习题 253
上机练习 253
第10章 存储过程和触发器 254
10.1 存储过程 254
10.1.1 存储过程的概念 254
10.1.2 创建和执行存储过程 255
10.1.3 从存储过程返回数据 260
10.1.4 查看和维护存储过程 261
10.1.5 一些系统存储过程 262
10.2 触发器 267
10.2.1 创建触发器 267
10.2.2 DML触发器示例 270
10.2.3 DDL触发器示例 275
10.2.4 查看和维护触发器 275
小结 278
习题 278
上机练习 278
第11章 函数和游标 280
11.1 用户自定义函数 280
11.
教学建议
第1章 关系数据库基础 1
1.1 数据管理的发展 1
1.1.1 文件管理系统 1
1.1.2 数据库管理系统 4
1.2 数据库系统与数据库管理系统 6
1.2.1 数据库系统的组成 6
1.2.2 数据库管理系统 7
1.3 数据和数据模型 7
1.3.1 概述 7
1.3.2 数据模型三要素 8
1.3.3 概念层数据模型 9
1.3.4 组织层数据模型 12
1.3.5 E-R模型向关系模型的转换 17
1.4 数据库系统的结构 18
1.4.1 三级模式结构 19
1.4.2 两级模式映像功能与数据独立性 20
1.5 关系数据库规范化理论 21
1.5.1 函数依赖 22
1.5.2 关系规范化 24
小结 27
习题 27
第2章 SQL Server 2017基础 29
2.1 SQL Server 2017的版本和组件 29
2.1.1 SQL Server 2017的版本 29
2.1.2 服务器组件 30
2.1.3 管理工具 30
2.1.4 各版本功能差异 31
2.1.5 安装资源要求 32
2.1.6 实例 33
2.2 安装SQL Server 2017 34
2.3 设置SQL Server服务启动方式 44
2.4 SQL Server Management Studio工具 45
2.4.1 连接到数据库服务器 45
2.4.2 查询编辑器 48
2.5 卸载SQL Server 2017实例 49
小结 50
习题 50
上机练习 50
第3章 数据库的创建与管理 51
3.1 SQL Server数据库概述 51
3.1.1 系统数据库 51
3.1.2 数据库的组成 52
3.1.3 数据库文件组 54
3.1.4 数据库文件的属性 55
3.2 创建数据库 56
3.2.1 用图形化方法创建数据库 56
3.2.2 用T-SQL语句创建数据库 59
3.3 查看和设置数据库选项 63
3.4 修改数据库 66
3.4.1 扩大数据库空间 66
3.4.2 收缩数据库空间 68
3.4.3 添加和删除数据库文件 74
3.4.4 创建和更改文件组 76
3.5 删除数据库 79
3.6 分离和附加数据库 80
3.6.1 分离数据库 80
3.6.2 附加数据库 82
3.7 移动数据库文件 85
小结 85
习题 86
上机练习 86
第4章 SQL基础 87
4.1 概述 87
4.1.1 SQL的发展 87
4.1.2 SQL的特点 88
4.1.3 SQL功能 88
4.2 系统提供的数据类型 88
4.2.1 数字类型 89
4.2.2 字符串类型 90
4.2.3 日期时间类型 92
4.3 用户定义的数据类型 93
4.3.1 创建用户自定义数据类型 93
4.3.2 删除用户自定义数据类型 95
4.4 T-SQL的基础知识 96
4.4.1 语句批 96
4.4.2 脚本 96
4.4.3 注释 97
4.5 变量 98
4.5.1 变量的种类 98
4.5.2 变量的声明与赋值 98
4.6 流程控制语句 99
小结 102
习题 102
上机练习 102
第5章 架构与基本表 103
5.1 架构 103
5.1.1 创建架构 103
5.1.2 在架构间传输对象 104
5.1.3 删除架构 105
5.2 基本表 105
5.2.1 用T-SQL语句实现 106
5.2.2 用SSMS工具实现 113
5.3 分区表 121
5.3.1 基本概念 121
5.3.2 创建分区表 122
5.3.3 创建分区函数 123
5.3.4 创建分区方案 125
小结 127
习题 127
上机练习 127
第6章 数据操作语言 130
6.1 数据查询语句 130
6.1.1 查询语句的基本结构 131
6.1.2 单表查询 132
6.1.3 多表连接查询 143
6.1.4 使用TOP限制结果集的行数 151
6.1.5 将查询结果保存到新表中 152
6.1.6 CASE表达式 153
6.2 数据更改功能 156
6.2.1 插入数据 156
6.2.2 更新数据 159
6.2.3 删除数据 161
小结 162
习题 162
上机练习 163
第7章 高级查询 165
7.1 子查询 165
7.1.1 嵌套子查询 165
7.1.2 相关子查询 173
7.1.3 其他形式的子查询 179
7.2 查询结果的并、交和差运算 180
7.2.1 并运算 180
7.2.2 交运算 183
7.2.3 差运算 184
7.3 其他查询功能 185
7.3.1 开窗函数 185
7.3.2 公用表表达式 194
7.3.3 MERGE语句 199
小结 206
习题 206
上机练习 206
第8章 索引 209
8.1 基本概念 209
8.2 索引存储结构及类型 210
8.2.1 B树结构 210
8.2.2 索引类型 211
8.3 创建索引 220
8.3.1 用SQL实现 220
8.3.2 用SSMS工具实现 232
8.3.3 设计索引注意事项 234
小结 235
习题 235
上机练习 236
第9章 视图 237
9.1 标准视图 237
9.1.1 基本概念 237
9.1.2 定义视图 237
9.1.3 通过视图查询数据 242
9.1.4 修改和删除视图 244
9.1.5 视图的作用 245
9.2 分区视图 245
9.3 索引视图 248
9.3.1 基本概念 248
9.3.2 定义索引视图 249
小结 252
习题 253
上机练习 253
第10章 存储过程和触发器 254
10.1 存储过程 254
10.1.1 存储过程的概念 254
10.1.2 创建和执行存储过程 255
10.1.3 从存储过程返回数据 260
10.1.4 查看和维护存储过程 261
10.1.5 一些系统存储过程 262
10.2 触发器 267
10.2.1 创建触发器 267
10.2.2 DML触发器示例 270
10.2.3 DDL触发器示例 275
10.2.4 查看和维护触发器 275
小结 278
习题 278
上机练习 278
第11章 函数和游标 280
11.1 用户自定义函数 280
11.
前 言
数据库技术主要研究如何存储、使用和管理数据,是计算机科学的重要分支,也是计算机技术中发展最快、应用最广的技术之一。目前,数据库技术已成为现代计算机信息系统和应用系统开发的核心技术,数据库已成为这些系统的组成核心,更是“信息高速公路”的支撑技术之一。
数据库的研究始于20世纪60年代中期,自诞生以来半个多世纪的时间里形成了坚实的理论基础、成熟的商业产品和广泛的应用领域。随着信息管理内容的不断扩展和新技术的不断出现,数据库新技术也层出不穷,如XML数据管理、数据流管理、Web数据集成、数据挖掘等。
目前数据库规模主要向两个方向发展:大的越来越大,小的越来越小。所谓大的,是指企业级数据库。若干年前,数据库存储的数据大多以吉字节(GB)为基准衡量,而现在用太字节(TB)甚至拍字节(PB)来衡量屡见不鲜。另一方面,数据库也会越来越小。比如有些数据库已被安装在手表中,这些手表中记录着天气、气压、佩戴者的血压和心跳等数据。数据的存储方式也从按行发展到按行和按列两种方式。以前数据库都以行的形式存储,是因为用户需要对单条数据进行读取和存储。而如今,单纯的数据记录已不足以满足企业需求,企业更需要的是数据分析和决策支持。因此,单纯看一条记录没有任何意义,而是要把所有数据的某一项都统计出来进行分析,这就是列的概念。
本书是面向计算机专业学生学习数据库实践知识编写的一本教材,选用Microsoft的SQL Server 2017作为实践平台。SQL Server具有友好的用户操作界面,功能全面且强大,有较大的市场占有率和很好的发展前景,非常适合用作学生的数据库实践平台。
本书主要包括两大部分内容,一部分是数据库管理方面的知识,这部分知识涵盖在第2、3、5、8、12、13、14章中,主要包括安装和配置SQL Server 2017数据库管理系统、创建与维护数据库、创建与维护关系表、创建分区表、构建索引、数据传输、备份和还原数据库、安全管理等内容。另一部分是数据库编程方面的知识,这部分知识涵盖在第4、6、7、9、10、11章中,主要包括SQL语言基础、基本数据操作语句、高级查询、视图、存储过程、触发器、函数和游标等内容。使用触发器主要是为了增强数据的完整性和一致性;使用存储过程主要是为了提高数据的操作效率,方便客户端的编程;使用函数主要是为了能实现一些复杂的数据操作和模块共享功能;使用游标可以实现对数据的逐行处理。为了方便没有数据库基础的读者学习和掌握数据库实践技能,本书特意用一章的篇幅(第1章)来介绍数据库中最常用的基础知识,读者在了解了第1章中介绍的知识后,可更方便地进行后续章节的学习。有数据库基础知识的读者可略去第1章内容。
本书内容覆盖了常用的数据库管理和编程技术,内容由浅入深。除包含一般数据库实践知识外,本书还全面介绍了数据库技术发展的新功能、新思想,这些新功能在SQL Server 2017版本中得到了全面的支持,包括开窗函数、分析函数、公用表表达式、筛选索引、包含列索引、分区表、索引视图(物化视图)、列索引等。
本书实例丰富、图文并茂,并紧密结合实际问题,从问题出发,循序渐进,给出解决问题的思路和方法,使读者能够更准确地理解和应用所学知识。本书非常适合作为学生了解数据库基础知识及后续学习的教材,同时也很适合作为有一定数据库基础的数据库爱好者进一步提高数据库实践能力的中级读物。
杜刚、李迎、迟易通、何玉书、何青、唐仲、李兰、李宗一、葛三敏等对本书编写工作提供了帮助,在此对他们表示衷心的感谢。
为了方便读者学习和实践所学知识,也为了便于更好地讲解某些知识,本书为读者提供了示例数据库MySimpleDB,该数据库的数据选自AdventureWorks数据库,读者可从华章网站下载该数据库。
笔者知道教学探索之路没有止境,没有最好,只有更好,真诚希望读者和同行朋友们对本书提出宝贵的意见和建议,笔者不胜感激。
数据库的研究始于20世纪60年代中期,自诞生以来半个多世纪的时间里形成了坚实的理论基础、成熟的商业产品和广泛的应用领域。随着信息管理内容的不断扩展和新技术的不断出现,数据库新技术也层出不穷,如XML数据管理、数据流管理、Web数据集成、数据挖掘等。
目前数据库规模主要向两个方向发展:大的越来越大,小的越来越小。所谓大的,是指企业级数据库。若干年前,数据库存储的数据大多以吉字节(GB)为基准衡量,而现在用太字节(TB)甚至拍字节(PB)来衡量屡见不鲜。另一方面,数据库也会越来越小。比如有些数据库已被安装在手表中,这些手表中记录着天气、气压、佩戴者的血压和心跳等数据。数据的存储方式也从按行发展到按行和按列两种方式。以前数据库都以行的形式存储,是因为用户需要对单条数据进行读取和存储。而如今,单纯的数据记录已不足以满足企业需求,企业更需要的是数据分析和决策支持。因此,单纯看一条记录没有任何意义,而是要把所有数据的某一项都统计出来进行分析,这就是列的概念。
本书是面向计算机专业学生学习数据库实践知识编写的一本教材,选用Microsoft的SQL Server 2017作为实践平台。SQL Server具有友好的用户操作界面,功能全面且强大,有较大的市场占有率和很好的发展前景,非常适合用作学生的数据库实践平台。
本书主要包括两大部分内容,一部分是数据库管理方面的知识,这部分知识涵盖在第2、3、5、8、12、13、14章中,主要包括安装和配置SQL Server 2017数据库管理系统、创建与维护数据库、创建与维护关系表、创建分区表、构建索引、数据传输、备份和还原数据库、安全管理等内容。另一部分是数据库编程方面的知识,这部分知识涵盖在第4、6、7、9、10、11章中,主要包括SQL语言基础、基本数据操作语句、高级查询、视图、存储过程、触发器、函数和游标等内容。使用触发器主要是为了增强数据的完整性和一致性;使用存储过程主要是为了提高数据的操作效率,方便客户端的编程;使用函数主要是为了能实现一些复杂的数据操作和模块共享功能;使用游标可以实现对数据的逐行处理。为了方便没有数据库基础的读者学习和掌握数据库实践技能,本书特意用一章的篇幅(第1章)来介绍数据库中最常用的基础知识,读者在了解了第1章中介绍的知识后,可更方便地进行后续章节的学习。有数据库基础知识的读者可略去第1章内容。
本书内容覆盖了常用的数据库管理和编程技术,内容由浅入深。除包含一般数据库实践知识外,本书还全面介绍了数据库技术发展的新功能、新思想,这些新功能在SQL Server 2017版本中得到了全面的支持,包括开窗函数、分析函数、公用表表达式、筛选索引、包含列索引、分区表、索引视图(物化视图)、列索引等。
本书实例丰富、图文并茂,并紧密结合实际问题,从问题出发,循序渐进,给出解决问题的思路和方法,使读者能够更准确地理解和应用所学知识。本书非常适合作为学生了解数据库基础知识及后续学习的教材,同时也很适合作为有一定数据库基础的数据库爱好者进一步提高数据库实践能力的中级读物。
杜刚、李迎、迟易通、何玉书、何青、唐仲、李兰、李宗一、葛三敏等对本书编写工作提供了帮助,在此对他们表示衷心的感谢。
为了方便读者学习和实践所学知识,也为了便于更好地讲解某些知识,本书为读者提供了示例数据库MySimpleDB,该数据库的数据选自AdventureWorks数据库,读者可从华章网站下载该数据库。
笔者知道教学探索之路没有止境,没有最好,只有更好,真诚希望读者和同行朋友们对本书提出宝贵的意见和建议,笔者不胜感激。
何玉洁
2019年10月
评论
还没有评论。