贺辞
序
译者序
引言
第一部分 数据库对象的设计
第1 章 Oracle工具介绍
1.1 Oracle公司介绍
1.2 Oracle 7——公司的数据库产品
1.2.1 Oracle8——下一代数据库
1.2.2 SQL*PLUS——Oracle的数据库语言
1.2.3 其他Oracle产品
1.2.4 Designer 2000
1.2.5 Personal Oracle 7
1.3 本书中的习惯用法以及技术术语
1.4 小结
第2章 数据库设计
2.1 什么是关系型数据库
2.2 数据库组件
2.2.1 表空间
2.2.2 表和字段
2.2.3 索引
2.2.4 视图
2.2.5 同义词
2.2.6 授权与角色(Roles)
2.3 关系数据库的设计
2.3.1 数据库术语
2.3.2 数据库设计的描述
2.3.3 数据库表
2.3.4 数据的规范化(Normalizing)
2.4 小结
2.5 我们还将学到
2.6 习题
2.7 雇员数据库项目第一阶段
第3 章 使用Select 命令获取数据
3.1 登录到SQL*PLUS
3.2 SQL*PLUS编辑器
3.3 Select命令格式详解
3.3.1 Select子句
3.3.2 From子句
3.3.3 Where子句
3.3.4 Group by 子句
3.3.5 Having子句
3.3.6 Order By子句
3.3.7 简单的Select语句
3.4 记录排序
3.5 带条件的Select语句
3.5.1 等于符(=)
3.5.2 不等符(<>或!=)
3.5.3 大于(>)和小于(<)
3.5.4 使用IN操作符
3.5.5 使用Retween操作符
3.5.6 使用LIKE操作符
3.5.7 使用NOT 操作符
3.5.8 理解多重条件
3.5.9 变量的使用
3.5.10 字段的算术运算和连接字符串
3.6 理解NULL值和表达式
3.7 日期运算
3.8 字符串函数
3.8.1 Length函数
3.8.2 Lpad函数
3.8.3 Ltrim函数
3.8.4 Rpad函数
3.8.5 Rtrim函数
3.8.6 Substr函数
3.9 Decode函数
3.10 数值函数的应用
3.10.1 NVL函数
3.10.2 Round函数
3.10.3 Trune函数
3.11 日期函数
3.11.1 Add.Months函数
3.11.2 Months.Between函数
3.11.3 Next.Day函数
3.12 日期描述符
3.13 聚组函数
3.13.1 Average函数
3.13.2 Count函数
3.13.3 多重聚组函数
3.14 理解Group By函数
3.15 理解Having子句
3.16 理解子查询或子选择
3.17 理解伪字段, dual表, Describe命令和Tab Table
3.18 小结
3.19 我们还将学到
3.20 习题
第二部分 使用SQL*PLUS对数据库进行操作
第4章 SQL*PLUS中的报表设计
4.1 创建报表标题
4.2 创建一个报表的页脚
4.3 报表的列的设计
4.4 数字的格式设计
4.5 页暂停的定义
4.6 数据运算的定义
4.7 设定环境
4.8 小结
4.9 我们还将学到
4.10 习题
第5章 表及记录的连接
5.1 在关系型数据库及对象数据库中进行数据的组合
5.2 字段的限定
5.3 应用多个连接
5.4 一对多关系中表连接的错误
5.4.1 表连接所引起的计算偏差
5.4.2 当数值仅存在一个参加连接的表时所发生的问题
5.4.3 发由数据格式不匹配而引起的性能问题
5.5 外部连接
5.6 集合操作符
5.6.1 Union(并集)
5.6.2 Ninus(差集)
5.6.3 Intersect(交集)
5.7 用Oracle 8组合数据
5.8 小结
5.9 我们还将学到
5.10 习题
第6章 数据库对象的定义
6.1 定义表项
6.2 表的创建 , 更改和删除
6.3 表的修 改
6.4 定义表的约束条件
6.4.1 Check约束
6.4.2 Default(默认)选项
6.4.3 Foreign Key(外部关键字)约束
6.4.4 Not Null(非空)约束
6.4.5 Unique(唯一性)约束
6.4.6 Primary Key(主关键字)约束
6.4.7 约束的禁止(Disable)
6.5 索引的定义
6.6 视图的创建与删除
6.7 创建同义词
6.8 创建数据库链接
6.9 创建用户帐号
6.10 创建数据库权限
6.11 对用户表授 予存取权
6.12 创建表空间
6.13 定义一个序列
6.14 定义数据库触发展
6.15 Oracle 8数据库对象
6.15.1 修 改分区
6.15.2 索引的分区
6.15.3 创建类型
6.15.4 使用Varray
6.16 小结
6.17 我们还将学到
6.18 习题
6.19 雇员数据库项目的第二阶段
第7章 使用DML命令对表进行修改
7.1 向表中添加记录
7.2 更新表中的字段
7.3 删除表中的记录
7.4 保存修改结果
7.5 小结
7.6 我们还将学到
7.7 习题
第三部分 PL/SQL:Oracle的编程语言
第8章 创建第一个PL/SQL程序
8.1 如何理解PL/SQL
8.1.1 理解PL/SQL块
8.1.2 嵌套的块和块标号
8.1.3 定义PL/SQL变量
8.1.4 使用%TYPE和%ROWTYPE
8.1.5 对变量进行赋值
8.2 使用If-Then-Else逻辑
8.2.1 使用嵌套的if语句
8.2.2 在if语句中使用elseif
8.3 使用循环和退出
8.4 怎样理解PL/SQL游标
8.5 确定例外事件
8.6 记录并显示错误
8.6.1 重新定义标准 错误事件的名称
8.6.2 用于用户自定义的例外事件的Exception部分
8.7 小结
8.8 我们还将学到
8.9 习题
第9章 增强PL/SQL块的功能
9.1 游标属性的使用
9.2 For循环的使用
9.2.1 创建及使用对数字的For循环
9.2.2 创建及使用对游标的for循环
9.3 For Update Of的使用
9.4 Where Current Of选项的使用
9.5 被命名过程的创建及使用
9.6 函数的创建及使用
9.7 包的创建及使用
9.7.1 包的结构
9.7.2 创建一个包的定义
9.7.3 包体部分的创建
9.7.4 从应用程序中调用包的对象
9.8 小结
9.9 我们还将学到
9.10 习题
第10章 SQL*LOADER使用
10.1 理解SQL*LOADER
10.2 怎样启动SQL*LOADER
10.3 各种加载文件的使用
10.3.1 日志文件的使用
10.3.2 坏记录文件的使用
10.3.3 废弃记录文件的使用
10.4 控制文件的定义
10.4.1 简单控制文件的定义
10.4.2 加载方式的定义
10.4.3 数据格式的定义
10.5 控制文件中逻辑条件的定义
10.6 使用同一加载过程加载多个表
10.7 其他控制文件的关键字和子句
10.8 Option 子句和Recoverable/Unrecoverable子句
10.8.1 Into Table子句
10.8.2 Concatenation子句和Continueif子句
10.9 从命令行中执行SQL*LOADER
10.10 小结
10.11 我们还将学到
10.12 习题
10.13 雇员数据库项目的第三阶段
第四部分 Oracle的用户界面
第11章 Oracle Forms的使用
11.1 什么是Form?
11.2 一个Form的例子
11.3 Form的一些术语
11.4 Developer 2000的Oracle Forms应用11.5 D Forms Runtime中执行一个Form
11.6 Form操作模式
11.6.1 Form的输入模式
11.6.2 Form的查询模式
11.6.3 Form的修改模式
11.6.4 在一个Active Form中使用功能键
11.7 在一个Active Form中查询一个记录
11.8 其他Form过程
11.8.1 置Form为输入模式
11.8.2 修改结果的保存
11.8.3 错误的显示
11.9 小结
11.10 我们还将学到
11.11 习题
第12章 利用对象导航器创建第一个Oracle Form
12.1 进入Forms Designer
12.2 对象导航器的使用
12.2.1 对象的扩展与折叠
12.2.2 在对象导航器中定义Form对象
12.2.3 对导航器工具面板
12.3 Forms Designer中的菜单选项
12.3.1 File菜单项
12.3.2 Edit菜单
12.3.3 Tools菜单项
12.3.4 Navigator菜单
12.4 创建第一个Form
12.4.1 创建一个简单的单块Form的步骤
12.4.2 创建Form
12.5 小结
12.6 我们还将学到
12.7 习题
第13章 Form的设计
13.1 版面编辑器
13.2 版面编辑器的菜单条
13.2.1 View下拉菜单
13.2.2 Format(格式)下拉菜单的使用
13.2.3 Amange(安排)下拉菜单的使用
13.3 版面编辑器工具面板的使用
13.3.1 选择(Select)工具
13.3.2 旋转(Rotate)工具
13.3.3 整形(Rohape)工具
13.3.4 图形形状工具
13.3.5 项(Item) 工具
13.3.6 对象着色(Object Coloring)工具
13.4 画板属性
13.4.1 打开画板属性面(Shect)
13.4.2 画板属性面(Sheet)
13.4.3 复查与设定画板属性
13.5 定义窗口(Windows)属性
13.6 设计Emplyee Form
13.7 小结
13.8 我们还将学到
13.9 习题
第14章 创建及修改主-从(Master-Detail)Form
14.1 将块添加到Employee Update Form中
14.1.1 创建Tools从块
14.1.2 块所对应的对象及其设定
14.1.3 格式化Tools块
14.1.4 创建Glasses块
14.2 了解Form属性
14.2.1 Coordinate Information属性
14.2.2 使用Current Record Attribute(当前记录属性)
14.2.3 定义一个可视属性(Attribue)
14.3 了解块属性
14.3.1 使用Order By和Where Clause 块属性
14.3.2 改变Navigation Style
14.4 了项属性(Item Properties)
14.4.1 Multi-Line属性的使用
14.4.2 关于一些实用的文本项属性的说明
14.5 了解项类型
14.5.1 检查框(check box)
14.5.2 圆形按钮组(Radio Group)
14.5.3 列表(List Item)项
14.5.4 图像(Image)的使用
14.6 创建List of Values
14.6.1 LOV的调用
14.6.2 能过按钮显示LOV
14.6.3 调 整Record Group
14.7 了解Relation(关系)属性
14.8 小结
14.9 我们还将学到
14.10 习题
第15章 触发器的使用及属性类的修改
15.1 什么是触发器
15.1.1 触发器事件
15.1.2 触发器名称
15.1.3 触发器错误
15.1.4 触发器的级别
15.1.5 创建一个触发器
15.2 PL/SQL编辑器的使用
15.3 内置子程序的使用
15.4 系统变量和全局变量的使用
15.5 使用触发器和程序单元检查用户的安全措施
15.5.1 Form安全触发器
15.5.2 Form过程的使用
15.6 在不基于表的块中文本项的添加和录入
15.7 警告信息的使用
15.8 利用触发器改变Form的画板
15.9 属性类的使用
15.10 创建. 修改以及使用属性类
15.10.1 在同一时刻查看两个属性页
15.10.2 Intersection/Union工具的使用
15.11 小结
15.12 我们还将学到
15.13 习题
第16章 调用其他的Forms及菜单的使用
16.1 Form的调用
16.1.1 Call_Form子程序的使用
16.1.2 New_Form子程序的使用
16.1.3 在Call_Form子程序中使用hide和no_hide选项
16.2 创建及使用yDirectory
16.2.1 创建一个Directory
16.2.2 创建Employee Directory
16.2.3 对Employee Directory进行操作
16.2.4 从Employee Directory中调用其他的Forms
16.3 创建及使用菜单将各个应用连接到一个系统中
16.3.1 创建一个菜单
16.3.2 创建并实现一个Employee System菜单
16.3.3 开发一个系统启动(System Startup)应用
16.4 创建一个工具条
16.5 小结
16.6 我们还将学到
16.7 雇员数据库项目第四阶段
第五部分 Oracle的报表书写器:Oracle Reports 2.5
第17章 创建第一个报表
17.1 打开Oracle Reports 2.5
17.1.1 不指定报表名而打开Reports Runtime
17.1.2 从Form中执行一个报表
17.1.3 打开Reports Designer
17.2 创建第一个报表
17.2.1 创建一个简单报表的步骤
17.2.2 创建一个Employee Listing(雇员列表)
17.2.3 执行Employee Listing
17.3 Designer菜单
17.4 了解对象导航器
17.4.1 对象导航器的对象
17.4.2 对象导航器工具栏
17.5 了解数据模型
17.6 了解数据模型编辑器的Tools
17.7 小结
17.8 我们还将学到
17.9 习题
第18章 报表的用户化及高级报表功能
18.1 概述Layout Editor对象
18.2 版面编辑器的菜单项
18.2.1 Edit(编辑)菜单项
18.2.2 View(查看)菜单项
18.2.3 Format(格式)菜单项
18.2.4 Arrange(安排)菜单项
18.3 版面编辑器的工具
18.3.1 工具条
18.3.2 工具面板
18.4 版面对象属性
18.4.1 公共属性页
18.4.2 特殊属性项
18.5 创建美观的报表
18.5.1 更改不同对象的字体
18.5.2 更改列标题的文本
18.5.3 删除点状线以及线段变换
18.5.4 添加一个报表标题
18.5.5 添加页号和报表日期
18.5.6 更改域 的位置
18.5.7 格式化域 , 调整域 尺寸
18.5.8 添加页首和结束页
18.6 从零开始创建一个报表版面
18.6.1 添加一个重复框架
18.6.2 添加域到版面
18.6.3 添加静态文本到版 面
18.6.4 使框架更完美
18.7 添加公式列和汇总列
18.7.1 汇总列
18.7.2 公式列
18.8 小结
18.9 我们还将学到
18.10 习题
第六部分 Web中的Oracle应用
第19章 将Oracle应用放到Web中
19.1 Web应用是怎样实现的
19.1.1 三级Web存取的描述
19.1.2 Web应用的优点
19.2 所需软件及软件所安装的位置
19.2.1 前端所需软件
19.2.2 中间件或应用服务器的软件
19.2.3 后端或数据库服务器的软件
19.2.4 本章所用的软件配置
19.3 在Web上建立Oracle Forms
19.3.1 插件与非插件实现
19.3.2 两种实现的通用设置
19.3.3 插件实现的要求
19.3.4 非插件的实现
19.3.5 从Web中运行一个Form
19.4 在Web上创建Oracle Reports
19.4.1 为Web Reports设置Web Server
19.4.2 Reports 的运行
19.5 小结
19.6 我们还将学到
第七部分 完整的模板系统
第20章 开发一个雇员信息系统的模 板系统
20.1 第一阶段--数据库规范化和数据库设计
20.2 第二阶段--创建数据库的对象
20.3 第三阶段--将数据加载到数据库表中
20.4 第四阶段--设计及开发用户界面
20.4.1 Department Update Form(Deptupd. fmb)
20.4.2 Employee Update Form(Empupd. fmb)
20.4.3 Employee Directory Form(Empdir. fmb)
20.4.4 Security Update Form(Empsec. fmb)
20.4.5 Employee系统启动Form(Eemptup. fmb)和系统菜单(Esysmenu.mmb)
20.5 第五阶段--开发并添加报表到该系统中
20.6 小结
第八部分 附录
附录A 内置子程序
附录B 触发器
附录C 系统变量
附录D 练习题数据库安装指导
附录E 习题答案