《融会贯通 从Oracle 12c到SQL Server 2016》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:李爱武编著
  • 出 版 社:北京:北京邮电大学出版社
  • 出版年份:2016
  • ISBN:9787563549672
  • 页数:400 页
图书介绍:本书主要面向要进入SQL Server数据库相关工作领域的有Oracle数据库基础的技术人员,采用与Oracle相关内容对比的方法讲述SQL Server 2016的系统原理及使用方法,使得读者能利用自己原有的知识快速掌握SQL Server数据库,并达到较高的水平。另外,本书的主要特色在于两个数据库产品在各个方面的对比,在国内还没有同类书籍出版,其内容对各种数据库设计都有很好的参考作用。

第1章 准备软件环境 1

1.1 下载Oracle数据库软件 1

1.2 下载SQL Server数据库软件 2

1.3 安装软件 4

1.3.1 安装Oracle 12c 4

1.3.2 安装SQL Server 2016 11

1.4 创建数据库 16

1.4.1 用图形工具建库 16

1.4.2 执行命令建库 25

1.5 删除Oracle和SQL Server软件 26

1.6 下载Oracle的帮助文件 28

1.7 下载SQL Server的帮助文件 29

1.8 创建本书测试数据 32

1.8.1 在Oracle数据库中添加测试数据 32

1.8.2 在SQL Server数据库中添加测试数据 32

第2章 客户端工具 34

2.1 客户端工具概述 34

2.1.1 Oracle的客户端工具 34

2.1.2 SQL Server的客户端工具 35

2.2 启动数据库服务 35

2.2.1 启动Oracle数据库服务 35

2.2.2 启动SQL Server数据库服务 36

2.3 命令行工具使用方法 37

2.3.1 启动客户端工具并连接至数据库 37

2.3.2 查看软件版本 39

2.3.3 切换用户 39

2.3.4 切换数据库 40

2.3.5 查看当前数据库名称 40

2.3.6 修改密码 41

2.3.7 执行SQL命令 41

2.3.8 设置客户端界面每行容纳的字符数 43

2.3.9 修改执行过的SQL命令以重新执行 43

2.3.10 执行SQL脚本文件 43

2.3.11 查询结果保存为文件 44

2.3.12 设置查询结果的字符串列宽 45

2.3.13 查询表的结构,describe命令 47

2.4 图形工具使用方法 48

2.4.1 Oracle的图形工具 48

2.4.2 SQL Server的Management Studio 56

第3章 SQL语言 58

3.1 SQL概览 58

3.2 select语句 59

3.2.1 简单查询 59

3.2.2 多表连接 61

3.2.3 子查询 63

3.2.4 分页查询 64

3.2.5 集合运算 66

3.2.6 时态数据库相关查询 67

3.3 insert语句 72

3.4 update语句 73

3.5 delete语句 74

3.6 null值的处理 74

3.6.1 null值在排序中的处理 74

3.6.2 null处理函数 76

3.7 管理表 77

3.7.1 创建表 78

3.7.2 修改列的数据类型 79

3.7.3 添加及删除列 79

3.7.4 修改列名 79

3.7.5 修改表名 80

3.7.6 删除表 80

3.8 identity列 82

3.9 约束 82

3.10 视图 84

3.11 序列 85

3.12 同义词 86

第4章 字符串、数值及其常用函数 88

4.1 字符串类型 88

4.1.1 数据库字符集与国家字符集 88

4.1.2 设置Oracle字符集 89

4.1.3 设置SQL Server字符集 90

4.1.4 char(n)与varchar(n)的长度范围 91

4.1.5 nchar(n)和nvarchar(n)的长度范围 92

4.2 数值类型 92

4.2.1 定点数值数据类型number(p,s)与numeric(p,s) 93

4.2.2 整型 93

4.2.3 浮点型 94

4.2.4 在SQL Server中查询数据类型对应关系 95

4.3 常用字符串处理函数 96

4.3.1 字符串合并 96

4.3.2 ASCII码与字符的转换 97

4.3.3 字符串大小写转换 98

4.3.4 求字符串长度 99

4.3.5 裁剪字符串,trim系列函数 99

4.3.6 求子字符串,substr与substring 100

4.3.7 替换指定子串 101

4.4 常用数值处理函数 102

4.5 字符串及数值类型转换函数 102

4.5.1 在Oracle中把数值转换为字符串 102

4.5.2 在SQL Server中把数值转换为字符串 103

4.5.3 Oracle中把字符串转换为数值 104

4.5.4 SQL Server中把字符串转换为数值 105

第5章 日期时间类型数据的处理 107

5.1 日期时间类型 107

5.1.1 Oracle中的日期时间类型 107

5.1.2 SQL Server中的日期时间类型 108

5.2 处理日期时间常量 108

5.2.1 Oracle的情形 109

5.2.2 SQL Server的情形 109

5.2.3 设置默认日期时间环境参数 110

5.3 日期时间处理函数 111

5.3.1 类型转换函数 112

5.3.2 获得当前日期时间 115

5.3.3 抽取日期时间的指定部分 118

5.3.4 获取日期和时间差 119

5.3.5 获取指定日期所在月份的最后一天 121

第6章 逻辑存储结构 122

6.1 表空间与文件组的功能分类 122

6.1.1 分类与功能对比 122

6.1.2 表空间与文件组的对应关系 123

6.2 默认表空间与默认文件组 123

6.2.1 Oracle数据库的默认表空间 123

6.2.2 SQL Server数据库的默认文件组 123

6.2.3 把表创建到指定表空间或文件组 124

6.3 数据文件 125

6.3.1 为什么大型数据库一般使用多个文件存储数据 125

6.3.2 Oracle的数据文件 125

6.3.3 SQL Server的数据文件 125

6.4 空间分配单位:extent 125

6.5 最小存储单位:data block与data page 126

6.6 Oracle的segment 126

6.7 表空间及文件组管理 126

6.7.1 创建表空间或文件组 127

6.7.2 删除表空间或文件组 128

6.7.3 修改表空间或文件组属性 129

6.8 修改数据文件属性 129

6.9 移动数据文件 130

6.9.1 Oracle移动数据文件 130

6.9.2 SQL Server移动数据文件 131

6.10 查询表空间或文件组信息 131

6.11 查询数据文件信息 132

6.12 查询表分配到的extent信息 133

第7章 数据库体系结构 135

7.1 服务器结构 135

7.2 数据库文件及数据库相关文件 135

7.2.1 Oracle的情形 135

7.2.2 SQL Server的情形 136

7.3 内存结构 137

7.3.1 Oracle的内存结构 138

7.3.2 配置Oracle内存 140

7.3.3 SQL Server的内存结构 140

7.4 主要进程(线程) 141

7.4.1 Oracle的主要进程 142

7.4.2 SQL Server的主要线程 142

7.5 SQL Server的系统数据库 143

7.6 客户端连接的处理模式 144

第8章 存储空间的分配与回收 145

8.1 空间分配 145

8.2 对象存储空间在多个文件的循环分配 148

8.2.1 Oracle表数据在多个数据文件上的分布 148

8.2.2 SQL Server表数据在多个数据文件上的分布 150

8.3 删除数据对表占用存储空间的影响 150

8.3.1 在Oracle数据库中验证delete及truncate操作对存储空间的影响 151

8.3.2 在SQL Server数据库中验证delete及truncate操作对存储空间的影响 152

第9章 重做日志文件及其管理 154

9.1 重做日志文件的内容及作用 154

9.2 重做日志文件的组织 154

9.2.1 Oracle的重做文件组 154

9.2.2 Oracle的归档模式 155

9.2.3 SQL Server的重做日志文件组织方式 155

9.2.4 SQL Server的虚拟日志文件 155

9.2.5 SQL Server的事务日志备份 156

9.3 查看重做日志文件信息 156

9.3.1 Oracle的情形 156

9.3.2 SQL Server的情形 157

9.4 数据库运行模式 158

9.4.1 设置Oracle数据库的归档模式 159

9.4.2 SQL Server数据库的完整、简单及大容量日志恢复模式 161

9.4.3 SQL Server的完整日志维护状态对重做文件使用的影响 163

9.4.4 SQL Server的大容量日志恢复模式对产生重做数据量的影响 167

9.4.5 Oracle对大容量操作的处理方式 169

9.5 管理重做日志文件 175

9.5.1 Oracle的情形 175

9.5.2 SQL Server的情形 176

第10章 配置服务器与数据库 179

10.1 配置Oracle数据库服务器 179

10.1.1 初始化参数文件 179

10.1.2 pfile与spfile的区别 180

10.1.3 查看初始化参数值 180

10.1.4 修改初始化参数值 181

10.2 配置SQL Server服务器与数据库 181

10.2.1 查看服务器参数 182

10.2.2 修改服务器参数 183

10.2.3 查看数据库配置信息 184

10.2.4 修改数据库配置信息 185

10.2.5 设置当前连接参数 185

第11章 用户及权限管理 186

11.1 Oracle与SQL Server的用户和权限相关概念 186

11.1.1 用户 186

11.1.2 角色 187

11.1.3 模式和架构 187

11.1.4 SQL Server中的主体和安全对象 187

11.1.5 权限概念 188

11.2 用户管理 189

11.2.1 创建用户 189

11.2.2 修改用户属性 190

11.2.3 删除用户 191

11.2.4 用户信息查询 192

11.2.5 几个预置特殊用户简介 194

11.3 密码管理 195

11.3.1 密码策略管理 195

11.3.2 修改密码 198

11.4 Oracle的权限管理 198

11.4.1 系统权限和对象权限 198

11.4.2 所有的系统权限和对象权限 199

11.4.3 授予用户权限 200

11.4.4 撤销用户权限 201

11.4.5 查询用户的权限信息 202

11.5 SQL Server的权限管理 204

11.5.1 架构的概念及其管理 204

11.5.2 主要权限列表 205

11.5.3 权限管理的三个命令 208

11.5.4 服务器层次的权限管理 208

11.5.5 数据库层次的权限管理 211

11.5.6 架构层次的权限管理 213

11.5.7 对象权限 214

11.5.8 查询当前数据库用户具备的权限信息 216

11.6 角色 218

11.6.1 预置角色 218

11.6.2 创建及删除角色 219

11.7 SQL Server安全管理的几个易混淆问题 223

11.7.1 revoke与deny 223

11.7.2 安全对象的属主(owner) 226

11.7.3 安全对象的control权限 227

11.7.4 control server权限与sysadmin服务器角色 227

11.7.5 安全对象的take ownership权限 227

第12章 索引 229

12.1 B树索引 229

12.2 索引组织表与聚集索引 231

12.3 Oracle位图索引 232

第13章 执行计划 233

13.1 SQL命令的执行过程 233

13.2 执行计划的内容 233

13.3 使用文本方式查看执行计划 234

13.3.1 在Oracle中查看执行计划 234

13.3.2 在SQL Server中查看执行计划 238

13.3.3 查看SQL命令的执行时间 240

13.4 使用图形方式查看执行计划 241

13.4.1 Oracle的情形 241

13.4.2 SQL Server的情形 243

第14章 分区 246

14.1 Oracle中的分区类型 246

14.2 Oracle的范围分区 247

14.2.1 创建分区 247

14.2.2 添加与删除分区 249

14.2.3 合并与分割分区 249

14.3 Oracle的散列分区 250

14.3.1 创建散列分区 251

14.3.2 添加与删除散列分区 251

14.3.3 合并与分割散列分区 251

14.4 Oracle的列表分区 251

14.4.1 创建列表分区 252

14.4.2 添加与删除列表分区 252

14.4.3 合并与分割列表分区 252

14.4.4 增减列表值 253

14.5 Oracle的复合分区 253

14.5.1 创建range-*复合分区表 254

14.5.2 创建list-*复合分区表 255

14.5.3 创建hash-*复合分区表 257

14.5.4 管理子分区 259

14.6 Oracle分区的常见维护操作 260

14.6.1 查询分区表信息 260

14.6.2 重命名分区 261

14.6.3 移动分区 262

14.6.4 设置表的row movement属性 262

14.6.5 操作指定分区的数据 262

14.7 Oracle的分区索引 263

14.7.1 本地分区索引 263

14.7.2 全局分区索引 265

14.7.3 表分区的修改对索引的影响 266

14.8 SQL Server的分区表 268

14.8.1 使用分区的主要步骤 268

14.8.2 创建存放分区的文件组 268

14.8.3 创建分区函数 269

14.8.4 创建分区方案 270

14.8.5 创建分区表 271

14.8.6 查询记录所在分区 271

14.8.7 分割分区 272

14.8.8 合并分区 273

14.8.9 在表之间移动分区数据 273

14.8.10 删除分区函数与分区方案 274

14.9 SQL Server的分区索引 275

14.10 查询SQL Server分区信息 275

14.10 .1 查询分区函数信息 275

14.10 .2 查询分区方案信息 276

14.10 .3 查询分区表信息 276

14.10 .4 操作分区内的数据 277

第15章 事务处理 278

15.1 事务概念 278

15.2 ACID属性 278

15.3 事务控制命令 278

15.3.1 commit背后 279

15.3.2 rollback背后 279

15.4 客户端的事务模式 279

15.4.1 自动提交模式 280

15.4.2 隐式模式 280

15.4.3 显式模式 280

15.4.4 设置事务模式 280

15.5 DDL及DCL语句的处理方式 281

15.6 事务隔离级别 283

15.6.1 脏读和不可重复读问题 284

15.6.2 SQL标准中的事务隔离级别 285

15.6.3 read committed隔离级别 286

15.6.4 serializable隔离级别 288

15.7 SQL Server的多版本数据技术 290

15.7.1 设置read_committed_snapshot改变read committed效果 290

15.7.2 设置allow_snapshot_isolation改变serializable效果 291

第16章 锁 293

16.1 Oracle的锁 293

16.2 SQL Server的锁 294

16.2.1 SQL Server中锁的种类 294

16.2.2 共享锁 295

16.2.3 排他锁 296

16.2.4 更新锁——SQL Server真的支持行锁吗 296

16.2.5 意向锁 299

16.2.6 架构锁 299

16.2.7 锁的升级 299

16.2.8 read uncommitted隔离级别与锁 301

16.2.9 read committed隔离级别与锁 301

16.2.10 repeatable read隔离级别与锁 303

16.2.11 serializable隔离级别与锁 304

16.2.12 SQL Server查询不使用锁的几种情况 306

16.3 死锁 306

第17章 程序设计 309

17.1 PL/SQL和T-SQL简介 309

17.2 注释方式 309

17.3 程序基本结构 310

17.4 信息输出:Hello,world! 310

17.4.1 PL/SQL使用dbms_output包 310

17.4.2 T-SQL使用print 311

17.5 变量声明与赋值 311

17.5.1 PL/SQL的变量声明及赋值 311

17.5.2 T-SQL的变量声明及赋值 313

17.6 条件处理 314

17.6.1 PL/SQL中的条件处理 314

17.6.2 T-SQL中的条件处理 315

17.6.3 case语句 316

17.7 循环 318

17.7.1 PL/SQL中的循环 318

17.7.2 T-SQL中的循环 320

17.7.3 break与continue 321

17.8 异常处理 322

17.8.1 PL/SQL的exception…when 322

17.8.2 T-SQL的try…catch 326

第18章 存储过程与函数 330

18.1 存储过程 330

18.1.1 不附带参数的存储过程 330

18.1.2 附带输入参数的存储过程 331

18.1.3 附带输出参数的存储过程 333

18.2 函数 334

18.2.1 Oracle的函数 334

18.2.2 SQL Server的函数 335

18.3 查询存储过程及函数的定义 336

第19章 触发器 337

19.1 触发器与存储过程及约束的差异 337

19.2 触发器中引用的两个临时表 337

19.3 Oracle的触发器 338

19.3.1 触发器类型 338

19.3.2 DDL触发器 338

19.3.3 DML触发器 340

19.3.4 系统触发器 342

19.4 SQL Server的触发器 344

19.4.1 SQL Server触发器类型 344

19.4.2 DDL触发器 344

19.4.3 DML触发器 345

19.4.4 logon触发器 349

19.5 管理触发器 349

19.5.1 查询触发器定义 349

19.5.2 删除触发器 351

19.5.3 修改触发器定义 351

19.5.4 启用和禁用触发器 351

第20章 数据字典及系统信息查询 353

20.1 数据字典视图简介 353

20.2 数据字典视图分类 353

20.3 获得所有数据字典视图 354

20.4 Oracle与SQL Server常用数据字典视图的对应关系 356

20.4.1 服务器配置参数 356

20.4.2 数据库配置参数 356

20.4.3 存储空间 357

20.4.4 数据库对象 357

20.4.5 用户与权限 358

20.4.6 重做日志 358

20.4.7 事务 358

20.4.8 锁 358

20.4.9 进程与连接信息 358

20.5 常用系统信息查询 359

20.5.1 查询产品版本 359

20.5.2 查询配置参数 360

20.5.3 查询内存配置和使用情况 363

20.5.4 获取当前系统时间 366

20.5.5 查看当前用户 367

20.5.6 查看表的结构 368

20.5.7 查看存储过程、函数及触发器定义 368

第21章 备份恢复 370

21.1 备份恢复工具 370

21.2 备份种类 370

21.3 restore与recover命令的含义 371

21.4 备份语法 372

21.4.1 全库备份 372

21.4.2 文件及表空间(文件组)备份 373

21.4.3 差异备份 374

21.4.4 SQL Server的事务日志备份 375

21.5 恢复语法 375

21.5.1 rman中的恢复语法 375

21.5.2 SQL Server中的恢复语法 376

21.6 备份恢复实践 376

21.6.1 Oracle全库备份及恢复的完整过程 376

21.6.2 SQL Server全库备份及恢复的完整过程 381

第22章 导入导出数据 384

22.1 导入导出数据的主要工具 384

22.2 Oracle的expdp/impdp与SQL Server的bcp 384

22.2.1 Oracle的expdp/impdp 384

22.2.2 SQL Server的bcp 387

22.3 Oracle的SQL*Loader工具与SQL Server的bulk insert命令 388

22.3.1 Oracle的SQL*Loader工具 388

22.3.2 SQL Server的bulk insert命令 389

22.4 SQL Server的导入导出向导(SSIS) 390

第23章 闪回数据库 393

23.1 闪回原理 393

23.2 基本配置 393

23.3 对数据库执行闪回操作 395

23.3.1 Oracle的情形 395

23.3.2 SQL Server的情形 396

23.4 Oracle数据库的其他闪回功能 396

23.4.1 闪回查询(flashback query) 396

23.4.2 闪回删除的记录 397

23.4.3 闪回删除的表 398

23.5 小结 399

参考文献 400