目录
第1章数据库系统概论1
1.1数据库概述1
1.1.1数据库的基本概念1
1.1.2数据库系统的特点10
1.1.3数据库技术的发展15
1.2数据库系统的组成19
1.3数据库系统的结构21
1.3.1数据库系统的内部结构21
1.3.2数据库系统的外部结构24
1.4三级模式和二级映像31
1.4.1三级模式结构31
1.4.2二级映像功能34
1.5SQL Server 2022安装与配置36
1.5.1获取SQL Server36
1.5.2安装SQL Server36
1.5.3配置SQL Server39
1.5.4管理SQL Server服务44
第2章关系数据库理论47
2.1关系的定义及性质47
2.1.1关系的定义47
2.1.2关系的性质50
2.2关系模式51
2.3关系的码52
2.4关系的完整性53
第3章SQL的基本概念57
3.1SQL简介57
3.2SQL的发展历程58
3.3SQL的语言分类60
3.4SQL的语法特点64
3.5SQL与其他数据库技术的关联65
第4章数据库的管理67
4.1创建数据库67
4.2查看数据库71
4.3选择数据库72
4.4修改数据库73
4.5删除数据库78
第5章数据表的管理和基本操作81
5.1TSQL的基本数据类型81
5.1.1数字类型81
5.1.2字符类型82
5.1.3时间日期类型83
5.1.4其他类型84
5.2数据表管理85
5.2.1创建数据表85
5.2.2数据表的约束86
5.2.3修改数据表88
5.2.4删除数据表91
5.2.5查看数据表92
5.3数据表基本操作92
5.3.1添加数据92
5.3.2修改数据94
5.3.3删除数据95
第6章数据表的查询97
6.1单表查询97
6.1.1单表查询语法格式97
6.1.2无条件查询98
6.1.3条件查询100
6.1.4排序查询102
6.1.5分组查询和聚合查询107
6.2多表查询114
6.2.1多表查询基础概念114
6.2.2内连接117
6.2.3外连接120
6.2.4交叉连接124
6.2.5自连接126
6.2.6多表查询的综合应用128
6.2.7多表查询的性能优化131
6.3子查询134
6.3.1子查询的基本概念134
6.3.2子查询的分类137
6.3.3子查询的嵌套141
6.4集合查询145
6.4.1集合查询基础概念145
6.4.2集合查询在教学信息系统中的应用146
第7章索引149
7.1索引概述149
7.1.1索引的定义与作用149
7.1.2索引在数据库系统中的重要性150
7.1.3与教学信息系统关系模式的关联引入151
7.2索引的类型151
7.2.1聚集索引151
7.2.2非聚集索引153
7.2.3唯一索引155
7.2.4复合索引157
7.3SQL Server 2022中索引的创建与管理158
7.3.1创建索引的语法与参数158
7.3.2查看索引信息161
7.3.3修改索引162
7.3.4删除索引164
7.4索引与查询优化165
7.4.1索引对查询执行计划的影响165
7.4.2索引覆盖查询167
7.4.3避免索引失效的情况168
7.5索引在教学信息系统中的综合案例分析169
7.5.1复杂查询场景下的索引设计169
7.5.2随着数据量增长的索引优化170
7.5.3索引优化前后的性能对比171
第8章视图173
8.1视图的基本概念173
8.1.1视图的定义与作用173
8.1.2视图与基本表的区别175
8.2视图的创建与删除178
8.2.1在 SQL Server 2022 中创建视图178
8.2.2视图的删除操作180
8.3视图的查询与更新181
8.3.1视图的查询操作181
8.3.2视图的更新规则184
8.4视图与数据完整性186
8.4.1视图对数据完整性的维护作用186
8.4.2视图更新与数据完整性约束的关系188
8.5视图与数据库安全性189
8.5.1视图在数据库安全方面的应用189
8.5.2视图与数据加密191
8.6视图在实际项目中的应用案例193
8.6.1企业级应用中的视图应用193
8.6.2互联网应用中的视图应用196
第9章数据库设计201
9.1数据库设计概述201
9.1.1数据库设计的任务201
9.1.2数据库设计的方法202
9.1.3数据库设计的阶段及主要内容203
9.2需求分析206
9.2.1需求分析的重要地位206
9.2.2需求分析的具体内容206
9.2.3需求分析的方法步骤208
9.2.4案例: 教学信息系统需求分析210
9.3概念结构设计216
9.3.1概念结构设计的任务216
9.3.2概念模型的ER图表示217
9.3.3概念结构设计的方法218
9.3.4概念结构设计的步骤220
9.3.5局部ER图设计221
9.3.6全局ER图设计223
9.4逻辑结构设计225
9.4.1逻辑结构设计的任务和步骤225
9.4.2关系模式转换原则226
9.4.3案例: 教学信息系统逻辑结构设计227
9.5物理结构设计231
9.5.1物理结构设计的任务231
9.5.2存储结构选择231
9.5.3索引策略设计233
9.5.4数据分布设计233
9.5.5形成物理结构设计文档234
9.6实施和运行维护235
9.6.1数据库实施235
9.6.2数据库运行维护237
第10章关系模式的规范化理论241
10.1规范化理论的相关基本概念241
10.2关系模式设计中常见的问题241
10.3函数依赖243
10.3.1函数依赖基本概念243
10.3.2函数依赖的类型剖析244
10.3.3函数依赖的性质与规则244
10.3.4函数依赖在数据库中的应用245
10.3.5函数依赖的检测与问题处理246
10.4范式及模式分解247
10.4.1范式的定义与分类247
10.4.2第一范式(1NF)248
10.4.3第二范式(2NF)249
10.4.4第三范式(3NF)249
10.4.5案例解析250
10.4.6范式的优缺点255
第11章数据库安全性管理257
11.1数据库安全概述257
11.1.1安全性的重要性257
11.1.2安全体系框架259
11.1.3安全控制类型262
11.2数据库安全威胁分析265
11.2.1典型威胁分类265
11.2.2威胁建模实践269
11.3访问控制机制272
11.3.1身份验证体系272
11.3.2权限管理模型274
11.3.3行级安全性277
11.4数据加密技术278
11.4.1加密体系架构278
11.4.2密钥管理实践281
11.4.3加密操作演示283
11.5审计与监控285
11.5.1审计体系构建285
11.5.2实时监控技术288
11.5.3审计日志分析290
11.6备份与恢复安全291
11.6.1备份加密291
11.6.2恢复策略292
11.7高级安全特性294
11.7.1动态数据脱敏294
11.7.2漏洞评估296
第12章数据库并发控制299
12.1并发控制概述299
12.1.1并发控制的必要性299
12.1.2事务的概念与特性300
12.1.3并发操作带来的问题302
12.2封锁技术304
12.2.1封锁的类型304
12.2.2三级封锁协议305
12.2.3活锁与死锁307
12.2.4死锁的预防与检测308
12.3并发调度的可串行性309
12.3.1可串行化的概念309
12.3.2冲突可串行化310
12.3.3优先图测试法311
12.4封锁的粒度311
12.4.1封锁粒度的概念311
12.4.2不同封锁粒度的优缺点312
12.4.3多粒度封锁314
12.5SQL Server 2022 中的并发控制315
12.5.1SQL Server 2022 的事务处理315
12.5.2SQL Server 2022 的锁机制315
12.5.3隔离级别316
12.5.4并发控制相关的视图317
第13章存储过程和触发器319
13.1存储过程概述319
13.1.1存储过程的定义与作用319
13.1.2存储过程的优点321
13.1.3SQL Server 2022中存储过程的特点324
13.2创建与执行存储过程326
13.2.1创建存储过程的语法326
13.2.2存储过程的参数传递327
13.2.3执行存储过程328
13.3存储过程的管理与维护329
13.3.1修改存储过程329
13.3.2删除存储过程330
13.3.3查看存储过程的定义与依赖关系330
13.4触发器概述331
13.4.1触发器的定义与作用331
13.4.2触发器的类型332
13.4.3SQL Server 2022 中触发器的特点334
13.5创建与管理触发器334
13.5.1创建触发器的语法334
13.5.2管理触发器336
13.5.3触发器的嵌套与递归337
第14章数据库备份与还原339
14.1数据库备份与还原概述339
14.1.1数据库备份与还原的定义与重要性339
14.1.2数据丢失的风险与备份策略的制定340
14.1.3SQL Server 2022备份与还原的特点与优势342
14.2数据库备份类型344
14.2.1全量备份344
14.2.2差异备份345
14.2.3事务日志备份346
14.3使用SQL Server Management Studio进行备份与还原347
14.3.1备份操作步骤347
14.3.2还原操作步骤349
14.3.3备份与还原选项设置350
14.4使用TSQL语句进行备份与还原351
14.4.1备份语句详解352
14.4.2还原语句详解354
14.4.3自动化备份脚本编写356
14.5备份存储与管理358
14.5.1备份存储介质选择358
14.5.2备份文件命名与管理361
14.5.3备份的验证与维护362
14.6数据库还原策略与实战364
14.6.1不同故障场景下的还原策略364
14.6.2还原到特定时间点367
14.6.3实战演练与案例分析367
第15章TSQL编程基础371
15.1TSQL 简介371
15.1.1什么是TSQL371
15.1.2TSQL与SQL Server 2022的关系373
15.2基本语法与数据类型374
15.2.1语句结构与语法规则374
15.2.2数据类型376
15.3变量与运算符377
15.3.1变量的定义与使用377
15.3.2运算符380
15.4流程控制语句383
15.4.1IF ELSE语句383
15.4.2CASE语句385
15.4.3WHILE循环386
15.5函数389
15.5.1内置函数389
15.5.2用户自定义函数392
15.6错误处理395
15.6.1错误处理的重要性395
15.6.2TRY CATCH结构396
15.6.3错误信息的获取与处理397
15.7实战案例与练习399
15.7.1综合案例分析: 学生成绩管理系统399
15.7.2练习题与实践项目404
第16章数据库编程407
16.1数据库编程概述407
16.1.1数据库编程的重要性407
16.1.2常见数据库编程语言介绍408
16.2Java数据库编程411
16.2.1JDBC概述411
16.2.2JDBC核心接口与类413
16.2.3JDBC操作示例416
16.2.4ORM框架(以Hibernate为例)418
16.3Python数据库编程419
16.3.1Python数据库编程概述419
16.3.2使用pymysql进行MySQL数据库编程421
16.3.3使用psycopg2进行PostgreSQL数据库编程423
16.3.4使用sqlite3进行SQLite数据库编程425
16.4数据库编程实战426
16.4.1综合案例分析(以教学信息系统为例)426
16.4.2项目部署与测试432
第17章数据库新技术435
17.1数据仓库与数据挖掘435
17.1.1数据仓库概述435
17.1.2数据挖掘438
17.1.3数据仓库与数据挖掘的联系441
17.2分布式数据库442
17.2.1分布式数据库的概念442
17.2.2分布式数据库的特点443
17.3大数据技术443
17.3.1大数据的概念443
17.3.2大数据技术444
17.3.3大数据的发展趋势445
17.4数据库新技术的未来展望445
