《SQL Server 2012数据库应用案例课堂》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘玉红,郭广新编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302421528
  • 页数:464 页
图书介绍:SQL SERVER 2012是世界上最受欢迎的数据库管理系统之一,其高效、稳定、灵活、可扩展性强并且简单易学,这些特性使其在全球获得越来越多开发人员的青睐,本书并不是枯燥的介绍理论,而是通过与不同难度的案例结合,比较全面地介绍SQL SERVER 2012。与其他数据库相比,SQL SERVER 2012易学易用,通过本书的学习,读者可以轻松掌握最前沿的SQL SERVER 2012技术,为以后高级特性的学习和应用程序的开发夯实数据库基础理论。

第1篇 SQL Server数据库基础 3

第1章 初识SQL Server 2012 3

1.1 数据库的基本概念 4

1.1.1 什么是数据库 4

1.1.2 表 4

1.1.3 数据类型 5

1.1.4 主键 5

1.2 数据库的技术构成 5

1.2.1 数据库系统 5

1.2.2 SQL语言 6

1.2.3 数据库访问技术 7

1.3 SQL Server 2012的优势 8

1.4 SQL Server 2012的新功能 8

1.5 SQL Server 2012的组成 9

1.5.1 SQL Server数据库引擎 9

1.5.2 分析服务 10

1.5.3 集成服务 10

1.5.4 报表服务 10

1.6 高手甜点 10

1.7 跟我学上机 11

第2章 SQL Server 2012的安装与配置 13

2.1 如何选择SQL Server 2012的版本 14

2.2 安装SQL Server 2012 15

2.2.1 SQL Server 2012安装环境要求 15

2.2.2 实例1——安装 SQLServer 2012 15

2.2.3 SQL Server 2012常见实用程序 26

2.3 SSMS基本操作 28

2.3.1 实例2——SSMS的启动与连接 28

2.3.2 实例3——使用模板资源管理器、解决方案与脚本项目 30

2.3.3 实例4 ——配置SQL Server服务器的属性 32

2.3.4 实例5——查询设计器 41

2.4 高手甜点 45

2.5 跟我学上机 45

第2篇 SQL Server数据库基本操作 49

第3章 操作数据库 49

3.1 数据库组成 50

3.1.1 数据文件 50

3.1.2 日志文件 50

3.2 系统数据库 51

3.2.1 master数据库 51

3.2.2 model数据库 51

3.2.3 msdb数据库 51

3.2.4 tempdb数据库 51

3.3 创建数据库 52

3.3.1 实例1——使用对象资源管理器创建数据库 52

3.3.2 实例2——使用Transact-SQL创建数据库 56

3.4 管理数据库 59

3.4.1 实例3——修改数据库 59

3.4.2 实例4——修改数据容量 60

3.4.3 实例5——增加数据库容量 61

3.4.4 实例6——缩减数据库容量 63

3.4.5 实例7——查看数据库信息 64

3.4.6 实例8——数据库更名 68

3.4.7 实例9——删除数据库 69

3.5 高手甜点 70

3.6 跟我学上机 70

第4章 数据表的操作 73

4.1 数据类型 74

4.1.1 系统数据类型 74

4.1.2 实例1——自定义数据类型 79

4.2 创建数据表 82

4.2.1 创建数据表的条件 82

4.2.2 实例2——使用对象资源管理器创建表 83

4.2.3 实例3——使用Transact-SQL创建表 84

4.3 修改表字段 86

4.3.1 实例4——增加字段 86

4.3.2 实例5——修改字段 88

4.3.3 实例6——删除字段 90

4.4 修改表约束 91

4.4.1 实例7——了解常见的表约束 91

4.4.2 实例8——增加约束 93

4.4.3 实例9——删除约束 96

4.5 实例10——查看表中有关信息 97

4.6 实例11——删除表 99

4.7 高手甜点 100

4.8 跟我学上机 101

第5章 Transact-SQL语言基础 103

5.1 Transact-SQL概述 104

5.1.1 什么是Transact-SQL 104

5.1.2 Transact-SQL语法的约定 105

5.2 如何给标识符起名 106

5.3 常量 107

5.3.1 数字常量 107

5.3.2 字符串常量 108

5.3.3 日期和时间常量 109

5.3.4 符号常量 109

5.4 变量 110

5.4.1 实例1——全局变量 110

5.4.2 实例2——局部变量 112

5.4.3 实例3——批和脚本 113

5.5 运算符和表达式 115

5.5.1 算术运算符 115

5.5.2 比较运算符 115

5.5.3 逻辑运算符 116

5.5.4 字符串串联运算符 116

5.5.5 位运算符 116

5.5.6 运算符的优先级 117

5.5.7 什么是表达式 117

5.5.8 Transact-SQL表达式的分类 118

5.6 Transact-SQL利器——通配符 119

5.7 Transact-SQL语言中的注释 119

5.8 高手甜点 120

5.9 跟我学上机 120

第6章 Transact-SQL语句 121

6.1 数据定义语句 122

6.1.1 实例1——创建语句(CREATE) 122

6.1.2 实例2——删除语句(DROP) 125

6.1.3 实例3——修改语句(ALTER) 125

6.2 数据操作语句 127

6.2.1 实例4——插入数据(INSERT) 127

6.2.2 实例5——更改数据(UPDATE) 129

6.2.3 实例6——删除数据(DELETE) 131

6.2.4 实例7——查询数据(SELECT) 132

6.3 数据控制语句 140

6.3.1 实例8——给用户授予权限(GRANT) 140

6.3.2 实例9——拒绝权限操作(DENY) 141

6.3.3 实例10——收回权限操作(REVOKE) 141

6.4 其他基本语句 141

6.4.1 实例11——数据声明(DECLARE) 141

6.4.2 实例12——数据赋值(SET) 142

6.4.3 实例13——数据输出(PRINT) 143

6.5 流程控制语句 144

6.5.1 实例14——BEGIN...END语句 144

6.5.2 实例15——IF...ELSE语句 145

6.5.3 实例16——CASE语句 146

6.5.4 实例17——WHILE语句 148

6.5.5 实例18——GOTO语句 149

6.5.6 实例19——WAITFOR语句 150

6.5.7 实例20——RETURN语句 151

6.6 实例21——批处理语句 152

6.7 高手甜点 153

6.8 跟我学上机 153

第7章 视图操作 155

7.1 视图概述 156

7.1.1 视图的概念 156

7.1.2 视图分类 156

7.1.3 视图优点和作用 157

7.2 创建视图 157

7.2.1 实例1——使用视图设计器创建视图 158

7.2.2 实例2——使用Transact-SQL命令创建视图 159

7.3 实例3——修改视图 161

7.4 实例4——查看视图信息 162

7.5 使用视图修改数据 163

7.5.1 实例5——通过视图向基本表中插入数据 164

7.5.2 实例6——通过视图修改基本表中的数据 165

7.5.3 实例7——通过视图删除基本表中的数据 165

7.6 实例8——删除视图 166

7.7 高手甜点 167

7.8 跟我学上机 168

第8章 数据的插入、更新和删除 169

8.1 插入数据(INSERT) 170

8.1.1 实例1——插入单行数据 170

8.1.2 实例2——插入多行数据 172

8.2 修改数据(UPDATE) 174

8.2.1 实例3——修改单行数据 175

8.2.2 实例4——修改多行数据 175

8.3 删除数据(DELETE) 177

8.3.1 实例5——删除部分数据 177

8.3.2 实例6——删除表中所有数据 178

8.4 高手甜点 178

8.5 跟我学上机 179

第3篇 Transact-SQL查询语句 183

第9章 SQL Server函数 183

9.1 SQL Server函数简介 184

9.2 字符串函数 184

9.2.1 实例1 ——ASCII()函数 184

9.2.2 实例2——CHAR()函数 185

9.2.3 实例3——LEFT()函数 185

9.2.4 实例4——RIGHT()函数 186

9.2.5 实例5——LTRIM()函数 186

9.2.6 实例6——RTRIM()函数 187

9.2.7 实例7——STR()函数 187

9.2.8 实例8——字符串逆序的函数REVERSE(s) 188

9.2.9 实例9——计算字符串长度的函数LEN(str) 188

9.2.10 实例10——匹配子串开始位置的函数CHARINDEX() 189

9.2.11 实例11——SUBSTRING()函数 190

9.2.12 实例12——LOWER(函数 190

9.2.13 实例13——UPPER()函数 191

9.2.14 实例14——替换函数REPLACE(s,s1,s2) 191

9.3 数学函数 192

9.3.1 实例15——绝对值函数ABS(x)和返回圆周率的函数PI() 192

9.3.2 实例16——平方根函数SQRT(x) 193

9.3.3 实例17——获取随机数的函数RAND()和RAND(x) 193

9.3.4 实例18——四舍五入函数ROUND(x,y) 194

9.3.5 实例19——符号函数SIGN(x) 195

9.3.6 实例20——获取整数的函数CEILING(x)和FLOOR(x) 195

9.3.7 实例21——幂运算函数POWER(x,y)、 SQUARE(x)和EXP(x) 196

9.3.8 实例22——对数运算函数LOG(x)和LOG 10(x) 197

9.3.9 实例23——角度与弧度相互转换的数RADIANS(x)和DEGREES(x) 198

9.3.10 实例24——正弦函数SIN(x)和反正弦函数ASIN(x) 198

9.3.11 实例25——余弦函数COS(x)和反余弦函数ACOS(x) 199

9.3.12 实例26——正切函数TAN(x)、反正切函数ATAN(x)和余切函数COT(x) 199

9.4 实例27——数据类型转换函数 201

9.5 文本和图像函数 201

9.5.1 实例28——TEXTPTR()函数 201

9.5.2 实例29——TEXTVALID()函数 202

9.6 日期和时间函数 203

9.6.1 实例30——获取系统当前日期的函数GETDATE() 203

9.6.2 实例31——返回UTC日期的函数UTC_DATE() 203

9.6.3 实例32——获取天数的函数DAY(d) 204

9.6.4 实例33——获取月份的函数MONTH(d) 204

9.6.5 实例34——获取年份的函数YEAR(d) 205

9.6.6 实例35——获取日期中指定部分字符串值的函数DATENAME(dp,d) 205

9.6.7 实例36——获取日期中指定部分的整数值的函数DATEPART(dp,d) 206

9.6.8 实例37——计算日期和时间的函数DATEADD(dp,num,d) 207

9.7 系统函数 207

9.7.1 实例38——返回表中指定字段的长度值的函数COL_LENGTH() 207

9.7.2 实例39——返回表中指定字段的名称的函数COL_NAME() 208

9.7.3 实例40——返回数据表达式的数据的实际长度函数DATALENGTH() 208

9.7.4 实例41——返回数据库的编号的函数DB_ID() 209

9.7.5 实例42——返回数据库的名称的函数DB_NAME() 209

9.7.6 实例43——返回当前数据库默认的NULL值的函数GETANSINULL() 210

9.7.7 实例44——返回服务器端计算机的标识号的函数HOST_ID() 211

9.7.8 实例45——返回服务器端计算机的名称的函数HOST_NAME() 211

9.7.9 实例46——返回数据库对象的编号的函数OBJECT_ID() 212

9.7.10 实例47——返回用户的SID(安全标识号)的函数SUSER_SID() 212

9.7.11 实例48——返回用户的登录名的函数SUSER_SNAME() 213

9.7.12 实例49——返回数据库对象的名称的函数OBJECT_NAME() 213

9.7.13 实例50——返回数据库用户的标识号的函数USER_ID() 214

9.7.14 实例51——返回数据库用户名的函数USER_NAME() 215

9.8 高手甜点 215

9.9 跟我学上机 215

第10章 Transact-SQL查询 217

10.1 查询工具的使用 218

10.1.1 实例1——编辑查询 218

10.1.2 实例2——查询结果的显示方法 219

10.2 使用SELECT进行查询 220

10.2.1 实例3——使用星号和列名 221

10.2.2 实例4——使用DISTINCT取消重复 223

10.2.3 实例5——使用TOP返回前n行 223

10.2.4 实例6——修改列标题 224

10.2.5 实例7——在查询结果集中显示字符串 225

10.2.6 实例8——查询列表达式 226

10.3 使用WHERE进行条件查询 227

10.3.1 实例9——使用关系表达式查询 227

10.3.2 实例10——使用BETWEEN...AND表示范围 229

10.3.3 实例11——使用IN关键字 229

10.3.4 实例12——使用LIKE关键字 230

10.3.5 实例13——使用IS NULL查询空值 233

10.3.6 实例14——使用EXISTS关键字 235

10.3.7 实例15——使用ORDERBY排序 236

10.3.8 实例16——使用GROUPBY分组 238

10.3.9 实例17——使用HAVNG对分组结果过滤 239

10.3.10 实例18——使用COMPUTE子句对查询结果小计 240

10.3.11 实例19——使用COMPUTE BY子句分组小计 241

10.3.12 实例20——使用UNION合并查询结果集 241

10.4 使用聚合函数统计汇总 243

10.4.1 实例21——使用SUM()函数求列的和 244

10.4.2 实例22——使用AVG()函数求列平均值 245

10.4.3 实例23——使用MAX()函数求列最大值 246

10.4.4 实例24——使用MIN()函数求列最小值 247

10.4.5 实例25——使用COUNT()函数统计 248

10.5 嵌套查询 250

10.5.1 实例26——使用比较运算符 250

10.5.2 实例27——使用IN关键字 251

10.5.3 实例28——使用ANY、SOME和ALL关键字 252

10.5.4 实例29——使用EXISTS关键字 254

10.6 多表连接查询 256

10.6.1 实例30——相等连接 256

10.6.2 实例31——不等连接 257

10.6.3 实例32——带选择条件的连接 257

10.6.4 自连接 258

10.7 外连接 259

10.7.1 实例33——左外连接 259

10.7.2 实例34——右外连接 260

10.7.3 实例35——全外连接 260

10.8 使用排序函数 261

10.8.1 实例36——ROWNUMBER()函数 261

10.8.2 实例37——RANK(函数 262

10.8.3 实例38——DENSE_RANK()函数 263

10.8.4 实例39——NTILE()函数 263

10.9 实例40——动态查询 264

10.10 高手甜点 265

10.11 跟我学上机 265

第11章 存储过程和自定义函数 269

11.1 存储过程概述 270

11.2 存储过程分类 270

11.2.1 系统存储过程 271

11.2.2 自定义存储过程 271

11.2.3 扩展存储过程 271

11.3 创建存储过程 271

11.3.1 实例1——创建存储过程 272

11.3.2 实例2——存储过程调用 275

11.3.3 实例3——创建带输入参数的存储过程 276

11.3.4 实例4——创建带输出参数的存储过程 278

11.4 管理存储过程 280

11.4.1 实例5——修改存储过程 280

11.4.2 实例6——查看存储过程 281

11.4.3 实例7——重命名存储过程 283

11.4.4 实例8——删除存储过程 284

11.5 实例9——扩展存储过程 285

11.6 自定义函数 286

11.6.1 实例10——创建标量函数 287

11.6.2 实例11——创建表值函数 289

11.6.3 实例12——删除函数 290

11.7 高手甜点 291

11.8 跟我学上机 291

第12章 触发器 293

12.1 触发器概述 294

12.1.1 什么是触发器 294

12.1.2 触发器的作用 294

12.1.3 触发器的分类 295

12.2 创建DML触发器 295

12.2.1 实例1——INSERT触发器 295

12.2.2 实例2——DELETE触发器 298

12.2.3 实例3——UPDATE触发器 299

12.2.4 实例4——替代触发器 300

12.2.5 实例5——允许使用嵌套触发器 301

12.2.6 实例6——递归触发器 303

12.3 创建DDL触发器 304

12.3.1 创建DDL触发器的语法 304

12.3.2 实例7——创建服务器作用域的DDL触发器 304

12.4 管理触发器 306

12.4.1 实例8——查看触发器 306

12.4.2 实例9——修改触发器 308

12.4.3 实例10——删除触发器 308

12.4.4 实例11——启用和禁用触发器 309

12.5 高手甜点 310

12.6 跟我学上机 310

第13章 创建和使用索引 311

13.1 索引的含义和特点 312

13.2 索引的分类 312

13.3 索引的设计原则 313

13.4 创建索引 314

13.4.1 实例1——使用【对象资源管理器】面板创建索引 314

13.4.2 实例2——使用Transact-SQL语句创建索引 316

13.5 管理和维护索引 319

13.5.1 实例3——显示索引信息 319

13.5.2 实例4——重命名索引 322

13.5.3 实例5——删除索引 323

13.6 高手甜点 324

13.7 跟我学上机 324

第14章 游标 327

14.1 认识游标 328

14.1.1 游标的概念 328

14.1.2 游标的优点 328

14.1.3 游标的分类 328

14.2 游标的基本操作 330

14.2.1 实例1——声明游标 330

14.2.2 实例2——打开游标 331

14.2.3 实例3——读取游标中的数据 332

14.2.4 实例4——关闭游标 333

14.2.5 实例5——释放游标 334

14.3 游标的运用 334

14.3.1 实例6——使用游标变量 334

14.3.2 实例7——用游标为变量赋值 335

14.3.3 实例8——用ORDER BY子句改变游标中行的顺序 336

14.3.4 实例9——用游标修改数据 337

14.3.5 实例10——用游标删除数据 338

14.4 使用系统存储过程管理游标 339

14.4.1 实例11——sp_cursor_list存储过程 339

14.4.2 实例12——sp_describe_cursor存储过程 341

14.4.3 实例13——sp_describe_cursor_columns存储过程 343

14.4.4 实例14——sp_describe_cursor_tables存储过程 344

14.5 高手甜点 346

14.6 跟我学上机 346

第4篇 SQL Server数据库高级管理 349

第15章 规则、默认和完整性约束 349

15.1 规则和默认概述 350

15.2 规则的基本操作 350

15.2.1 实例1——创建规则 350

15.2.2 实例2——把自定义规则绑定到列 350

15.2.3 实例3——验证规则作用 351

15.2.4 实例4——取消规则绑定 352

15.2.5 实例5——删除规则 352

15.3 默认的基本操作 353

15.3.1 实例6——创建默认 353

15.3.2 实例7——把自定义默认绑定到列 354

15.3.3 实例8——验证默认作用 354

15.3.4 实例9——取消默认绑定 355

15.3.5 实例10——删除默认值 355

15.4 完整性约束 356

15.4.1 实例11——主键约束 357

15.4.2 实例12——外键约束 360

15.4.3 实例13——唯一性约束 363

15.4.4 实例14——CHECK约束 364

15.4.5 实例15——DEFAULT约束 364

15.4.6 实例16——NOT NULL约束 364

15.5 高手甜点 365

15.6 跟我学上机 365

第16章 事务和锁 367

16.1 事务管理 368

16.1.1 事务的原理 368

16.1.2 事务管理的常用语句 369

16.1.3 事务的隔离级别 369

16.1.4 实例1——事务的应用 370

16.2 锁 372

16.2.1 锁的内涵与作用 373

16.2.2 可锁定资源与锁的类型 374

16.2.3 死锁 375

16.2.4 实例2——锁的应用 376

16.3 高手甜点 379

16.4 跟我学上机 380

第17章 SQL Server 2012的安全机制 381

17.1 SQL Server安全性概述 382

17.1.1 SQL Server 2012的安全机制 382

17.1.2 基本安全术语 383

17.2 安全验证方式 384

17.2.1 Windows身份验证模式 385

17.2.2 混合模式 385

17.2.3 实例1——设置验证模式 385

17.3 创建登录账户 386

17.3.1 实例2——创建Windows登录账户 387

17.3.2 实例3——创建SQL Server登录账户 391

17.4 实例4——修改登录账户 394

17.5 实例5——删除登录账户 395

17.6 角色管理 396

17.6.1 固定服务器角色 396

17.6.2 数据库角色 398

17.6.3 实例6——自定义数据库角色 398

17.6.4 实例7——应用程序角色 402

17.6.5 实例8——将登录指派到角色 404

17.6.6 将角色指派到多个登录用户 405

17.7 权限管理 407

17.7.1 实例9——授予权限 408

17.7.2 实例10——拒绝权限 409

17.7.3 实例11——撤销权限 409

17.8 高手甜点 410

17.9 跟我学上机 410

第18章 数据库的备份与恢复 411

18.1 备份与恢复介绍 412

18.1.1 备份类型 412

18.1.2 恢复模式 413

18.1.3 实例1——配置恢复模式 413

18.2 备份设备 414

18.2.1 备份设备类型 414

18.2.2 实例2——创建备份设备 415

18.2.3 实例3——查看设备备份 416

18.2.4 实例4——删除备份设备 417

18.3 使用Transact-SQL语言备份数据库 417

18.3.1 实例5——完整备份与差异备份 417

18.3.2 实例6——文件和文件组备份 420

18.3.3 实例7——事务日志备份 422

18.4 在SQL Server Management Studio中还原数据库 423

18.4.1 还原数据库的方式 423

18.4.2 还原数据库前要注意的事项 423

18.4.3 实例8——还原数据库备份 425

18.4.4 实例9——还原文件和文件组备份 428

18.5 用Transact-SQL语言还原数据库 429

18.5.1 实例10——还原完整备份 429

18.5.2 实例11——还原差异备份 431

18.5.3 实例12——还原事务日志备份 432

18.5.4 实例13——还原文件和文件组备份 432

18.5.5 实例14——将数据库还原到某个时间点 433

18.5.6 实例15——将文件还原到新位置上 435

18.6 实例16——建立自动备份的维护计划 436

18.7 高手甜点 441

18.8 跟我学上机 441

第5篇 SQL Server应用案例设计 445

第19章 论坛管理系统数据库设计 445

19.1 系统概述 446

19.2 系统功能 446

19.3 数据库设计和实现 447

19.3.1 设计方案图表 447

19.3.2 设计表 449

19.3.3 设计索引 453

19.3.4 设计视图 454

19.4 本章小结 454

第20章 新闻发布系统数据库设计 455

20.1 系统概述 456

20.2 系统功能 456

20.3 数据库设计和实现 457

20.3.1 设计表 457

20.3.2 设计索引 462

20.3.3 设计视图 463

20.4 本章小结 464