第1章 数据库的基本概念 1
1.1 数据库 1
1.1.1 数据库系统 1
1.1.2 数据模型 2
1.1.3 关系型数据库语言 4
1.2 数据库设计 4
1.2.1 概念结构设计 4
1.2.2 逻辑结构设计 5
1.2.3 物理结构设计 6
1.3 数据库应用系统 7
1.3.1 C/S模式应用系统 7
1.3.2 B/S模式应用系统 8
习题 8
第2章 数据库创建 10
2.1 SQL Server 2012数据库 10
2.1.1 逻辑数据库 10
2.1.2 物理数据库 12
2.1.3 系统数据库和用户数据库 13
2.2 界面方式创建数据库 13
2.2.1 数据库的创建 13
2.2.2 数据库的修改和删除 16
2.3 命令方式创建数据库 19
2.3.1 创建数据库:CREATE DATABASE 19
2.3.2 修改数据库:ALTER DATABASE 23
2.3.3 删除数据库:DROP DATABASE 26
2.3.4 数据库快照:AS SNAPSHOT 26
习题 28
第3章 表的创建和操作 30
3.1 数据类型和表结构 30
3.1.1 数据类型 30
3.1.2 表结构设计 36
3.2 界面方式创建表结构 37
3.2.1 创建表结构 37
3.2.2 修改表结构 38
3.2.3 删除表 40
3.3 命令方式创建表结构 40
3.3.1 创建表结构:CREATE TABLE 40
3.3.2 修改表结构:ALTER TABLE 42
3.3.3 删除表:DROP TABLE 44
3.4 界面方式操作表数据 44
3.4.1 插入记录 44
3.4.2 删除记录 46
3.4.3 修改记录 46
3.5 命令方式操作表数据 46
3.5.1 插入记录:INSERT 46
3.5.2 修改记录:UPDATE 50
3.5.3 删除记录:DELETE/TRUNCATE TABLE 50
习题 52
第4章 数据库的查询、视图和游标 54
4.1 数据库的查询:SELECT 54
4.1.1 选择查询结果输出列:/列表 55
4.1.2 选择查询条件:WHERE 60
4.1.3 指定查询对象:FROM 65
4.1.4 连接:=/JOIN 67
4.1.5 指定查询结果分组方法:GROUP BY 70
4.1.6 指定查询结果分组后筛选条件:HAVING 72
4.1.7 指定查询结果排序顺序:ORDER BY 73
4.1.8 其他:INTO/UNION/EXCEPT/CTE 74
4.2 视图 76
4.2.1 视图概念 76
4.2.2 创建视图:CREATE VIEW 77
4.2.3 查询视图:SELECT 80
4.2.4 更新视图:INSERT/UPDATE/DELETE 81
4.2.5 修改视图的定义:ALTER VIEW 83
4.2.6 删除视图:DROP VIEW 83
4.3 游标 84
4.3.1 声明游标:DECLARE CURSOR 84
4.3.2 打开游标:OPEN 87
4.3.3 读取数据:FETCH 88
4.3.4 关闭删除游标:CLOSE/DEALLOCATE 90
习题 91
第5章 T-SQL语言 93
5.1 T-SQL语言 93
5.2 常量、自定义数据类型与变量 94
5.2.1 常量 94
5.2.2 自定义数据类型 96
5.2.3 变量:DECLARE/SET/SELECT 98
5.3 运算符与表达式 102
5.4 流程控制语句 107
5.4.1 语句块:BEGIN…END 107
5.4.2 条件语句:IF…ELSE 107
5.4.3 多重分支:CASE 109
5.4.4 无条件转移语句:GOTO 110
5.4.5 循环语句:WHILE/BREAK/CONTINUE 110
5.4.6 返回语句:RETURN 111
5.4.7 等待语句:WAITFOR DELAY/TIME 112
5.4.8 错误处理语句:TRY…CATCH 112
5.5 系统内置函数 112
5.5.1 系统内置函数介绍 112
5.5.2 常用系统标量函数 113
5.6 用户定义函数:CREATE/ALTER/DROP FUNCTION 120
5.6.1 标量函数:SELECT/EXEC 120
5.6.2 内嵌表值函数:FROM表(…) 122
5.6.3 用户定义函数的删除:DROP FUNCTION 125
习题 125
第6章 索引和完整性 127
6.1 索引 127
6.1.1 索引的分类 127
6.1.2 索引的创建:CREATE INDEX 128
6.1.3 重建索引:ALTERINDEX 131
6.1.4 索引的删除:DROP INDEX 132
6.2 数据完整性 132
6.2.1 创建实体完整性:PRIMARY KEY/UNIQUE 134
6.2.2 创建域完整性:CHECK/CREATERULE 136
6.2.3 创建参照完整性:FOREIGN KEY 141
习题 144
第7章 存储过程和触发器 146
7.1 存储过程 146
7.1.1 存储过程的类型 146
7.1.2 存储过程的创建与执行:CREATE PROCEDURE 147
7.1.3 存储过程的修改:ALTER PROCEDURE 152
7.1.4 存储过程的删除:DROP PROCEDURE 153
7.1.5 界面方式操作存储过程 153
7.2 触发器 155
7.2.1 触发器的类型 155
7.2.2 触发器的创建:CREATE TRIGGER 155
7.2.3 触发器的修改:ALTER TRIGGER 161
7.2.4 触发器的删除:DROP TRIGGER 162
7.2.5 界面方式操作触发器 163
习题 163
第8章 备份与恢复 165
8.1 备份和恢复概述 165
8.1.1 数据库备份概念 165
8.1.2 数据库恢复概念 167
8.2 数据库备份 168
8.2.1 创建备份设备 168
8.2.2 命令方式备份数据库:BACKUP DATABASE 170
8.2.3 界面方式备份数据库 174
8.3 数据库恢复 175
8.3.1 检查点 175
8.3.2 命令方式恢复数据库:RESTORE DATABASE 176
8.3.3 界面方式恢复数据库 179
8.4 附加数据库和数据库复制 179
8.4.1 附加数据库 180
8.4.2 数据库复制 180
习题 181
第9章 系统安全管理 182
9.1 SQL Server 2012的安全机制 182
9.1.1 SQL Server身份验证模式 182
9.1.2 SQL Server安全性机制 183
9.1.3 SQL Server数据库安全验证过程 183
9.2 建立和管理用户账户 184
9.2.1 界面方式管理用户账户 184
9.2.2 命令方式管理用户账户:CREATE LOGIN/USER 188
9.3 角色管理 190
9.3.1 固定服务器角色 190
9.3.2 固定数据库角色 192
9.3.3 自定义数据库角色:CREATE/DROP ROLE 194
9.3.4 应用程序角色 196
9.4 数据库权限的管理 197
9.4.1 授予权限:GRANT 198
9.4.2 拒绝权限 200
9.4.3 撤销权限 201
9.5 数据库架构的定义和使用 202
9.5.1 界面方式创建架构 202
9.5.2 命令方式创建架构:CREATE SCHEMA 204
习题 205
第10章 其他概念 207
10.1 事务 207
10.1.1 事务与ACID属性 207
10.1.2 多用户使用问题 208
10.1.3 事务处理:BEGIN/COMMIT/ROLLBACK/SAVE /ROLLBACK TRANSACTION 208
10.1.4 事务隔离级:SET TRANSACTION ISOLATION LEVEL 211
10.2 锁定 213
10.2.1 锁定粒度 213
10.2.2 锁定模式 213
10.3 自动化管理 214
10.3.1 SQL Server代理 215
10.3.2 操作员 216
10.3.3 作业 216
10.3.4 警报 216
10.3.5 数据库邮件 216
10.3.6 维护计划向导 217
习题 217
实验1 SQL Server 2012环境 218
实验2创建数据库和表 222
实验3表数据插入、修改和删除 226
实验4数据库的查询和视图 230
实验4.1 数据库的查询 230
实验4.2 视图的使用 236
实验5T-SQL编程 238
实验6索引和数据完整性的使用 242
实验6.1 索引 242
实验6.2 数据完整性 243
实验7存储过程和触发器的使用 246
实验7.1 存储过程 246
实验7.2 触发器 248
实验8数据库的备份与恢复 251
实验8.1 数据库的备份 251
实验8.2 数据库的恢复 252
实验9数据库的安全性 254
实验9.1 数据库用户的管理 254
实验9.2 服务器角色的应用 255
实验9.3 数据库权限管理 256
实习0创建实习数据库 258
实习0.1 创建数据库及其对象 258
实习0.2 功能和界面 263
实习1 PHP 5/SQL Server2012学生成绩管理系统 266
实习1.1 PHP开发平台搭建 266
实习1.1.1 创建PHP环境 266
实习1.1.2 Eclipse安装与配置 269
实习1.2 PHP开发入门 270
实习1.2.1 PHP项目的建立 271
实习1.2.2 PHP项目的运行 272
实习1.2.3 PHP连接 SQL Server 2012 273
实习1.3 界面设计及系统登录 274
实习1.3.1 主界面 274
实习1.3.2 登录功能 275
实习1.4 学生功能 277
实习1.4.1 修改口令 277
实习1.4.2 查询成绩 279
实习1.5 教师功能 281
实习1.5.1 增减学生 281
实习1.5.2 输入成绩 283
实习2 ASP.NET 4.5 /SQL Server 2012学生成绩管理系统 286
实习2.1 ADO.NET架构原理 286
实习2.2 创建ASP.NET项目 288
实习2.2.1 ASP.NET项目的建立 288
实习2.2.2 ASP.NET连接 SQL Server 2012 288
实习2.3 界面设计及系统登录 289
实习2.3.1 主界面 289
实习2.3.2 登录功能 290
实习2.4 学生功能 293
实习2.4.1 修改口令 293
实习2.4.2 查询成绩 295
实习2.5 教师功能 301
实习2.5.1 增减学生 301
实习2.5.2 输入成绩 306
实习3 VB 6.0/SQL Server2012学生成绩管理系统 311
实习3.1 VB数据库开发准备 311
实习3.1.1 创建ODBC数据源 311
实习3.1.2 新建VB 6.0项目 312
实习3.1.3 连接数据库 313
实习3.2 菜单系统与登录控制 313
实习3.2.1 设计主菜单 313
实习3.2.2 主窗口及版权声明 315
实习3.2.3 登录功能 315
实习3.2.4 菜单功能代码 317
实习3.3 学生功能 317
实习3.3.1 修改口令 317
实习3.3.2 查询成绩 318
实习3.4 教师功能 320
实习3.4.1 增减学生 320
实习3.4.2 输入成绩 322
附录A学生成绩(pxscj)数据库表样本数据 325
附录B SQL Server 2012简介和安装 328
B.1 SQL Server简介 328
B.1.1 SQL Server 2012服务器组件、管理工具和联机丛书 328
B.1.2 SQL Server 2012的不同版本及支持功能 330
B.2 SQL Server 2012安装 331
B.2.1 SQL Server 2012安装环境 331
B.2.2 SQL Server 2012安装 332
B.3 SQL Server 2012环境 336