图书目录

目  录

第1篇 基 础 知 识

第1章  数据库基础 2

 视频讲解:33分钟

1.1  数据库系统简介 2

1.1.1  数据库技术的发展 2

1.1.2  数据库系统的组成 3

1.2  数据库的体系结构 3

1.2.1  数据库三级模式结构 4

1.2.2  三级模式之间的映射 5

1.3  数据模型 5

1.3.1  数据模型的概念 6

1.3.2  常见的数据模型 6

1.3.3  关系数据库的规范化 7

1.3.4  关系数据库的设计原则 7

1.3.5  实体与关系 8

1.4  常见关系数据库 8

1.4.1  Access数据库 8

1.4.2  SQL Server数据库 8

1.4.3  Oracle数据库 9

1.4.4  MySQL数据库 9

1.5  小结 9

1.6  实践与练习 9

第2章  SQL Server数据库环境搭建 10

 视频讲解:43分钟

2.1  SQL Server数据库简介 10

2.2  SQL Server 2022的安装与卸载 10

2.2.1  SQL Server 2022安装必备条件 11

2.2.2  下载SQL Server 2022安装引导文件 11

2.2.3  下载和安装SQL Server 2022安装文件 12

2.2.4  安装SQL Server Management Studio

管理工具 17

2.2.5  启动SQL Server管理工具 18

2.2.6  SQL Server 2022的卸载 19

2.3  小结 20

第3章  创建与管理数据库 21

 视频讲解:23分钟

3.1  认识数据库 21

3.1.1  数据库基本概念 21

3.1.2  数据库常用对象 22

3.1.3  数据库组成 23

3.1.4  系统数据库 24

3.2  SQL Server的命名规则 24

3.2.1  标识符命名规则 24

3.2.2  对象命名规则 26

3.2.3  实例命名规则 26

3.3  数据库的创建与管理 26

3.3.1  创建数据库 27

3.3.2  修改数据库 31

3.3.3  删除数据库 33

3.4  小结 35

3.5  实践与练习 35

第4章  操作数据表 36

 视频讲解:74分钟

4.1  数据表基础 37

4.1.1  基本数据类型 37

4.1.2  用户自定义数据类型 38

4.1.3  数据表的数据完整性 39

4.2  数据表的创建与管理 40

4.2.1  以界面方式操作数据表 41

4.2.2  使用CREATE TABLE语句创建表 42

4.2.3  使用ALTER TABLE语句修改表结构 45

4.2.4  使用DROP TABLE语句删除表 46

4.3  管理数据 47

4.3.1  使用INSERT语句添加数据 47

4.3.2  使用UPDATE语句修改数据 48

4.3.3  使用DELETE语句删除数据 49

4.4  创建、删除和修改约束 49

4.4.1  非空(NOT Null)约束 50

4.4.2  主键(PRIMARY KEY)约束 50

4.4.3  唯一(UNIQUE)约束 51

4.4.4  检查(CHECK)约束 53

4.4.5  默认(DEFAULT)约束 54

4.4.6  外键(FOREIGN KEY)约束 55

4.5  关系的创建与维护 57

4.5.1  一对一关系 57

4.5.2  一对多关系 58

4.5.3  多对多关系 59

4.6  小结 59

4.7  实践与练习 60

第2篇 核 心 技 术

第5章  SQL基础 62

 视频讲解:106分钟

5.1  SQL概述 62

5.1.1  SQL的组成 63

5.1.2  SQL语句结构 63

5.1.3  SQL语句分类 64

5.2  常量 64

5.2.1  数字常量 64

5.2.2  字符串常量 65

5.2.3  日期和时间常量 65

5.2.4  符号常量 65

5.3  变量 65

5.3.1  局部变量 65

5.3.2  全局变量 67

5.4  注释符、运算符与通配符 68

5.4.1  注释符 68

5.4.2  运算符 69

5.4.3  通配符 72

5.5  流程控制 72

5.5.1  BEGIN...END 72

5.5.2  IF 73

5.5.3  IF…ELSE 74

5.5.4  CASE 75

5.5.5  WHILE 77

5.5.6  WHILE…CONTINUE…BREAK 78

5.5.7  RETURN 79

5.5.8  GOTO 79

5.5.9  WAITFOR 80

5.6  常用命令 80

5.6.1  DBCC 81

5.6.2  CHECKPOINT 82

5.6.3  DECLARE 82

5.6.4  PRINT 83

5.6.5  RAISERROR 84

5.6.6  READTEXT 85

5.6.7  BACKUP 85

5.6.8  RESTORE 86

5.6.9  SELECT 88

5.6.10  SET 89

5.6.11  SHUTDOWN 90

5.6.12  WRITETEXT 90

5.6.13  USE 91

5.7  小结 92

5.8  实践与练习 92

第6章  SQL函数的使用 93

 视频讲解:68分钟

6.1  聚合函数 93

6.1.1  聚合函数概述 94

6.1.2  SUM(求和)函数 94

6.1.3  AVG(平均数)函数 95

6.1.4  MIN(最小值)函数 96

6.1.5  MAX(最大值)函数 96

6.1.6  COUNT(统计)函数 97

6.1.7  DISTINCT(去重)函数 98

6.1.8  查询重复记录 99

6.2  数学函数 99

6.2.1  数学函数概述 100

6.2.2  ABS(绝对值)函数 100

6.2.3  PI(圆周率)函数 101

6.2.4  POWER(乘方)函数 101

6.2.5  RAND(随机浮点数)函数 101

6.2.6  ROUND(四舍五入)函数 102

6.2.7  SQUARE(平方)函数和SQRT(平

方根)函数 103

6.2.8  三角函数 104

6.3  字符串函数 106

6.3.1  字符串函数概述 106

6.3.2  ASCII(获取ASCII码)函数 106

6.3.3  CHARINDEX(返回字符串的起始

位置)函数 108

6.3.4  LEFT(取左边指定个数的字符)函数 109

6.3.5  RIGHT(取右边指定个数的字符)函数 109

6.3.6  LEN(返回字符个数)函数 110

6.3.7  REPLACE(替换字符串)函数 110

6.3.8  REVERSE(返回字符表达式的反转)

函数 111

6.3.9  STR(将数字数据转为字符数据)函数 111

6.3.10  SUBSTRING(取字符串)函数 112

6.4  日期和时间函数   113

6.4.1  日期和时间函数概述 113

6.4.2  GETDATE(返回当前系统日期和

时间)函数 113

6.4.3  DAY(返回指定日期的天)函数 114

6.4.4  MONTH(返回指定日期的月)函数 114

6.4.5  YEAR(返回指定日期的年)函数 114

6.4.6  DATEDIFF(返回日期和时间的边

界数)函数 115

6.4.7  DATEADD(添加日期时间)函数 116

6.5  转换函数 117

6.5.1  转换函数概述 117

6.5.2  CAST函数 118

6.5.3  CONVERT函数 118

6.6  元数据函数 120

6.6.1  元数据函数概述 120

6.6.2  COL_LENGTH(数据列的定义长度)

函数 121

6.6.3  COL_NAME(数据库列的名称)函数 122

6.6.4  DB_NAME(数据库名)函数 122

6.7  小结 122

6.8  实践与练习 123

第7章  SQL数据查询基础 124

 视频讲解:59分钟

7.1  SELECT检索数据 124

7.1.1  SELECT语句的基本结构 125

7.1.2  WITH子句 126

7.1.3  SELECT…FROM子句 127

7.1.4  INTO子句 131

7.1.5  WHERE子句 131

7.1.6  GROUP BY子句 141

7.1.7  HAVING子句 143

7.1.8  ORDER BY子句 144

7.1.9  COMPUTE子句 145

7.1.10  DISTINCT关键字 147

7.1.11  TOP关键字 147

7.2  UNION合并多个查询结果 148

7.2.1  UNION与连接之间的区别 148

7.2.2  使用UNION ALL合并表 149

7.2.3  UNION中的ORDER BY子句 149

7.2.4  UNION中的自动数据类型转换 150

7.2.5  使用UNION合并不同类型的数据 150

7.2.6  使用UNION合并有不同列数的两个表 151

7.2.7  使用UNION进行多表合并 151

7.3  小结 152

7.4  实践与练习 152

第8章  SQL数据高级查询 153

 视频讲解:28分钟

8.1  子查询与嵌套查询 154

8.1.1  子查询概述 154

8.1.2  嵌套查询概述 154

8.1.3  简单的嵌套查询 155

8.1.4  带IN的嵌套查询 155

8.1.5  带NOT IN的嵌套查询 156

8.1.6  带SOME的嵌套查询 156

8.1.7  带ANY的嵌套查询 157

8.1.8  带ALL的嵌套查询 157

8.1.9  带EXISTS的嵌套查询 158

8.2  连接查询 158

8.2.1  内连接 159

8.2.2  外连接 159

8.2.3  交叉连接 161

8.2.4  连接多表 162

8.3  使用CASE函数进行查询 164

8.4  小结 166

8.5  实践与练习 166

第9章  视图的使用 167

 视频讲解:13分钟

9.1  视图概述 167

9.2  视图的分类与操作 168

9.2.1  以界面方式操作视图 168

9.2.2  使用CREATE VIEW语句创建视图 169

9.2.3  使用ALTER VIEW语句修改视图 171

9.2.4  使用DROP VIEW语句删除视图 172

9.2.5  使用sp_rename重命名视图 173

9.3  通过视图操作数据 174

9.3.1  从视图中浏览数据 174

9.3.2  向视图中添加数据 175

9.3.3  修改视图中的数据 175

9.3.4  删除视图中的数据 176

9.4  小结 176

9.5  实践与练习 176

第3篇 高 级 应 用

第10章  存储过程 178

 视频讲解:27分钟

10.1  存储过程概述 178

10.1.1  存储过程的概念 178

10.1.2  存储过程的优点 179

10.2  创建存储过程 179

10.2.1  使用向导创建存储过程 180

10.2.2  使用CREATE PROC语句

创建存储过程 181

10.3  管理存储过程 182

10.3.1  执行存储过程 182

10.3.2  查看存储过程 183

10.3.3  修改存储过程 185

10.3.4  重命名存储过程 187

10.3.5  删除存储过程 188

10.4  小结 190

10.5  实践与练习 190

第11章  触发器 191

 视频讲解:19分钟

11.1  触发器概述 191

11.1.1  触发器的概念 191

11.1.2  触发器的优点 192

11.1.3  触发器的种类 192

11.2  创建触发器 193

11.2.1  创建DML触发器 193

11.2.2  创建DDL触发器 194

11.2.3  创建登录触发器 195

11.3  管理触发器 197

11.3.1  查看触发器 197

11.3.2  修改触发器 198

11.3.3  重命名触发器 200

11.3.4  禁用和启用触发器 200

11.3.5  删除触发器 202

11.4  小结 204

11.5  实践与练习 204

第12章  游标的使用 205

 视频讲解:25分钟

12.1  游标的概述 205

12.1.1  游标的实现 206

12.1.2  游标的类型 206

12.2  游标的基本操作 207

12.2.1  声明游标 207

12.2.2  打开游标 210

12.2.3  读取游标中的数据 210

12.2.4  关闭游标 212

12.2.5  释放游标 212

12.3  使用系统过程查看游标 213

12.3.1  sp_cursor_list 213

12.3.2  sp_describe_cursor 215

12.4  小结 216

12.5  实践与练习 216

第13章  索引与数据完整性 217

 视频讲解:57分钟

13.1  索引的概念 217

13.2  索引的优缺点 218

13.2.1  索引的优点 218

13.2.2  索引的缺点 218

13.3  索引的分类 218

13.3.1  聚集索引 219

13.3.2  非聚集索引 219

13.4  索引的操作 220

13.4.1  索引的创建 220

13.4.2  查看索引信息 222

13.4.3  索引的修改 224

13.4.4  索引的删除 224

13.4.5  设置索引的选项 226

13.5  索引的分析与维护 228

13.5.1  索引的分析 228

13.5.2  索引的维护 230

13.6  全文索引 232

13.6.1  使用可视化管理工具启用全文索引 232

13.6.2  使用SQL语句启用全文索引 234

13.6.3  使用SQL语句删除全文索引 236

13.6.4  全文目录的维护 237

13.7  数据完整性 239

13.7.1 域完整性 239

13.7.2 实体完整性 240

13.7.3 引用完整性 241

13.7.4  用户定义完整性 241

13.8  小结 242

13.9  实践与练习 242

第14章  SQL中的事务 243

 视频讲解:28分钟

14.1  事务的概念 243

14.2  显式事务与隐式事务 244

14.2.1  显式事务 244

14.2.2  隐式事务 245

14.2.3  事务的COMMIT和ROLLBACK 246

14.3  使用事务 246

14.3.1  开始事务 246

14.3.2  结束事务 247

14.3.3  回滚事务 247

14.3.4  事务的工作机制 248

14.3.5  自动提交事务 249

14.3.6  事务的并发问题 249

14.3.7  事务的隔离级别 250

14.4  锁 253

14.4.1  SQL Server锁机制 253

14.4.2  锁模式 253

14.4.3  锁的粒度 254

14.4.4  查看锁 255

14.4.5  死锁 256

14.5  分布式事务处理 257

14.5.1  分布式事务简介 257

14.5.2  创建分布式事务 257

14.5.3  分布式事务处理协调器 258

14.6  小结 258

14.7  实践与练习 258

第15章  维护SQL Server数据库 259

 视频讲解:46分钟

15.1  脱机与联机数据库 259

15.1.1  脱机数据库 259

15.1.2  联机数据库 260

15.2  分离和附加数据库 260

15.2.1  分离数据库 261

15.2.2  附加数据库 261

15.3  导入和导出数据表 262

15.3.1  导入SQL Server数据表 262

15.3.2  导入其他数据源的数据 265

15.3.3  导出SQL Server数据表 268

15.4  备份和恢复数据库 270

15.4.1  备份类型 270

15.4.2  恢复模式 271

15.4.3  备份数据库 271

15.4.4  恢复数据库 273

15.5  收缩数据库和文件 274

15.5.1  自动收缩数据库 274

15.5.2  手动收缩数据库 275

15.6  生成与执行SQL脚本 276

15.6.1  将数据库生成SQL脚本 276

15.6.2  将数据表生成SQL脚本 277

15.6.3  执行SQL脚本 278

15.7  小结 279

15.8  实践与练习 279

第16章  数据库的安全机制 280

 视频讲解:30分钟

16.1  数据库安全概述 280

16.2  数据库登录管理 280

16.2.1  选择验证模式 281

16.2.2  管理登录账号 281

16.2.3  更改登录验证方式 289

16.2.4  设置密码 290

16.3  用户及权限管理 291

16.3.1  创建与删除数据库用户 291

16.3.2  设置服务器角色权限 292

16.4  小结 293

16.5  实践与练习 293

第4篇 项 目 实 战

第17章  Visual C++ + SQL Server实现

酒店客房管理系统 296

 视频讲解:30分钟

17.1  开发背景 296

17.2  需求分析 297

17.3  系统设计 297

17.3.1  系统目标 297

17.3.2  系统功能结构 297

17.3.3  系统预览 298

17.3.4  业务流程图 299

17.3.5  数据库设计 300

17.4  主窗体设计 301

17.4.1  主窗体概述 301

17.4.2  主窗体实现过程 301

17.5  登录模块设计 306

17.5.1  登录模块概述 306

17.5.2  登录模块技术分析 307

17.5.3  登录模块设计过程 307

17.6  客房预订模块设计 311

17.6.1  客房预订模块概述 311

17.6.2  客房预订模块技术分析 311

17.6.3  客房预订模块实现过程 311

17.7  追加押金模块设计 315

17.7.1  追加押金模块概述 315

17.7.2  追加押金模块技术分析 316

17.7.3  追加押金模块实现过程 316

17.8  调房登记模块设计 321

17.8.1  调房登记模块概述 321

17.8.2  调房登记模块技术分析 321

17.8.3  调房登记模块实现过程 322

17.9  客房销售报表模块设计 326

17.9.1  客房销售报表模块概述 326

17.9.2  客房销售报表模块技术分析 327

17.9.3  客房销售报表模块实现过程 327

17.10  小结 335

第18章  C# + SQL Server实现

企业人事管理系统 336

 视频讲解:95分钟

18.1  系统概述 336

18.2  系统设计 337

18.2.1  系统目标 337

18.2.2  系统功能结构 337

18.2.3  系统业务流程图 338

18.3  系统运行环境 338

18.4  数据库与数据表设计 339

18.4.1  数据库分析 339

18.4.2  主要数据表结构 339

18.4.3  数据表逻辑关系 343

18.5  创建项目 345

18.6  公共类设计 346

18.6.1  MyMeans公共类 346

18.6.2  MyModule公共类 348

18.7  登录模块设计 361

18.7.1  设计登录窗体 361

18.7.2  按下Enter键时移动鼠标焦点 361

18.7.3  登录功能的实现 362

18.8  系统主窗体设计 363

18.8.1  设计菜单栏 363

18.8.2  设计工具栏 364

18.8.3  设计导航菜单 365

18.8.4  设计状态栏 366

18.9  人事档案管理模块设计 367

18.9.1  设计人事档案管理窗体 367

18.9.2  添加/修改人事档案信息 370

18.9.3  删除人事档案信息 371

18.9.4  单条件查询人事档案信息 372

18.9.5  逐条查看人事档案信息 374

18.9.6  将人事档案信息导出为Word文档 376

18.9.7  将人事档案信息导出为Excel表格 380

18.10  用户设置模块设计 384

18.10.1  设计用户设置窗体 384

18.10.2  添加/修改用户信息 385

18.10.3  删除用户基本信息 386

18.10.4  设置用户操作权限 387

18.11  数据库维护模块设计 388

18.11.1  设计数据库维护窗体 388

18.11.2  备份数据库 389

18.11.3  还原数据库 389

18.12  小结 391

第19章  Java + SQL Server实现

学生成绩管理系统 392

 视频讲解:53分钟

19.1  系统概述 392

19.2  系统分析 393

19.2.1  需求分析 393

19.2.2  可行性研究 393

19.3  系统设计 393

19.3.1  系统目标 393

19.3.2  系统功能结构 393

19.3.3  系统预览 394

19.3.4  构建开发环境 395

19.3.5  文件夹组织结构 395

19.4  数据库设计 396

19.4.1  数据库分析 396

19.4.2  数据库概念设计 396

19.4.3  数据库逻辑结构设计 396

19.5  公共模块设计 398

19.5.1  各种实体类的编写 398

19.5.2  操作数据库公共类的编写 400

19.6  系统用户登录模块设计 404

19.6.1  系统用户登录模块概述 404

19.6.2  系统用户登录模块技术分析 405

19.6.3  系统用户登录模块实现过程 405

19.7  主窗体模块设计 407

19.7.1  主窗体模块概述 407

19.7.2  主窗体模块技术分析 408

19.7.3  主窗体模块实现过程 408

19.8  班级信息设置模块设计 411

19.8.1  班级信息设置模块概述 411

19.8.2  班级信息设置模块技术分析 411

19.8.3  班级信息设置模块实现过程 411

19.9  学生基本信息管理模块设计 414

19.9.1  学生基本信息管理模块概述 414

19.9.2  学生基本信息管理模块技术分析 415

19.9.3  学生基本信息管理模块实现过程 415

19.10  考试成绩信息管理模块设计 419

19.10.1  考试成绩信息管理模块概述 419

19.10.2  考试成绩信息管理模块技术分析 420

19.10.3  考试成绩信息管理模块实现过程 420

19.11  基本信息数据查询模块设计 424

19.11.1  基本信息数据查询模块概述 424

19.11.2  基本信息数据查询模块技术分析 425

19.11.3  基本信息数据查询模块实现过程 425

19.12  考试成绩班级明细数据查询

模块设计 427

19.12.1  考试成绩班级明细数据

查询模块概述 427

19.12.2  考试成绩班级明细数据查询

模块技术分析 428

19.12.3  考试成绩班级明细数据查询

模块实现过程 428

19.13  小结 430