《SQL Server 2012数据库技术实用教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:高云主编;崔艳春,夏平副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302419181
  • 页数:365 页
图书介绍:本书以创建“学生管理系统”的数据库为工作任务,具体内容包括设计数据库、创建数据库、创建表、更新和查询记录、T-SQL语言、视图和索引、用户自定义函数、存储过程、触发器、管理数据库安全、备份和还原数据库、导入和导出数据库中的数据。

项目1 设计数据库 1

1.1 数据库的基本概念 2

1.1.1 数据库 2

1.1.2 数据库管理系统 3

1.1.3 数据库系统 3

1.1.4 数据管理技术的发展 4

1.1.5 数据库系统的体系结构 4

1.2 数据模型 5

1.2.1 数据模型的概念 5

1.2.2 数据模型的组成 6

1.2.3 数据模型的类型 6

1.2.4 数据库的规范化 10

1.3 关系代数 11

1.3.1 传统的集合运算 11

1.3.2 专门的关系运算 12

1.4 数据库设计的方法和步骤 14

1.4.1 数据库设计的方法 15

1.4.2 数据库设计的步骤 15

1.5 小型案例实训 17

小结 18

习题 19

项目2 安装SQL Server 2012 23

2.1 了解SQLServer 2012 24

2.1.1 SOL Server 2012简介 24

2.1.2 SQL Server 2012的版本 25

2.1.3 SOL Server 2012的组件 25

2.1.4 SQL Server 2012管理工具 26

2.2 安装SQL Server 2012 29

2.2.1 硬件和软件要求 29

2.2.2 SOL Server的默认实例和命名实例 29

2.2.3 SQL Server安装中心 29

2.3 运行SQL Server 2012 30

2.4 配置SQL Server 2012 32

2.5 小型案例实训 34

小结 34

习题 35

项目3 创建数据库 37

3.1 SQL Server数据库 38

3.1.1 系统数据库 38

3.1.2 数据库文件和文件组 39

3.1.3 事务日志 40

3.2 创建数据库 40

3.2.1 创建单个数据文件和日志文件的数据库 40

3.2.2 创建多个数据文件和日志文件的数据库 41

3.2.3 创建有用户文件组的数据库 42

3.3 修改数据库 44

3.3.1 添加数据文件 44

3.3.2 添加带有数据文件的文件组 45

3.3.3 添加日志文件 46

3.3.4 增加文件大小 47

3.3.5 收缩文件 47

3.3.6 收缩数据库 48

3.3.7 删除文件 49

3.4 删除数据库 49

3.5 查看数据库信息 50

3.5.1 查看数据库的数据和日志空间信息 50

3.5.2 查看数据库的属性 50

3.6 分离和附加数据库 51

3.6.1 分离数据库 51

3.6.2 附加数据库 51

3.7 小型案例实训 52

小结 55

习题 55

项目4 创建表 57

4.1 表 58

4.1.1 表的概念 58

4.1.2 表的类型 58

4.2 创建表 59

4.2.1 创建表 59

4.2.2 创建带计算列的表 61

4.2.3 创建带标识列的表 62

4.3 修改表 63

4.3.1 重命名列 63

4.3.2 添加列 64

4.3.3 修改列 64

4.3.4 更改列顺序 64

4.3.5 删除列 64

4.4 删除表 65

4.5 数据完整性 65

4.5.1 数据完整性的概念 66

4.5.2 数据完整性的类型 66

4.5.3 主键约束 66

4.5.4 唯一约束 68

4.5.5 列默认值 70

4.5.6 CHECK约束 72

4.5.7 外键约束 74

4.6 查看表信息 77

4.6.1 查看表记录 77

4.6.2 查看表属性 77

4.6.3 查看表的依赖关系 78

4.7 小型案例实训 79

小结 85

习题 85

项目5 创建索引 89

5.1 索引 90

5.1.1 索引的概念 90

5.1.2 索引的类型 91

5.1.3 堆 91

5.2 创建索引 92

5.2.1 创建聚集索引 92

5.2.2 创建非聚集索引 93

5.2.3 创建唯一索引 94

5.2.4 创建带有包含列的索引 95

5.2.5 创建筛选索引 96

5.3 修改索引 97

5.3.1 修改索引列 97

5.3.2 禁用索引 98

5.3.3 重新生成索引 99

5.3.4 重新组织索引 99

5.3.5 索引填充因子 100

5.4 删除索引 101

5.5 设计和优化索引 102

5.5.1 索引设计任务 102

5.5.2 设计聚集索引 102

5.5.3 设计非聚集索引 103

5.5.4 设计唯一索引 103

5.5.5 设计带有包含列的索引 103

5.5.6 设计筛选索引 103

5.6.7 优化索引 103

5.6 小型案例实训 104

小结 106

习题 107

项目6 创建视图 109

6.1 视图 110

6.1.1 视图的概念 110

6.1.2 视图的类型 110

6.2 创建视图 111

6.2.1 创建标准视图 111

6.2.2 创建加密视图 112

6.2.3 创建带更新限制的视图 113

6.3 修改视图 113

6.4 删除视图 114

6.5 使用视图 114

6.6 查看视图 116

6.7 小型案例实训 117

小结 118

习题 119

项目7 Transact-SQL语言 121

7.1 Transact-SQL语言 122

7.2 标识符 122

7.3 数据库对象名称 123

7.4 数据类型 123

7.4.1 系统数据类型 123

7.4.2 用户定义数据类型 126

7.5 常量和变量 127

7.6 运算符 127

7.7 表达式 128

7.8 函数 129

7.9 注释 131

7.10 Transact-SQL程序要素 131

7.10.1 USE 132

7.10.2 GO 132

7.10.3 PRINT 133

7.10.4 RAISERROR()函数 133

7.10.5 BEGIN...END 133

7.10.6 GOTO 134

7.10.7 RETURN 134

7.10.8 IF...ELSE 134

7.10.9 WHILE 135

7.10.10 CONTINUE 135

7.10.11 BREAK 135

7.10.12 WAITFOR 136

7.10.13 TRY...CATCH 137

7.10.14 THROW 138

7.11 小型案例实训 138

小结 140

习题 141

项目8 查询记录 143

8.1 SELECT语句 144

8.2 SELECT子句 144

8.2.1 查询列 144

8.2.2 列标题和列计算 145

8.2.3 避免重复记录 146

8.2.4 限制返回行数 146

8.3 FROM子句 147

8.3.1 查询单个表 147

8.3.2 多表联接 148

8.3.3 派生表 152

8.4 WHERE子句 152

8.4.1 简单比较 153

8.4.2 模糊查询 154

8.4.3 比较运算符 154

8.4.4 满足任一条件 155

8.4.5 满足所有条件 155

8.4.6 值列表 156

8.4.7 值区间 156

8.4.8 值为空 157

8.5 GROUPBY子句 158

8.5.1 按列分组统计 158

8.5.2 按表达式结果分组统计 159

8.6 HAVING子句 159

8.7 ORDER BY子句 160

8.7.1 按指定列排序 160

8.7.2 按表达式结果排序 161

8.7.3 按特定条件列排序 162

8.8 INTO子句 162

8.9 子查询 163

8.9.1 子查询用作单个值 163

8.9.2 ALL、ANY和SOME 164

8.9.3 IN 166

8.9.4 EXISTS 167

8.10 集运算符 168

8.10.1 UNION 168

8.10.2 EXCEPT 169

8.10.3 INTERSECT 170

8.11 小型案例实训 170

小结 174

习题 174

项目9 插入、更新和删除记录 177

9.1 插入记录 178

9.1.1 插入单个记录 178

9.1.2 插入多个记录 178

9.1.3 插入列顺序任意的记录 179

9.1.4 插入列具有默认值的记录 179

9.1.5 插入含标识列的记录 180

9.1.6 插入来自其他表的记录 180

9.1.7 限制来自其他表的记录数量 181

9.1.8 向视图插入记录 181

9.2 更新记录 181

9.2.1 更新单个列 181

9.2.2 更新多个列 182

9.2.3 更新部分记录 182

9.2.4 更新限制数量的记录 182

9.2.5 更新列为计算结果 182

9.2.6 更新列为默认值 183

9.2.7 更新视图 183

9.2.8 根据其他表的记录来更新记录 183

9.3 删除记录 184

9.3.1 删除所有记录 184

9.3.2 删除部分记录 184

9.3.3 删除限制数量的记录 185

9.3.4 根据其他表的记录来删除记录 185

9.4 比较记录 185

9.5 小型案例实训 186

小结 189

习题 189

项目10 使用事务和锁 191

10.1 事务 192

10.1.1 事务的概念 192

10.1.2 事务的属性 192

10.1.3 事务的类型 193

10.1.4 启动事务 193

10.1.5 保存事务 193

10.1.6 结束事务 193

10.2 并发控制 195

10.2.1 并发的负面影响 195

10.2.2 并发控制的类型 195

10.2.3 数据库引擎中的隔离级别 196

10.2.4 自定义事务隔离级别 197

10.3 锁定 198

10.3.1 锁粒度和层次结构 198

10.3.2 锁模式 199

10.3.3 锁兼容性 200

10.3.4 死锁 200

10.4 小型案例实训 201

小结 203

习题 203

项目11 使用游标 205

11.1 游标 206

11.1.1 游标的概念 206

11.1.2 游标的类型 206

11.2 使用游标 207

11.2.1 使用简单游标的方法 207

11.2.2 使用嵌套游标 214

11.3 小型案例实训 215

小结 216

习题 217

项目12 创建存储过程 219

12.1 存储过程 220

12.1.1 存储过程的概念 220

12.1.2 存储过程的作用 220

12.1.3 存储过程的类型 221

12.2 创建存储过程 221

12.2.1 创建不带参数的存储过程 221

12.2.2 创建带输入参数的存储过程 222

12.2.3 创建带有默认值的存储过程 223

12.2.4 创建带有输出参数的存储过程 224

12.3 修改存储过程 225

12.4 删除存储过程 226

12.5 执行存储过程 226

12.5.1 执行不带参数的存储过程 227

12.5.2 执行带输入参数的存储过程 227

12.5.3 执行带有默认值的存储过程 228

12.5.4 执行带有输出参数的存储过程 229

12.5.5 使用存储过程返回代码值 229

12.6 查看存储过程 230

12.7 小型案例实训 231

小结 235

习题 235

项目13 创建用户定义函数 237

13.1 用户定义函数 238

13.1.1 用户定义函数的概念 238

13.1.2 用户定义函数的优点 238

13.1.3 用户定义函数的类型 238

13.2 创建用户定义函数 239

13.2.1 创建标量值函数 239

13.2.2 创建内联表值函数 240

13.2.3 创建多语句表值函数 241

13.3 修改用户定义函数 242

13.4 删除用户定义函数 243

13.5 执行用户定义函数 244

13.5.1 执行标量值函数 244

13.5.2 执行内联表值函数 245

13.5.3 执行多语句表值函数 246

13.6 查看用户定义函数 246

13.7 小型案例实训 247

小结 250

习题 251

项目14 创建触发器 253

14.1 登录触发器 254

14.2 DDL触发器 255

14.2.1 DDL触发器的概念 255

14.2.2 DDL触发器的类型 255

14.2.3 DDL触发器的作用域 256

14.2.4 创建DDL触发器 256

14.2.5 修改DDL触发器 257

14.3 DML触发器 259

14.3.1 DML触发器的概念 259

14.3.2 DML触发器的优点 259

14.3.3 DML触发器的类型 259

14.4 创建DML触发器 260

14.4.1 inserted表和deleted表 260

14.4.2 创建包含提醒消息的DML触发器 261

14.4.3 创建在表之间强制实现业务规则的DML触发器 262

14.5 修改DML触发器 264

14.5.1 修改DML触发器定义 264

14.5.2 指定第一个和最后一个DML触发器 265

14.5.3 禁用DML触发器 267

14.5.4 启用DML触发器 268

14.6 删除DML触发器 269

14.7 查看DML触发器 269

14.8 小型案例实训 270

小结 273

习题 273

项目15 备份和还原数据库 275

15.1 备份 276

15.1.1 备份的概念 276

15.1.2 备份的作用 276

15.1.3 备份的类型 277

15.1.4 备份策略 277

15.1.5 备份类型的选择 277

15.2 还原和恢复 278

15.2.1 还原的概念 278

15.2.2 恢复的概念 278

15.3 备份设备 279

15.3.1 备份设备的概念 279

15.3.2 备份磁盘的概念 279

15.3.3 介质集的概念 279

15.3.4 介质簇的概念 279

15.3.5 备份集的概念 279

15.3.6 创建备份设备 279

15.4 恢复模式 280

15.4.1 恢复模式的概念 280

15.4.2 恢复模式的类型 280

15.5 完整恢复模式下的完整数据库备份与还原 282

15.5.1 完整恢复模式下的完整数据库备份 282

15.5.2 完整恢复模式下的完整数据库还原 283

15.6 完整恢复模式下的差异数据库备份与还原 284

15.6.1 完整恢复模式下的差异数据库备份 284

15.6.2 完整恢复模式下的差异数据库还原 284

15.7 完整恢复模式下的事务日志备份与还原 285

15.7.1 完整恢复模式下的事务日志备份 285

15.7.2 完整恢复模式下的事务日志还原 286

15.7.3 完整恢复模式下的结尾日志备份 287

15.8 完整恢复模式下的文件和文件组备份与还原 288

15.8.1 完整恢复模式下的文件和文件组备份 288

15.8.2 完整恢复模式下的文件和文件组还原 288

15.9 简单恢复模式下的完整数据库备份与还原 289

15.9.1 简单恢复模式下的完整数据库备份 289

15.9.2 简单恢复模式下的完整数据库还原 290

15.9.3 简单恢复模式下的差异数据库备份 290

15.9.4 简单恢复模式下的差异数据库还原 291

15.10 小型案例实训 291

小结 292

习题 293

项目16 导入和导出数据库中的数据 295

16.1 使用SQL Server导入和导出向导 296

16.1.1 启动SQL Server导入和导出向导 296

16.1.2 SQLServer导入和导出向导界面 297

16.2 使用SSIS 300

16.2.1 SSIS介绍 300

16.2.2 SSIS工作方式 300

16.2.3 创建SSIS包 301

16.2.4 执行SSIS包 304

16.3 小型案例实训 305

小结 307

习题 307

项目17 管理数据库安全 309

17.1 数据库权限层次结构 310

17.2 身份验证模式 311

17.2.1 Windows身份验证模式 311

17.2.2 混合验证模式 311

17.3 创建登录名 312

17.3.1 创建Windows登录 312

17.3.2 创建SQL Server登录 313

17.3.3 密码策略 314

17.4 服务器级别角色 315

17.4.1 服务器级别角色的作用 315

17.4.2 固定服务器角色 316

17.4.3 创建服务器角色 316

17.5 数据库用户 317

17.5.1 数据库用户的作用 317

17.5.2 创建数据库用户 317

17.6 数据库级别角色 318

17.6.1 数据库级别角色的作用 318

17.6.2 固定数据库角色 318

17.6.3 创建数据库角色 319

17.7 权限 320

17.7.1 授予权限 320

17.7.2 撤销权限 322

17.7.3 拒绝权限 322

17.8 小型案例实训 323

小结 325

习题 326

项目18 学生管理系统案例 327

18.1 程序设计介绍 328

18.1.1 Microsoft Visual Studio 2010集成环境 328

18.1.2 C#语言 328

18.1.3 ASP.NET 329

18.2 小型案例实训 330

18.2.1 基于Windows的学生管理系统 330

18.2.2 基于Web的学生管理系统 335

小结 341

习题 342

附录 各项目习题参考答案 343

参考文献 365