第1章 关系数据库系统与Oracle 10g介绍 1
1.1 数据库管理系统 1
1.1.1 个人系统 1
1.1.2 基于服务器的系统 2
1.2 以实体和联系描述系统 3
1.3 理解关系数据库模型 5
1.3.1 主键 5
1.3.2 范式 7
1.3.3 联系和外键 11
1.3.4 对象关系模型 11
1.4 安装Oracle工具 13
1.4.1 安装Oracle数据库管理系统 14
1.4.2 删除Oracle数据库管理系统 16
1.4.3 安装开发工具包 18
1.4.4 企业表单和报表服务 20
1.5 Oracle环境研究 21
1.5.1 SQL*Plus和iSQL*Plus 21
1.5.2 开发工具包 24
1.5.3 Oracle企业管理器 25
1.6 对本书数据库的介绍 27
1.6.1 Redwood Realty 27
1.6.2 Coffee Merchant 29
1.6.3 Rowing Ventures 31
1.6.4 Broadcloth Clothing 33
1.7 小结 35
第2章 SQL和SQL*Plus概述 39
2.1 引言 39
2.1.1 SQL命令的分类 40
2.1.2 剖析一个SQL语句 40
2.1.3 获得联机帮助 41
2.2 与数据库的接口 43
2.3 使用DOS命令行的SQL*Plus 43
2.3.1 登录Oracle 44
2.3.2 输入并运行SQL命令 44
2.3.3 编辑SQL命令 45
2.4 使用SQL*Plus for Windows 45
2.4.1 登录Oracle 45
2.4.2 输入并运行SQL命令 46
2.4.3 编辑SQL命令 47
2.4.4 退出SQL*Plus 48
2.5 使用iSQL*Plus 49
2.5.1 登录Oracle 49
2.5.2 输入并运行SQL命令 50
2.5.3 编辑SQL命令 51
2.5.4 退出iSQL*Plus 51
2.6 理解SQL语句 51
2.6.1 运行SQL查询 52
2.6.2 考察数据定义语言的语句 54
2.6.3 考察数据操纵语言的语句 55
2.6.4 考察事务控制语句 59
2.6.5 考察数据控制语言的语句 61
2.7 使用SQL*Plus命令扩展功能 62
2.7.1 显示表结构 63
2.7.2 用文件记录打印信息 64
2.7.3 格式化命令 64
2.7.4 定制SQL*Plus环境 67
2.7.5 执行脚本文件 68
2.7.6 使用变量 69
2.7.7 其他SQL*Plus命令 70
2.7.8 建立和运行脚本文件 70
2.8 小结 72
第3章 创建、修改、重命名和删除数据库的表 78
3.1 设计关系数据库 78
3.1.1 与数据库用户交谈 78
3.1.2 确定用户需求 79
3.1.3 确定业务对象 79
3.1.4 规范设计 80
3.2 理解Oracle用户账号 81
3.3 针对Personal Oracle用户的进一步说明 81
3.3.1 创建用户 81
3.3.2 用另一个用户名和口令登录 82
3.3.3 更改用户的系统权限 83
3.3.4 更改用户口令 83
3.3.5 更改自己的口令 84
3.3.6 删除用户 84
3.4 创建表 85
3.4.1 Oracle数据类型 86
3.4.2 用SQL*Plus创建表 90
3.4.3 添加表和列的注释 92
3.5 定义和使用约束 94
3.5.1 理解约束 94
3.5.2 命名约束 94
3.5.3 定义约束 95
3.5.4 创建列约束和表约束 98
3.5.5 给列赋默认值 100
3.6 更改表及约束 101
3.6.1 添加、启用或禁用约束 102
3.6.2 删除或重命名约束 103
3.6.3 更改列默认值或数据类型 104
3.6.4 添加、删除和重命名列 104
3.6.5 标记列为不使用并删除不使用的列 106
3.7 显示表名、结构及注释 107
3.7.1 列出数据库表 108
3.7.2 查看关于列的信息 110
3.7.3 查看表约束和列约束 111
3.7.4 查看表注释和列注释 114
3.8 删除、恢复和重命名表 115
3.8.1 删除表 115
3.8.2 恢复被删除的表 116
3.8.3 清除回收站 116
3.8.4 重命名表 117
3.9 基于其他表创建表 117
3.10 小结 118
第4章 修改数据以及审计表的操作 124
4.1 将数据行插入表中 124
4.1.1 指定列的列表 127
4.1.2 处理完整性约束 127
4.1.3 省略列名 128
4.1.4 插入日期和时间 130
4.1.5 从其他表中插入数据 132
4.1.6 创建和使用序列 134
4.2 更新数据 137
4.2.1 更新语句 137
4.2.2 CASE结构介绍 140
4.2.3 用CASE结构更新数据 141
4.2.4 替代变量 142
4.3 删除行和截断表 146
4.3.1 删除选择的行 147
4.3.2 删除所有行 148
4.4 合并行 148
4.5 数据库事务 151
4.5.1 提交 152
4.5.2 回退 152
4.5.3 保留点 153
4.6 创建和使用数据库触发器 156
4.6.1 触发器介绍 156
4.6.2 创建和使用BEFORE触发器 157
4.6.3 创建一个AFTER触发器审计表操作 160
4.6.4 创建和使用语句级触发器 163
4.6.5 显示、更改、删除触发器 165
4.7 小结 167
第5章 查询数据库 175
5.1 显示单个数据库表中的数据 175
5.1.1 编写SELECT语句 175
5.1.2 选择所有的列 177
5.1.3 使用DISTINCT显示唯一的行 179
5.1.4 中断失控的查询 179
5.1.5 使用搜索条件过滤结果 181
5.1.6 排序 186
5.1.7 在查询中包含计算 190
5.2 SQL函数介绍 195
5.2.1 在查询中使用单行函数 195
5.2.2 使用聚集函数 212
5.2.3 对结果进行分组 217
5.2.4 用HAVING子句过滤组 218
5.2.5 格式化SQL*Plus的输出并创建简单的报表 220
5.3 小结 227
第6章 创建多表查询和视图 234
6.1 创建和使用多表查询 234
6.1.1 联结具有匹配列值的表 235
6.1.2 理解其他联结类型和联结条件 242
6.1.3 集合操作符 251
6.1.4 使用子查询 255
6.2 创建和使用视图 266
6.2.1 视图的用途 267
6.2.2 定义和查询一个表的视图 267
6.2.3 用一个表的视图修改表数据 271
6.2.4 创建复杂视图 272
6.2.5 创建同义词以简化表引用 276
6.2.6 列出视图定义 277
6.2.7 删除视图 278
6.3 小结 279
第7章 使用PL/SQL 287
7.1 PL/SQL介绍 287
7.1.1 PL/SQL的优点 288
7.1.2 PL/SQL块的类型 288
7.2 理解匿名块 288
7.2.1 考察声明部分 289
7.2.2 考察可执行部分 290
7.2.3 考察异常处理部分 291
7.3 创建匿名块 292
7.3.1 初始化Redwood Realty数据库 292
7.3.2 编写匿名块 293
7.3.3 建立SQL*Plus环境 295
7.3.4 运行匿名的PL/SQL块 295
7.3.5 修改匿名块显示多行 296
7.3.6 处理异常情况 297
7.4 理解显式游标 299
7.4.1 PL/SQL循环结构介绍 300
7.4.2 使用显式游标和循环处理行 301
7.4.3 使用FOR循环处理显式游标 305
7.4.4 IF语句介绍 307
7.5 有名块的介绍 311
7.6 创建、使用、显示并删除函数 312
7.6.1 创建并存储函数 312
7.6.2 调用函数 314
7.6.3 修改函数 316
7.6.4 显示并删除函数 318
7.7 创建、使用、显示和删除过程 320
7.7.1 过程的优点 320
7.7.2 创建并存储过程 321
7.7.3 调用存储过程 323
7.7.4 修改过程并重新编译和保存过程 325
7.7.5 显示和删除过程 325
7.8 小结 328
第8章 理解和使用Forms Builder 337
8.1 表单介绍 337
8.1.1 3种主要的表单类型 337
8.1.2 表单服务体系结构 339
8.1.3 Oracle表单的基本结构 340
8.2 用Forms Builder创建一个简单的主表单 342
8.2.1 Forms Builder 导 342
8.2.2 用Run Form按钮测试表单 346
8.2.3 用表单查询显示数据 348
8.3 修改表单 349
8.3.1 布局编辑器 349
8.3.2 对象导航器 350
8.3.3 基本属性 351
8.3.4 添加图像 352
8.3.5 添加查找列 355
8.3.6 创建一个值列表 356
8.3.7 自动执行查询的步骤 359
8.3.8 单选按钮和复选框 359
8.4 创建表格式表单和子表单 362
8.4.1 创建表格式表单 362
8.4.2 创建主表单和子表单 364
8.4.3 给网格添加显示列 367
8.4.4 设置格式掩码 367
8.5 小结 368
第9章 定制表单 372
9.1 设置表单结构 372
9.1.1 创建画布和简单的数据块 374
9.1.2 创建查询数据块 376
9.1.3 完成搜索工作 378
9.2 设计表单触发器 379
9.2.1 定义表单事件 380
9.2.2 创建和编辑触发器 382
9.2.3 调试触发器 385
9.2.4 处理错误 387
9.2.5 理解表单程序的作用域和生命周期 390
9.3 建立有用的表单工具 391
9.3.1 创建序列 391
9.3.2 验证表单输入 394
9.3.3 计算网格数据小计 395
9.4 使用多个画布 398
9.4.1 添加一个画布 398
9.4.2 叠加画布 400
9.4.3 标签画布 401
9.4.4 表单样式的评论 405
9.5 用JDeveloper创建Web表单 405
9.5.1 修改Listings表并建立服务器文件 406
9.5.2 创建数据连接和工作区 406
9.5.3 创建业务组件数据模型 408
9.5.4 创建Java服务器页面显示数据 410
9.5.5 添加搜索表单 412
9.6 小结 416
第10章 创建和修改报表 422
10.1 报表开发器介绍 422
10.1.1 网络发布和纸质报表 422
10.1.2 报表的类型 422
10.1.3 Oracle报表服务 425
10.2 建立和修改报表 426
10.2.1 报表结构 426
10.2.2 Report Builder 427
10.2.3 纸质设计和布局窗口 430
10.2.4 对象导航器窗口 432
10.3 增强报表的功能 434
10.3.1 对齐和调整列 435
10.3.2 设置格式掩码和属性 436
10.3.3 添加阴影和边框 437
10.3.4 插入页号和日期 438
10.3.5 添加文本框 438
10.4 定制报表 439
10.4.1 数据模型 439
10.4.2 添加字段 442
10.4.3 数据组结构及框架 444
10.4.4 手工创建报表 445
10.4.5 显示数据库中的映像 448
10.5 控制报表中的数据 449
10.5.1 创建用户参数 450
10.5.2 使用过滤器限制报表 452
10.5.3 创建报表触发器 453
10.6 创建定制模板 453
10.6.1 设计定制模板 454
10.6.2 应用模板 455
10.6.3 注册模板 456
10.7 定制Web报表 457
10.7.1 动态报表的环境 458
10.7.2 更改Web报表 459
10.7.3 给Web报表添加图表 463
10.8 小结 464
第11章 建立集成应用 469
11.1 设计一个集成数据库应用 469
11.1.1 组织Redwood Realty 470
11.1.2 一致的外观 470
11.1.3 创建模板表单 471
11.1.4 创建和应用属性类和可视属性 472
11.1.5 应用模板表单和属性 473
11.2 在应用中连接表单和报表 475
11.2.1 启动表单 476
11.2.2 打开所连接的表单 477
11.2.3 显示报表 479
11.2.4 在OracleAS中部署表单和报表 483
11.3 创建菜单 484
11.3.1 菜单的作用 484
11.3.2 建立菜单 485
11.3.3 创建菜单动作 487
11.3.4 部署和使用菜单 489
11.4 创建帮助文件 490
11.4.1 Oracle的Web帮助系统 491
11.4.2 创建HTML帮助文件 492
11.4.3 部署并使用帮助文件 494
11.5 小结 496
第12章 维护数据库安全 499
12.1 创建和编辑用户账号 499
12.1.1 用户验证 500
12.1.2 用户角色 502
12.1.3 系统权限和对象权限 502
12.2 控制用户对对象的访问 504
12.2.1 创建角色 505
12.2.2 授予和撤销权限 506
12.3 利用视图和过程实施权限 509
12.3.1 对选定行和列的限制访问 510
12.3.2 利用过程限制更新 511
12.3.3 虚拟专用数据库和标签安全 513
12.3.4 限制应用内的访问 513
12.4 加密保护数据 515
12.4.1 安全的因特网传输 516
12.4.2 加密数据库中选定的数据 517
12.4.3 用wrap保护源代码 518
12.5 审计数据库 519
12.5.1 启用审计 520
12.5.2 查看审计跟踪 521
12.5.3 创建审计触发器 522
12.5.4 细粒度审计 523
12.6 小结 523
第13章 数据库管理 528
13.1 DBA职责一览 528
13.2 使用企业管理器 529
13.3 理解Oracle的存储文件 532
13.3.1 保护控制文件 533
13.3.2 创建表空间和数据文件 534
13.3.3 配置撤销和重做操作 537
13.4 为模式对象配置空间 538
13.4.1 设置表存储参数 538
13.4.2 定义群 539
13.4.3 创建分区 540
13.5 导出和导入数据 542
13.5.1 使用SQL脚本 542
13.5.2 使用数据泵 542
13.5.3 使用SQL*Loader和外部表 543
13.6 维护DBMS 545
13.6.1 补丁和升级 545
13.6.2 启动和关闭数据库 547
13.7 备份数据库 548
13.7.1 备份数据库的复杂性 548
13.7.2 关闭和系统备份(冷备份) 550
13.7.3 继续备份和归档(热备份) 551
13.8 监控和改善数据库性能 552
13.8.1 监控工具 552
13.8.2 优化查询 558
13.9 利用系统视图获得有用信息 563
13.10 小结 565
词汇表 569