Oracle 《数据库 2 天开发人员指南》第1章:2天Oracle数据库开发介绍

本文为2 Day Developer's Guide 第1章 Introduction to 2 Day Oracle Database Development 的笔记。

Oracle 数据库开发人员负责创建或维护使用 Oracle 技术堆栈的应用程序的数据库组件。 Oracle 数据库开发人员要么开发应用程序,要么转换现有应用程序以在 Oracle 数据库环境中运行。

1.1 关于此文档

本文档是面向应用程序开发人员的 Oracle 数据库文档集的入口。

本文档执行以下操作:

  • 解释 Oracle 数据库开发背后的基本概念
  • 通过教程和示例展示如何使用 SQL 和 PL/SQL 的基本功能
  • 提供有关其介绍的主题的详细信息的参考
  • 展示如何开发和部署简单的 Oracle 数据库应用程序

2 天 Oracle 数据库开发简介(本章)介绍了本文档的目标读者,概述了本文档的组织结构,介绍了重要的 Oracle 数据库概念,并描述了本文档中的教程和示例中使用的示例模式。

连接到 Oracle 数据库并探索 它解释了如何连接到 Oracle 数据库,如何查看模式对象和 Oracle 数据库表的属性和数据,以及如何使用查询从 Oracle 数据库表中检索数据。

关于 DML 语句和事务 介绍了数据操作语言 (DML) 语句和事务。 DML 语句添加、更改和删除 Oracle 数据库表数据。 事务是 Oracle 数据库将其视为一个单元的一个或多个 SQL 语句的序列:要么执行所有语句,要么都不执行。

创建和管理模式对象 引入了数据定义语言 (DDL) 语句,这些语句创建、更改和删除模式对象。

开发存储的子程序和包介绍了存储的子程序和包,它们可以用作许多不同数据库应用程序的构建块。

使用触发器引入了触发器,触发器是存储的 PL/SQL 单元,可以自动执行("触发")以响应指定的事件。

在全球环境中工作引入了全球化支持------国家语言支持 (NLS) 参数以及 SQL 和 PL/SQL 的 Unicode 相关功能。

Building Effective Applications 解释了如何构建可扩展的应用程序并使用推荐的编程和安全实践。

开发一个简单的 Oracle 数据库应用程序展示了如何开发一个简单的 Oracle 数据库应用程序。

部署 Oracle 数据库应用程序以开发简单的 Oracle 数据库应用程序中开发的应用程序为例,解释了如何部署 Oracle 数据库应用程序,即如何将其安装在其他用户可以运行它的一个或多个环境中。

1.2 关于Oracle数据库

Oracle 数据库将相关信息分组为称为模式的逻辑结构。 逻辑结构包含模式对象。

当您通过提供用户名和密码连接到数据库时,您指定了模式并表明您是它的所有者。 在 Oracle 数据库中,用户名和用户连接的模式名称相同。

1.2.1 关于模式(Schema)对象

Oracle 数据库中的每个对象都只属于一个模式 ,并且在该模式中具有唯一的名称。

模式可以包含的一些对象是:

  • 表是 Oracle 数据库中数据存储的基本单位。 表包含所有用户可访问的数据。 每个表都包含代表各个数据记录的行。 行由表示记录字段的列组成。

  • 索引

    索引是可选对象,可以提高从表中检索数据的性能。 索引是在表的一个或多个列上创建的,并在数据库中自动维护。

  • 视图

    您可以创建一个视图,将来自多个不同表的信息组合到一个呈现中。 视图可以依赖来自表和其他视图的信息。

  • 序列

    当一个表的所有记录必须是不同的时,您可以使用序列为数字列生成一个唯一整数的序列列表,每个整数代表一条记录的 ID。

  • 同义词

    同义词是模式对象的别名。 为了安全和方便,您可以使用同义词; 例如,隐藏对象的所有权或简化 SQL 语句。

  • 存储子程序

    存储子程序(也称为模式级子程序)是存储在数据库中的过程和函数。 它们可以从访问数据库的客户端应用程序调用。

    触发器是存储的子程序,当特定表或视图中发生指定事件时,由数据库自动运行。 触发器可以限制对特定数据的访问并执行日志记录。

  • 包是一组相关的子程序,连同它们使用的显式游标和变量,作为一个单元存储在数据库中,以供继续使用。 与存储的子程序一样,包子程序可以从访问数据库的客户端应用程序调用。

通常,应用程序使用的对象属于同一模式。

1.2.2 关于Oracle数据库访问

您只能通过客户端程序访问 Oracle 数据库,例如 SQL*Plus 或 SQL Developer。

客户端程序与 Oracle 数据库的接口是结构化查询语言 (SQL)。 Oracle 提供了一个名为过程语言/SQL (PL/SQL) 的 SQL 扩展。

1.2.2.1 关于 SQL*Plus

SQL*Plus是一个交互式批处理查询工具,随每次 Oracle 数据库安装一起安装。 它有一个命令行用户界面,在连接到数据库时充当客户端。

SQL*Plus 有自己的命令和环境。 在 SQL*Plus 环境中,您可以输入并运行 SQL*Plus 命令、SQL 语句、PL/SQL 语句和操作系统命令来执行以下任务:

  • 格式化、执行计算、存储和打印查询结果
  • 检查表和对象定义
  • 开发和运行批处理脚本
  • 执行数据库管理

您可以使用 SQL*Plus 以交互方式生成报告,以批处理的形式生成报告,并将结果输出到文本文件、屏幕或 HTML 文件以便在 Internet 上浏览。 您可以使用 HTML 输出工具动态生成报告。

您可以在 SQL Developer 中使用 SQL*Plus。 有关详细信息,请参阅 Oracle SQL Developer 用户指南

1.2.2.2 关于 SQL Developer

SQL Developer是 Oracle 数据库的图形用户界面,在 Oracle 数据库的默认安装中提供,也可以从 Oracle 技术网免费下载。

SQL Developer 用作 SQL 和 PL/SQL 的现代集成开发环境 (IDE),并提供用于管理数据库对象的图形界面。 您还可以创建报告、设计数据模型、将第三方数据库迁移到 Oracle、支持 REST 的表和视图,以及部署和管理 Oracle REST 数据服务。 SQL 工作表允许您输入和运行 SQL 语句、PL/SQL 语句以及 SQL*Plus 命令和脚本。

注意:SQL Developer 通常提供多种方法来完成一项任务,但本文档并未解释所有可能的方法。

1.2.2.3 关于结构化查询语言 (SQL)

结构化查询语言 (SQL)(发音为 sequel)是一种基于集合的高级计算机语言,所有程序和用户都可以使用它来访问 Oracle 数据库中的数据。

SQL 是一种声明性或非过程性语言; 也就是说,它描述了做什么,而不是如何做。 您指定所需的结果集(例如,当前雇员的姓名),但不指定获取方式。

1.2.2.4 关于过程语言/SQL (PL/SQL)

过程语言/SQL (PL/SQL)是 Oracle 数据库对 SQL 的原生扩展。 它通过添加过程元素(例如条件控制和循环)弥合了声明式和命令式程序控制之间的差距。

在 PL/SQL 中,您可以声明常量和变量、过程和函数、类型和这些类型的变量以及触发器。 您可以处理异常(运行时错误)。 您可以创建 PL/SQL 单元------过程、函数、包、类型和触发器------它们存储在数据库中,供使用任何 Oracle 数据库编程接口的应用程序重用。

PL/SQL 源程序的基本单位是块,它将相关的声明和语句组合在一起。 一个块有一个可选的声明部分、一个必需的可执行部分和一个可选的异常处理部分。

1.2.2.5 关于其他客户端程序、语言和开发工具

还有一些其他客户端程序、语言和工具可用。

注意:以下列表中的某些产品不随 Oracle 数据库一起提供,必须单独下载。

1.2.2.5.1 Oracle Application Express

Oracle Application Express 是一种应用程序开发和部署工具,即使您以前的编程经验有限,也可以使用它快速创建安全且可扩展的 Web 应用程序。 嵌入式 Application Builder 工具将 HTML 界面或使用模式对象(例如表或存储过程)的完整应用程序组装到通过选项卡、按钮或超文本链接链接的页面集合中。

1.2.2.5.2 Oracle Java Database Connectivity (JDBC)

Oracle Java 数据库连接 (JDBC) 是一种 API,它使 Java 能够将 SQL 语句发送到对象关系数据库,例如 Oracle 数据库。 Oracle 数据库 JDBC 提供对 JDBC 3.0 和 JDBC RowSet (JSR-114) 标准的全面支持、XA 和非 XA 连接的高级连接缓存、向 Java 公开 SQL 和 PL/SQL 数据类型以及快速 SQL 数据访问。

1.2.2.5.3 Hypertext Preprocessor (PHP)

超文本预处理器 (PHP) 是一种功能强大的解释型服务器端脚本语言,用于快速开发 Web 应用程序。 PHP 是一种开源语言,在 BSD 风格的许可证下分发。 PHP 旨在将数据库访问请求直接嵌入到 HTML 页面中。

1.2.2.5.4 Oracle Call Interface (OCI)

Oracle 调用接口 (OCI) 是原生 C 语言 API,用于直接从 C 应用程序访问 Oracle 数据库。

OCI 软件开发工具包作为 Oracle Instant Client 的一部分安装,它使您无需安装标准 Oracle 客户端或拥有 ORACLE_HOME 即可运行应用程序。 您的应用程序无需更改即可运行,使用的磁盘空间明显减少。

1.2.2.5.5 Oracle C++ Call Interface (OCCI)

Oracle C++ 调用接口 (OCCI) 是原生 C++ 语言 API,用于直接从 C++ 应用程序访问 Oracle 数据库。 与 OCI 一样,OCCI 支持关系和面向对象的编程范例。

OCCI 软件开发工具包也作为 Oracle Instant Client 的一部分安装,它使您无需安装标准 Oracle 客户端或拥有 ORACLE_HOME 即可运行应用程序。 您的应用程序无需更改即可运行,使用的磁盘空间明显减少。

1.2.2.5.6 Open Database Connectivity (ODBC)

开放式数据库连接 (ODBC) 是一组连接到数据库、准备然后在数据库上运行 SQL 语句的数据库访问 API。 使用 ODBC 驱动程序的应用程序可以访问非统一数据源,例如电子表格和逗号分隔文件。

Oracle ODBC 驱动程序符合 ODBC 3.51 规范。 它支持所有核心 API 以及 1 级和 2 级功能的子集。 Microsoft 为 Windows 平台提供驱动程序管理器组件。

与 OCI、OCCI 和 JDBC 一样,ODBC 是 Oracle Instant Client 安装的一部分。

1.2.2.5.7 Pro*C/C++ Precompiler

Pro*C/C++ 预编译器允许您将 SQL 语句嵌入到 C 或 C++ 源文件中。 预编译器接受源程序作为输入,将嵌入式 SQL 语句转换为标准的 Oracle 运行时库调用,并生成可以编译、链接和运行的修改后的源程序。

1.2.2.5.8 Pro*COBOL Precompiler

Pro*COBOL 预编译器允许您将 SQL 语句嵌入到 COBOL 源文件中。 预编译器接受源程序作为输入,将嵌入式 SQL 语句转换为标准的 Oracle 运行时库调用,并生成可以编译、链接和运行的修改后的源程序。

1.2.2.5.9 Microsoft .NET Framework

Microsoft .NET Framework 是一个用于构建、部署和运行应用程序和 XML Web 服务的多语言环境。

Microsoft .NET Framework 的主要组件是:

  • 公共语言运行时 (CLR)

    公共语言运行时 (CLR) 是一种语言中立的开发和运行时环境,它提供有助于管理正在运行的应用程序的服务。

  • 框架类库 (FCL)

    框架类库 (FCL) 提供一致的、面向对象的预打包功能库。

用于 .NET (ODP.NET) 的 Oracle 数据提供程序

Oracle Data Provider for .NET (ODP.NET) 提供从 .NET 应用程序到 Oracle 数据库的快速高效的 ADO.NET 数据访问。 ODP.NET 允许开发人员利用 Oracle 数据库中存在的高级 Oracle 数据库功能,包括 SecureFiles、XML DB 和高级队列。

用于 Visual Studio (ODT) 的 Oracle 开发人员工具

Oracle Developer Tools for Visual Studio (ODT) 是一组与 Visual Studio 环境集成的应用程序工具。 这些工具提供对 Oracle 功能的图形用户界面访问,使用户能够执行范围广泛的应用程序开发任务,并提高开发效率和易用性。 Oracle Developer Tools 支持使用 Visual Basic、C# 和其他 .NET 语言对 .NET 存储过程进行编程和实施。

.NET 存储过程

Oracle Database Extensions for .NET 是 Windows 上 Oracle Database 的一个数据库选项。 它使使用 Visual Basic .NET 或 Visual C# 构建和运行 Oracle Database for Microsoft Windows 的 .NET 存储过程或函数成为可能。

将 .NET 过程和函数构建到 .NET 程序集中后,您可以使用 Oracle Deployment Wizard for .NET(Oracle Developer Tools for Visual Studio 的一个组件)将它们部署到 Oracle 数据库中。

用于 ASP.NET 的 Oracle 提供程序

Oracle Providers for ASP.NETASP.NET 开发人员提供了一种在 Oracle 数据库中存储 Web 应用程序通用状态的简单方法。 这些提供程序以现有的 Microsoft ASP.NET 提供程序为模型,共享相似的架构和编程接口,为 .NET 开发人员提供熟悉的界面。 Oracle 支持 Membership、Profile、Role 和其他提供者。

1.2.2.5.10 Oracle Provider for OLE DB (OraOLEDB)

Oracle Provider for OLE DB (OraOLEDB) 是一种开放标准数据访问方法,它使用一组组件对象模型 (COM) 接口来访问和操作不同类型的数据。 这些接口可从各种数据库提供商处获得。

1.3 关于HR示例模式

HR 示例模式可以与 Oracle 数据库一起安装。 此模式包含有关员工的信息------部门、位置、工作经历和相关信息。 与所有模式一样,HR 具有表、视图、索引、过程、函数和其他属性。 本文档中的示例和教程使用该模式。

相关推荐
曹牧12 小时前
Oracle:计算小数年龄
数据库·oracle
cmcm!15 小时前
做题记录2
数据库·oracle
dingdingfish17 小时前
Oracle 《数据库 2 天开发人员指南》第2章:连接与探索Oracle数据库
oracle·database·developer·connect·guide·explore
专注VB编程开发20年17 小时前
最快速度取最新一条数据-Mysql,Sql server,access数据库
数据库·sql·mysql·oracle·sqlserver·access
晴天¥17 小时前
Oracle19c-单机版数据库启动、关闭
数据库·oracle
惜分飞17 小时前
win平台挂起Oracle数据库启动进程
数据库·oracle
宇灬宇17 小时前
oracle RAC加表空间误加入本地空间
数据库·oracle
为中华崛起而奋斗17 小时前
Oracle杀会话流程
数据库·oracle
yong999018 小时前
C# 入门级库存管理系统
jvm·oracle·c#