图书目录

目录

第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.1TSQL的基本数据类型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概念模型的ER图表示217

9.3.3概念结构设计的方法218

9.3.4概念结构设计的步骤220

9.3.5局部ER图设计221

9.3.6全局ER图设计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使用TSQL语句进行备份与还原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章TSQL编程基础371

15.1TSQL 简介371

15.1.1什么是TSQL371

15.1.2TSQL与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