SQL Server 2016数据库教程
作者:郑阿奇,刘启芬,顾韵华主编
出版时间: 2019年版
内容简介
本书基础部分包含10章,第1章介绍数据库的基本概念,第2章到第10章系统介绍SQL Server 2016,分界面和T-SQL命令两种方式,并通过9个实验介绍SQL Serve基本内容。综合应用部分包含6个综合实例。在进行SQL Server 2016综合实例数据库准备过程中,浓缩了创建数据库、表结构、表记录操作、视图、触发器、完整性、存储过程等数据库的基本对象。
目录
第 1章 数据库的基本概念 1
1.1 数据库 1
1.1.1 数据库系统 1
1.1.2 数据模型 2
1.1.3 关系型数据库语言 4
1.2 数据库设计 4
1.2.1 概念结构设计 5
1.2.2 逻辑结构设计 6
1.2.3 物理结构设计 7
1.3 数据库应用系统 7
1.3.1 C/S模式应用系统 8
1.3.2 B/S模式应用系统 8
习题 9
第 2章 数据库创建 11
2.1 SQL Server 数据库 11
2.1.1 逻辑数据库 11
2.1.2 物理数据库 13
2.1.3 系统数据库和用户数据库 14
2.1.4 连接SQL Server服务器 14
2.2 界面方式创建数据库 17
2.2.1 数据库的创建 17
2.2.2 数据库的修改和删除 20
2.3 命令方式创建数据库 23
2.3.1 创建数据库:CREATE DATABASE 23
2.3.2 修改数据库:ALTER DATABASE 26
2.3.3 删除数据库:DROP DATABASE 30
2.3.4 数据库快照:AS SNAPSHOT 30
习题 31
第3章 表的创建和操作 34
3.1 数据类型和表结构 34
3.1.1 数据类型 35
3.1.2 表结构设计 40
3.2 界面方式创建表结构 42
3.2.1 创建表结构 42
3.2.2 修改表结构 43
3.2.3 删除表 44
3.3 命令方式创建表结构 45
3.3.1 创建表结构:CREATE TABLE 45
3.3.2 修改表结构:ALTER TABLE 47
3.3.3 删除表:DROP TABLE 49
3.4 界面方式操作表数据 50
3.4.1 插入记录 50
3.4.2 删除记录 51
3.4.3 修改记录 52
3.5 命令方式操作表数据 52
3.5.1 插入记录:INSERT 52
3.5.2 修改记录:UPDATE 55
3.5.3 删除记录:DELETE/TRUNCATE TABLE 56
习题 58
第4章 数据库的查询、视图和游标 60
4.1 数据库的查询:SELECT 60
4.1.1 选择查询结果输出列:*/列表 61
4.1.2 选择查询条件:WHERE 67
4.1.3 指定查询对象:FROM 73
4.1.4 连接:=/JOIN 74
4.1.5 指定查询结果分组方法:GROUP BY 78
4.1.6 指定查询结果分组后筛选条件:HAVING 80
4.1.7 指定查询结果排序顺序:ORDER BY 81
4.1.8 其他:INTO/UNION/EXCEPT/ CTE 82
4.2 视图 85
4.2.1 视图概念 85
4.2.2 创建视图:CREATE VIEW 85
4.2.3 查询视图:SELECT 89
4.2.4 更新视图:INSERT/UPDATE/DELETE 90
4.2.5 修改视图的定义:ALTER VIEW 92
4.2.6 删除视图:DROP VIEW 93
4.3 游标 93
4.3.1 声明游标:DECLARE CURSOR 94
4.3.2 打开游标:OPEN 97
4.3.3 读取数据:FETCH 98
4.3.4 关闭删除游标:CLOSE/DEALLOCATE 101
习题 101
第5章 T-SQL语言 103
5.1 T-SQL语言 103
5.2 常量、自定义数据类型与变量 104
5.2.1 常量 104
5.2.2 自定义数据类型 106
5.2.3 变量:DECLARE/SET/SELECT 108
5.3 运算符与表达式 113
5.4 流程控制语句 118
5.4.1 语句块:BEGIN…END 118
5.4.2 条件语句:IF…ELSE 119
5.4.3 多重分支:CASE 120
5.4.4 无条件转移语句:GOTO 121
5.4.5 循环语句:WHILE/BREAK/CONTINUE 122
5.4.6 返回语句:RETURN 123
5.4.7 等待语句:WAITFOR DELAY/TIME 123
5.4.8 错误处理语句:TRY…CATCH 124
5.5 系统内置函数 124
5.5.1 系统内置函数介绍 124
5.5.2 常用系统标量函数 125
5.6 用户定义函数:CREATE/ALTER/ DROP FUNCTION 132
5.6.1 标量函数:SELECT/EXEC 133
5.6.2 内嵌表值函数:FROM表(…) 134
5.6.3 用户定义函数的删除:DROP FUNCTION 138
习题 138
第6章 索引和完整性 140
6.1 索引 140
6.1.1 索引的分类 140
6.1.2 索引的创建:CREATE INDEX 141
6.1.3 重建索引:ALTER INDEX 144
6.1.4 索引的删除:DROP INDEX 145
6.2 数据完整性 145
6.2.1 创建实体完整性:PRIMARY KEY/UNIQUE 147
6.2.2 创建域完整性:CHECK/CREATE RULE 150
6.2.3 创建参照完整性:FOREIGN KEY 155
习题 158
第7章 存储过程和触发器 160
7.1 存储过程 160
7.1.1 存储过程的类型 160
7.1.2 存储过程的创建与执行:CREATE PROCEDURE 161
7.1.3 存储过程的修改:ALTER PROCEDURE 166
7.1.4 存储过程的删除:DROP PROCEDURE 167
7.1.5 界面方式操作存储过程 168
7.2 触发器 169
7.2.1 触发器的类型 169
7.2.2 触发器的创建:CREATE TRIGGER 170
7.2.3 触发器的修改:ALTER TRIGGER 177
7.2.4 触发器的删除:DROP TRIGGER 178
7.2.5 界面方式操作触发器 178
习题 179
第8章 备份与恢复 181
8.1 备份和恢复概述 181
8.1.1 数据库备份概念 181
8.1.2 数据库恢复概念 183
8.2 数据库备份 184
8.2.1 创建命名备份设备 184
8.2.2 命令方式备份数据库:BACKUP DATABASE 186
8.2.3 界面方式备份数据库 191
8.3 数据库恢复 193
8.3.1 检查点 193
8.3.2 命令方式恢复数据库:RESTORE DATABASE 193
8.3.3 界面方式恢复数据库 197
8.4 附加数据库和数据库复制 197
8.4.1 附加数据库 198
8.4.2 数据库复制 198
习题 198
第9章 系统安全管理 200
9.1 SQL Server的安全机制 200
9.1.1 SQL Server 身份验证模式 200
9.1.2 SQL Server安全性机制 201
9.1.3 SQL Server数据库安全验证过程 201
9.2 建立和管理用户账户 202
9.2.1 界面方式管理用户账户 202
9.2.2 命令方式管理用户账户:CREATE LOGIN/USER 206
9.3 角色管理 209
9.3.1 固定服务器角色 209
9.3.2 固定数据库角色 211
9.3.3 自定义数据库角色:CREATE/DROP ROLE 213
9.3.4 应用程序角色 215
9.4 数据库权限的管理 217
9.4.1 授予权限:GRANT 217
9.4.2 拒绝权限 220
9.4.3 撤销权限 221
9.5 数据库架构的定义和使用 222
9.5.1 界面方式创建架构 222
9.5.2 命令方式创建架构:CREATE SCHEMA 224
习题 225
第 10章 其他概念 227
10.1 事务 227
10.1.1 事务与ACID属性 227
10.1.2 多用户使用问题 228
10.1.3 事务处理:BEGIN/COMMIT/ROLLBACK/SAVE /ROLLBACK TRANSACTION 228
10.1.4 事务隔离级:SET TRANSACTION ISOLATION LEVEL 232
10.2 锁定 233
10.2.1 锁定粒度 233
10.2.2 锁定模式 234
10.3 自动化管理 235
10.3.1 SQL Server代理 235
10.3.2 操作员 236
10.3.3 作业 236
10.3.4 警报 236
10.3.5 数据库邮件 237
10.3.6 维护计划向导 237
习题 237
实验1 SQL Server 2016环境 238
实验2 创建数据库和表 240
实验3 表数据插入、修改和删除 244
实验4 数据库的查询和视图 248
实验4.1 数据库的查询 248
实验4.2 视图的使用 254
实验5 T-SQL编程 257
实验6 索引和数据完整性的使用 262
实验6.1 索引 262
实验6.2 数据完整性 263
实验7 存储过程和触发器的使用 266
实验7.1 存储过程 266
实验7.2 触 发 器 269
实验8 备份恢复与导入导出 272
实验8.1 数据库的备份 272
实验8.2 数据库的恢复 273
实验9 数据库的安全性 275
实验9.1 数据库用户的管理 275
实验9.2 服务器角色的应用 276
实验9.3 数据库权限管理 278
实习0 创建实习数据库 280
实习0. 1 创建数据库及其对象 280
实习0. 2 应用系统功能和界面 286
实习1 PHP 开发SQL Server综合实例 289
实习1.1 PHP开发入门 289
实习1.1.1 PHP项目的建立 289
实习1.1.2 PHP项目的运行 290
实习1.1.3 PHP连接SQL Server 2016 292
实习1.2 系统主页设计 294
实习1.2.1 主界面 294
实习1.2.2 功能导航 295
实习1.3 学生管理 297
实习1.3.1 界面设计 297
实习1.3.2 功能实现 299
实习1.4 成绩管理 301
实习1.4.1 界面设计 301
实习1.4.2 功能实现 303
实习2 Java EE 开发SQL Server综合实例 306
实习2.1 创建Struts 2项目 306
实习2.1.1 创建Java EE项目 306
实习2.1.2 加载Struts 2包 307
实习2.1.3 连接SQL Server 2016 309
实习2.2 系统主页设计 311
实习2.2.1 创建JSP环境 311
实习2.2.2 功能导航 312
实习2.2.3 部署项目 314
实习2.3 学生管理 316
实习2.3.1 界面设计 316
实习2.3.2 功能实现 319
实习2.4 成绩管理 324
实习2.4.1 界面设计 324
实习2.4.2 功能实现 326
实习3 ASP.NET开发SQL Server综合实例 330
实习3.1 创建ASP.NET项目 330
实习3.1.1 ASP.NET项目的建立 330
实习3.1.2 ASP.NET 4连接SQL Server 2016 330
实习3.2 Ajax技术应用 331
实习3.2.1 功能需求 331
实习3.2.2 技术实现 332
实习3.3 学生管理 336
实习3.3.1 界面设计 336
实习3.3.2 功能实现 339
实习3.4 成绩管理 343
实习3.4.1 界面设计 343
实习3.4.2 功能实现 346
实习4 Visual C# 开发SQL Server综合实例 353
实习4.1 创建Visual C#项目 353
实习4.2 系统主界面设计 353
实习4.2.1 总体布局 353
实习4.2.2 详细设计 354
实习4.3 学生管理 356
实习4.3.1 程序主体结构 356
实习4.3.2 功能实现 357
实习4.4 成绩管理 361
实习4.4.1 姓名加载、成绩刷新 361
实习4.4.2 功能实现 363
实习5 Python开发SQL Server综合实例 367
实习5.1 学生管理 367
实习5.1.1 界面设计 367
实习5.1.2 功能实现 367
实习5.2 成绩管理 370
实习5.2.1 界面设计 370
实习5.2.2 功能实现 370
实习6 VB 6.0开发SQL Server综合实例 373
实习6.1 VB数据库开发准备 373
实习6.1.1 创建ODBC数据源 373
实习6.1.2 新建VB 6.0项目 375
实习6.1.3 连接数据库 375
实习6.2 菜单系统与登录控制 376
实习6.2.1 设计主菜单 376
实习6.2.2 主窗口及版权声明 377
实习6.2.3 登录功能 378
实习6.2.4 菜单功能代码 379
实习6.3 学生功能 380
实习6.3.1 修改口令 380
实习6.3.2 查询成绩 381
实习6.4 教师功能 383
实习6.4.1 增减学生 383
实习6.4.2 输入成绩 385
附录 学生成绩(xscj)数据库表样本数据 388