《Oracle 11g基础教程与实验指导》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:郝安林,康会光等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302317975
  • 页数:432 页
图书介绍:本书主要介绍了关系数据库设计,Oracle数据库的基本体系结构,PL/SQL程序设计,用户、模式和表,过程、函数和程序包,索引,视图、序列和同义词,触发器,事务与并发控制,模式对象管理,存储管理,以及备份与恢复等知识。本书建立了完善的示例数据库,全书内容紧紧围绕示例数据库展开。

第1章 Oracle 11g关系数据库 1

1.1 关系数据模型 1

1.1.1 数据结构 1

1.1.2 关系的完整性约束 3

1.1.3 关系数据模型的特点 4

1.2 关系数据库的范式理论 5

1.2.1 第一范式 5

1.2.2 第二范式 6

1.2.3 第三范式 6

1.3 实体-关系模型 7

1.3.1 E-R模型的概念 7

1.3.2 E-R图的绘制 8

1.3.3 将E-R模型转化为关系模型 9

1.4 Oracle 11g的下载和安装 11

1.4.1 下载和安装Oracle 11g 11

1.4.2 Oracle服务管理 13

1.5 创建数据库 14

1.6 Oracle默认用户 18

1.7 使用OEM 19

1.8 扩展练习 21

第2章 Oracle数据库的体系结构 22

2.1 物理存储结构 22

2.1.1 数据文件 22

2.1.2 控制文件 24

2.1.3 重做日志文件 25

2.1.4 其他文件 25

2.2 逻辑存储结构 26

2.2.1 表空间 27

2.2.2 段 27

2.2.3 区 29

2.2.4 块 29

2.3 Oracle数据库的实例结构 31

2.3.1 Oracle进程结构 31

2.3.2 Oracle内存结构 36

2.4 数据字典 40

2.4.1 Oracle数据字典介绍 40

2.4.2 常用数据字典 41

2.5 扩展练习 44

第3章 使用SQL*Plus工具 46

3.1 SQL*Plus概述 46

3.1.1 SQL*Plus的主要功能 46

3.1.2 SQL*Plus连接与断开数据库 47

3.2 使用SQL*Plus命令 49

3.2.1 使用DESCRIBE命令查看表结构 49

3.2.2 执行SQL脚本 50

3.2.3 使用SAVE命令保存缓冲区内容到文件 51

3.2.4 使用GET命令读取脚本文件到缓冲区 52

3.2.5 使用EDIT命令编辑缓冲区内容或文件 52

3.2.6 使用SPOOL命令复制输出结果到文件 53

3.3 变量 54

3.3.1 临时变量 54

3.3.2 定义变量 55

3.4 练习3-1:使用多个变量动态获取部门信息 57

3.5 格式化查询结果 58

3.5.1 格式化列 58

3.5.2 设置每页显示的数据行 59

3.5.3 设置每行显示的字符数 60

3.6 创建简单报表 61

3.6.1 报表的标题设计 61

3.6.2 统计数据 63

3.7 练习3-2:使用报表统计各部门的最高工资 64

3.8 扩展练习 65

第4章 管理表空间 66

4.1 基本表空间 66

4.1.1 创建Oracle基本表空间 66

4.1.2 使用表空间 69

4.1.3 管理表空间 70

4.2 练习4-1:创建并修改表空间tablespace 76

4.3 临时表空间 77

4.3.1 创建临时表空间 77

4.3.2 修改临时表空间 78

4.3.3 临时表空间组 79

4.4 大文件表空间 81

4.5 非标准数据块表空间 82

4.6 撤销表空间 83

4.6.1 管理撤销表空间的方式 84

4.6.2 创建与管理撤销表空间 85

4.7 练习4-2:管理撤销表空间 89

4.8 扩展练习 90

第5章 表 91

5.1 创建表 91

5.1.1 数据类型 91

5.1.2 创建Oracle数据表 93

5.1.3 指定表空间 94

5.1.4 指定存储参数 95

5.2.1 指定重做日志 96

5.2 练习5-1:创建图书信息表 97

5.3 修改数据表 97

5.3.1 增加和删除列 98

5.3.2 更新列 99

5.3.3 重命名表 100

5.3.4 改变表的存储表空间和存储参数 101

5.3.5 删除表定义 102

5.4 练习5-2:修改会员信息表 102

5.5 表的完整性约束 103

5.5.1 约束的分类和定义 103

5.5.2 NOTNULL约束 104

5.5.3 PRIMARYKEY约束 106

5.5.4 UNIQUE约束 107

5.5.5 CHECK约束 109

5.5.6 FOREIGN KEY约束 110

5.5.7 DISABLE和ENABLE约束 113

5.6 练习5-3:创建学生信息表和班级表 114

5.7 扩展练习 115

第6章 控制文件与日志文件的管理 116

6.1 管理控制文件 116

6.1.1 控制文件概述 116

6.1.2 创建控制文件 117

6.1.3 备份控制文件 121

6.1.4 恢复控制文件 122

6.1.5 控制文件的移动与删除 123

6.1.6 查看控制文件信息 125

6.2 管理重做日志文件 126

6.2.1 日志文件概述 126

6.2.2 创建日志文件组及其成员 127

6.2.3 重新定义日志文件成员 129

6.2.4 删除日志文件组及其成员 131

6.2.5 切换日志文件组 132

6.2.6 清空日志文件组 132

6.2.7 查看日志文件信息 134

6.3 管理归档日志 135

6.3.1 日志操作模式 135

6.3.2 归档日志概述 136

6.3.3 设置数据库模式 137

6.3.4 设置归档目标 139

6.3.5 归档文件格式 140

6.3.6 设置归档进程的跟踪级别 142

6.3.7 查看归档日志信息 143

6.4 练习6-1:恢复非归档模式下的控制文件和日志文件 145

6.5 练习6-2:恢复单个控制文件 147

6.6 扩展练习 147

第7章 SQL基础 149

7.1 基本查询 149

7.1.1 查询语句——SELECT 149

7.1.2 指定过滤条件——WHERE子句 151

7.1.3 获取唯一记录——DISTINCT 154

7.1.4 分组——GROUP BY子句 154

7.1.5 过滤分组——HAVING子句 156

7.1.6 排序——ORDER BY子句 156

7.2 其他DML语句 158

7.2.1 插入数据——INSERT操作 158

7.2.2 更新数据——UPDATE操作 160

7.2.3 删除数据——DELETE操作 161

7.2.4 合并数据——MERGE操作 161

7.3 基本函数 163

7.3.1 字符串函数 163

7.3.2 数值函数 167

7.3.3 日期函数 170

7.3.4 聚合函数 172

7.4 数据一致性与事务管理 174

7.4.1 Oracle中的数据一致性与事务 174

7.4.2 Oracle中的事务处理 174

7.4.3 事务处理原则 176

7.5 练习7-1:学生信息表的合并 178

7.6 练习7-2:统计各个部门最近一个月的入职人数 179

7.7 练习7-3:打印各个部门的员工工资详情 179

7.8 练习7-4:统计各个部门员工的最高工资 180

7.9 扩展练习 180

第8章 子查询与高级查询 182

8.1 子查询 182

8.1.1 子查询类型 182

8.1.2 实现单行子查询 183

8.1.3 实现多列子查询 185

8.1.4 实现多行子查询 187

8.1.5 实现关联子查询 189

8.1.6 实现嵌套子查询 191

8.2 连接查询 192

8.2.1 使用等号(=)实现多个表的简单连接查询 193

8.2.2 使用INNER JOIN实现多个表的内连接 193

8.2.3 使用OUTER JOIN实现多个表的外连接 194

8.3 使用集合操作符 196

8.3.1 求并集(记录唯一)——UNION运算 197

8.3.2 求并集——UNION ALL运算 198

8.3.3 求交集——INTERSECT运算 198

8.3.4 求差集——MINUS运算 199

8.4 练习8-1:统计工资最高的第6到第10位之间的员工 199

8.5 练习8-2:统计不同工资范围内的员工人数 201

8.6 练习8-3:获取平均工资最高的部门信息 201

8.7 练习8-4:获取部门编号为100的所有员工信息 202

8.8 扩展练习 202

第9章 PL/SQL基础 204

9.1 PL/SQL概述 204

9.1.1 PL/SQL语言特点 204

9.1.2 PL/SQL代码编写规则 205

9.2 PL/SQL编程结构 206

9.2.1 PL/SQL程序块的基本结构 206

9.2.2 PL/SQL数据类型 207

9.2.3 变量和常量 208

9.2.4 复合数据类型 209

9.2.5 运算符与表达式 211

9.2.6 PL/SQL注释 212

9.3 条件选择语句 213

9.3.1 IF条件选择语句 213

9.3.2 CASE表达式 215

9.4 循环语句 219

9.4.1 LOOP循环语句 219

9.4.2 WHILE循环语句 221

9.4.3 FOR循环语句 222

9.5 练习9-1:打印九九乘法口诀表 223

9.6 游标 224

9.6.1 声明游标 224

9.6.2 打开游标 225

9.6.3 检索游标 226

9.6.4 关闭游标 226

9.6.5 游标属性 226

9.6.6 简单游标循环 228

9.6.7 游标FOR循环 228

9.6.8 使用游标更新或删除数据 229

9.7 异常 231

9.7.1 异常处理 231

9.7.2 预定义异常 231

9.7.3 非预定义异常 232

9.7.4 自定义异常 234

9.8 练习9-2:更新员工工资 235

9.9 练习9-3:获取指定部门下的所有员工信息 236

9.10 扩展练习 237

第10章 PL/SQL高级应用 239

10.1 存储过程 239

10.1.1 创建与调用存储过程 239

10.1.2 存储过程的参数 241

10.1.3 修改与删除存储过程 244

10.1.4 查看存储过程的定义信息 245

10.2 练习10-1:添加学生 245

10.3 函数 246

10.3.1 函数的基本操作 246

10.3.2 函数的参数 248

10.4 练习10-2:计算指定部门编号的员工平均工资 250

10.5 触发器 252

10.5.1 触发器的类型 252

10.5.2 创建触发器 252

10.5.3 DML触发器 253

10.5.4 INSTEAD OF触发器 257

10.5.5 数据库事件触发器 259

10.5.6 DDL触发器 262

10.5.7 触发器的基本操作 263

10.6 练习10-3:使用触发器自动为主键列赋值 264

10.7 程序包 265

10.7.1 程序包的优点 266

10.7.2 程序包的定义 267

10.7.3 调用程序包中的元素 268

10.7.4 删除程序包 269

10.8 练习10-4:管理员工工资 269

10.9 扩展练习 271

第11章 其他模式对象 272

11.1 索引 272

11.1.1 索引的类型 272

11.1.2 指定索引选项 275

11.1.3 创建B树索引 276

11.1.4 创建位图索引 277

11.1.5 创建反向键索引 278

11.1.6 创建基于函数的索引 278

11.1.7 管理索引 279

11.2 练习11-1:为产品表创建索引并管理 281

11.3 临时表 282

11.3.1 临时表的特点 282

11.3.2 创建与使用临时表 283

11.4 视图 285

11.4.1 创建视图 285

11.4.2 可更新的视图 286

11.4.3 删除视图 287

11.5 练习11-2:为customer表创建视图并修改 288

11.6 序列 289

11.6.1 创建序列 289

11.6.2 修改序列 290

11.6.3 删除序列 291

11.7 练习11-3:为用户注册表创建序列 291

11.8 同义词 292

11.9 扩展练习 293

第12章 用户角色、权限与安全 295

12.1 用户和模式 295

12.1.1 用户 295

12.1.2 模式 296

12.2 管理用户 298

12.2.1 创建用户 298

12.2.2 修改用户 300

12.2.3 删除用户 301

12.2.4 管理用户会话 302

12.3 用户配置文件 303

12.3.1 创建用户配置文件 303

12.3.2 使用配置文件 305

12.3.3 查看配置文件信息 306

12.3.4 修改与删除配置文件 306

12.4 权限 307

12.4.1 系统权限 307

12.4.2 对象权限 311

12.5 角色 315

12.5.1 角色概述 315

12.5.2 系统预定义角色 316

12.5.3 创建角色 318

12.5.4 为角色授予权限 319

12.5.5 修改用户的默认角色 319

12.5.6 管理角色 320

12.5.7 查看角色信息 322

12.6 练习12-1:创建用户并修改密码 324

12.7 练习12-2:为新用户newuser创建配置文件 324

12.8 练习12-3:为新用户newuser创建对象权限 324

12.9 扩展练习 325

第13章 SQL语句优化 326

13.1 一般的SQL语句优化技巧 326

13.1.1 SELECT语句中避免使用“*” 326

13.1.2 WHERE条件的合理使用 327

13.1.3 使用TRUNCATE替代DELETE 329

13.1.4 在确保完整性的情况下多用COMMIT语句 330

13.1.5 尽量减少表的查询次数 330

13.1.6 使用EXISTS替代IN 331

13.1.7 使用EXISTS替代DISTINCT 332

13.1.8 使用“<=”替代“<” 334

13.1.9 使用完全限定的列引用 334

13.2 合理连接表 335

13.2.1 选择最有效率的表名顺序 336

13.2.2 WHERE子句的条件顺序 337

13.3 有效使用索引 338

13.3.1 使用索引来提高效率 338

13.3.2 使用索引的基本原则 339

13.3.3 避免对索引列使用NOT关键字 339

13.3.4 避免对唯一索引列使用ISNULL或ISNOTN几L 340

13.3.5 选择复合索引主列 342

13.3.6 监视索引是否被使用 343

13.4 扩展练习 343

第14章 数据加载与传输 345

14.1 Data Pump工具 345

14.1.1 Data Pump工具概述 345

14.1.2 与数据泵相关的数据字典视图 346

14.1.3 使用Data Pump工具前的准备 346

14.2 Data Pump Export工具 347

14.2.1 Data Pump Export选项 348

14.2.2 使用Data Pump Export 351

14.3 练习14-1:导出产品价格表 356

14.4 Data Pump Import工具 357

14.4.1 Data Pump Import选项 357

14.4.2 使用DataPump Import 360

14.5 SQL*Loader 363

14.5.1 SQL*Loader概述 363

14.5.2 数据加载示例 365

14.6 练习14-2:导入用户信息到user表中 368

14.7 扩展练习 369

第15章 使用RMAN工具备份与恢复 370

15.1 RMAN简介 370

15.1.1 RMAN的特点 370

15.1.2 RMAN组件 371

15.1.3 保存RMAN资料档案库 374

15.1.4 配置RMAN 376

15.2 RMAN的基本操作 380

15.2.1 RMAN命令 380

15.2.2 连接到目标数据库 381

15.2.3 取消注册数据库 383

15.3 使用RMAN备份数据库 384

15.3.1 RMAN备份类型 384

15.3.2 BACKUP命令 387

15.3.3 备份数据库 388

15.3.4 多重备份 393

15.3.5 镜像复制 393

15.4 练习15-1:备份整个数据库 394

15.5 RMAN恢复 395

15.5.1 RMAN恢复机制 395

15.5.2 数据库非归档恢复 397

15.5.3 数据库归档恢复 399

15.5.4 移动数据文件到新的位置 401

15.6 练习15-2:备份和恢复userinfo表空间 402

15.7 扩展练习 403

第16章 ATM自动取款机系统数据库设计 404

16.1 系统分析 404

16.2 数据库设计 405

16.3 创建系统数据表 407

16.3.1 创建表空间和用户 407

16.3.2 创建用户信息表 408

16.3.3 创建银行卡信息表 409

16.3.4 创建交易信息表 411

16.4 模拟常规业务操作和创建视图 412

16.4.1 模拟常规业务操作 412

16.4.2 创建视图 415

16.5 业务办理 419

16.5.1 更新账号 419

16.5.2 实现简单的交易操作 420

16.5.3 用户开户 422

16.5.4 修改密码 424

16.5.5 账号挂失 425

16.5.6 办理存取款业务 426

16.5.7 余额查询 428

16.5.8 办理转账业务 429

16.5.9 统计银行的资金流通余额和盈利结算 431

16.5.10 撤户 431