《OCA认证考试指南(1Z0-061):Oracle Database12cSQL基础 旨在帮助读者备战Oracle Certifi ed Associate Oracle Database12cSQL Fundamentals I考试。书中的每一章都提供了具有挑战性的练习、认证小结、知识点回顾和自测题,以强化该章所介绍的主题。这本指南不仅可以帮助读者顺利通过考试,还可以作为工作中必不可少的参考手册。本书涵盖了1Z0-061考试的所有OCA目标,其中包括:
● 使用SQL SELECT语句检索数据
● 限制和排序数据
● 单行函数
● 使用转换函数和条件表达式
● 使用分组函数报告聚合数据
● 通过连接显示多个表中的数据
● 使用子查询解决问题
● 使用集合运算符
● 使用DML语句操纵数据
● 使用DDL语句创建和管理表
Roopesh Ramklass,Oracle认证大师(OCM),擅长基础设施、中间件和数据库架构方面的技术。
他曾供职于Oracle Global Support、Advanced Customer Services和Oracle University。Roopesh经营着一家IT咨询公司,在基础设施系统配置、软件开发和系统集成方面有着丰富的经验。Roopesh多次在Oracle User Group会议上进行演讲,也撰写过几本技术书籍。
第1章 使用Oracle设计关系数据库
1.1 定位服务器技术
1.1.1 Oracle服务器的体系结构
1.1.2 Oracle WebLogic Server
1.1.3 Oracle Enterprise Manager
1.1.4 云计算
1.1.5 开发工具和语言
1.2 理解关系结构
1.2.1 真实的案例
1.2.2 数据建模
1.2.3 实体和关系
1.2.4 行和表
1.3 SQL语言概述
1.3.1 SQL标准
1.3.2 SQL命令
1.3.3 面向集合的语言
1.4 使用客户工具
1.4.1 SQLPlus
1.4.2 SQL Developer
1.5 创建演示模式
1.5.1 用户和模式
1.5.2 HR和OE模式
1.5.3 创建演示模式
1.6 认证小结
1.7 本章知识点回顾
1.8 本章测试题
1.8.1 自测题
1.8.2 实验题
1.8.3 自测题答案
1.8.4 实验题答案
第2章 使用SQL SELECT语句检索数据
2.1 列出SQL SELECT语句的功能
2.1.1 SQL SELECT语句介绍
2.1.2 DESCRIBE表命令
2.1.3 SELECT语句的功能
2.2 执行基本的SELECT语句
2.2.1 基本的SELECT语句
2.2.2 必须遵守的规则
2.2.3 SQL表达式和运算符
2.2.4 空值的概念
2.3 认证小结
2.4 本章知识点回顾
2.5 本章测试题
2.5.1 自测题
2.5.2 实验题
2.5.3 自测题答案
2.5.4 实验题答案
第3章 限定和排序数据
3.1 限制查询检索的行
3.1.1 WHERE子句
3.1.2 比较运算符
3.1.3 布尔运算符
3.1.4 优先规则
3.2 排序查询所检索的行
3.3 和符号(&)替换
3.3.1 替换变量
3.3.2 定义和验证
3.4 认证小结
3.5 本章知识点回顾
3.6 本章测试题
3.6.1 自测题
3.6.2 实验题
3.6.3 自测题答案
3.6.4 实验题答案
第4章 单行函数
4.1 描述SQL中可用的不同类型的函数
4.1.1 定义函数
4.1.2 函数类型
4.2 在SELECT语句中使用字符、数字和日期函数
4.2.1 使用字符大小写转换函数
4.2.2 使用字符操作函数
4.2.3 使用数字函数
4.2.4 使用日期
4.2.5 使用日期函数
4.3 认证小结
4.4 本章知识点回顾
4.5 本章测试题
4.5.1 自测题
4.5.2 实验题
4.5.3 自测题答案
4.5.4 实验题答案
第5章 使用转换函数和条件表达式
5.1 SQL中可用的各种类型的转换函数介绍
5.2 使用TO_CHAR、TO_NUMBER和TO_DATE转换函数
5.3 在SELECT语句中应用条件表达式
5.3.1 嵌套函数
5.3.2 一般函数
5.3.3 条件函数
5.4 认证小结
5.5 本章知识点回顾
5.6 本章测试题
5.6.1 自测题
5.6.2 实验题
5.6.3 自测题答案
5.6.4 实验题答案
第6章 使用分组函数报告聚合数据
6.1 分组函数介绍
6.1.1 分组函数的定义
6.1.2 分组函数的类型和语法
6.2 确定可用的分组函数
6.2.1 使用分组函数
6.2.2 嵌套的分组函数
6.3 使用GROUP BY子句分组数据
6.3.1 创建数据组
6.3.2 GROUP BY子句
6.3.3 按多列分组
6.4 使用HAVING子句包含或者排除分组行
6.4.1 限制分组结果
6.4.2 HAVING子句
6.5 认证小结
6.6 本章知识点回顾
6.7 本章测试题
6.7.1 自测题
6.7.2 实验题
6.7.3 自测题答案
6.7.4 实验题答案
第7章 显示多个表中的数据
7.1 使用同等连接和非同等连接编写SELECT语句访问多个表的数据
7.1.1 连接的类型
7.1.2 使用ANSI SQL语法连接表
7.1.3 限定模糊的列名
7.1.4 NATURAL JOIN子句
7.1.5 JOIN USING子句
7.1.6 JOIN ON子句
7.1.7 N路连接和其他连接条件
7.1.8 非同等连接
7.2 使用自连接将表连接到自身
7.3 使用外连接查看不满足连接条件的数据
7.3.1 内连接和外连接
7.3.2 左外连接
7.3.3 右外连接
7.3.4 全外连接
7.4 生成两个或多个表的笛卡尔乘积
7.5 认证小结
7.6 本章知识点回顾
7.7 本章测试题
7.7.1 自测题
7.7.2 实验题
7.7.3 自测题答案
7.7.4 实验题答案
第8章 使用子查询解决问题
8.1 定义子查询
8.2 描述子查询能够解决的问题的类型
8.2.1 将子查询的结果集用于比较
8.2.2 星型转换
8.2.3 生成执行SELECT语句的表
8.2.4 生成投影值
8.2.5 生成传递给DML语句的行
8.3 列举子查询的类型
8.3.1 单行和多行子查询
8.3.2 关联子查询
8.4 编写单行和多行子查询
8.5 认证小结
8.6 本章知识点回顾
8.7 本章测试题
8.7.1 自测题
8.7.2 实验题
8.7.3 自测题答案
8.7.4 实验题答案
第9章 使用集合运算符
9.1 描述集合运算符
9.1.1 集合和维恩图
9.1.2 集合运算符的一般原则
9.2 使用集合运算符将多个查询合并为一个查询
9.2.1 UNION ALL运算符
9.2.2 UNION运算符
9.2.3 INTERSECT运算符
9.2.4 MINUS运算符
9.2.5 更复杂的示例
9.3 控制返回行的顺序
9.4 认证小结
9.5 本章知识点回顾
9.6 本章测试题
9.6.1 自测题
9.6.2 实验题
9.6.3 自测题答案
9.6.4 实验题答案
第10章 操作数据
10.1 描述各种DML语句
10.1.1 INSERT
10.1.2 UPDATE
10.1.3 DELETE
10.1.4 MERGE
10.1.5 TRUNCATE
10.1.6 DML语句失败
10.2 在表中插入行
10.3 更新表中的行
10.4 从表中删除行
10.4.1 使用DELETE删除行
10.4.2 使用TRUNCATE删除行
10.4.3 MERGE
10.5 控制事务
10.5.1 数据库事务
10.5.2 事务控制语句
10.6 认证小结
10.7 本章知识点回顾
10.8 本章测试题
10.8.1 自测题
10.8.2 实验题
10.8.3 自测题答案
10.8.4 实验题答案
第11章 使用DDL语句创建和管理表
11.1 分类主要的数据库对象
11.1.1 对象类型
11.1.2 用户和模式
11.1.3 命名模式对象
11.1.4 对象名称空间
11.2 回顾表结构
11.3 列举列可用的数据类型
11.4 创建简单的表
11.4.1 使用列规范创建表
11.4.2 从子查询创建表
11.4.3 在创建表后变更表定义
11.4.4 删除和截断表
11.5 讨论在创建表时如何创建约束
11.5.1 约束的类型
11.5.2 定义约束
11.6 认证小结
11.7 本章知识点回顾
11.8 本章测试题
11.8.1 自测题
11.8.2 实验题
11.8.3 自测题答案
11.8.4 实验题答案
术语表
在数据库内可以使用三种语言。有一种语言不可避免,它就是本书的主题——SQL。SQL可用于数据访问,但不能用来开发完整的应用程序。它没有用于开发用户界面的实际工具,也缺少单独操作行所需的程序结构。可用于数据库的另外两种语言填补了这些不足。它们是PL/SQL和Java,不过Java语言也可以用于数据库之外。PL/SQL是Oracle专有的第三代语言(3GL)。它具有通常的程序结构(例如if—then—else和循环)以及用于用户界面设计的工具。在PL/SQL代码中,可以嵌入对SQL的调用。因此,PL/SQL应用程序可以使用SQL从数据库中检索一行或多行,然后依据其内容执行各种动作,也可以使用SQL将行写回数据库。Java提供类似的功能,也能够在Java代码里嵌入SQL调用。有这样的行业标准技术:所有Java编程人员都应该能够编写用来处理Oracle数据库(或者其他任何与Java兼容的数据库)的代码。
其他语言可用于开发在数据库外部运行的客户—服务器应用程序。最常用的是C语言和Java语言,但也可以使用大多数主流3GL。对于所有这些语言而言,Oracle Corpotation提供了OCI(Oracle Call Interface,Oracle调用接口)库,它让用这些语言编写的代码依据Oracle数据库建立会话,并调用SQL命令。
许多组织不愿意使用3GL来开发数据库应用程序。但Oracle Corporation提供了一些快速的应用程序开发工具,如Oracle Application Express、JDeveloper、ADF和许多其他产品。这些工具可以让使用3GL的编程人员更有效率。和语言一样,所有这些应用程序开发工具最终都要做同一件事:构造发送给数据库服务器执行的SQL语句。
注意:
在Oracle环境中工作的所有开发人员和管理员都必须掌握PL/SQL。C和Java并不是必须要掌握的,除非项目指定要使用它们。
1.2理解关系结构
本节中引入了几个有关数据组织的真实案例,以此描述了关系范例并介绍了一些实际的建模技术。对于理解sQL而言最重要的是,理解关系范例和将数据规范(normalize)到关系结构的能力。规范化是系统分析员的工作,因为他们将公司数据建模为一种适合在关系表中保存的形式。这门学科可能需要研究数年,许多学校都开发了自己的方法和符号。
1.2.1真实的案例
本书中使用了几个假定的案例,其中包括Oracle提供的两个预先准备好的案例:HR和OE,它们经常用作OCA考题的上下文,以说明各种SQL概念。下面的案例进一步演示了所讨论的新概念。