《Oracle PL/SQL必知必会》——第2章 初识Oracle和PL/SQL 2.1 什么是Oracle

简介:

本节书摘来自异步社区出版社《Oracle PL/SQL必知必会》一书中的第2章,第2.节,作者:【美】Ben Forta(本 福达),更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 初识Oracle和PL/SQL

Oracle PL/SQL必知必会
在本章中,你将认识Oracle和PL/SQL是什么,以及你可以使用什么工具来操作它们。

2.1 什么是Oracle

在前一章中,你学习了数据库和SQL。如所解释的那样,做所有工作(存储、检索、管理和操作数据)的实际上是数据库软件(DBMS或数据库管理系统[Database Management System])。Oracle DBMS(或者简称为Oracle)就是一个DBMS;也就是说,它是数据库软件。

Oracle已经出现很长时间了。DBMS的第一个版本是在20世纪70年代发布的,从那时起就一直定期对其进行更新和改进。Oracle的当前(在本书即将付印时)版本是12c,它是在2013年发布的,12c中的c代表cloud(云)。Oracle是部署和使用得最多的DBMS,尤其是在企业系统和基础设施内。

2.1.1 客户端—服务器软件

DBMS分为两类:基于共享文件和客户端—服务器。前者(包括像Microsoft Access和FileMaker这样的产品)是为桌面使用设计的,一般不用在更高端或更关键的应用程序上(包括Web站点和基于Web的应用程序)。

像Oracle、MySQL(及其副产品MariaDB)和Microsoft SQL Server这样的数据库就是基于客端—服务器的数据库。客户端—服务器应用程序被分成两个截然不同的部分,服务器(Server)部分是一个负责所有数据访问和操作的软件,它运行在称为数据库服务器(Database Server)的计算机上。

只有服务器软件与数据文件交互。对数据的所有请求、数据添加和删除以及数据更新都是通过服务器软件传送的。这些请求或更改来自于运行客户端软件的计算机。客户端(Client)是用户与之交互的软件。例如,如果请求按字母顺序排列的产品列表,客户端软件将通过网络把该请求提交给服务器软件。服务器软件将处理请求;根据需要筛选、丢弃和排序数据;然后把结果发回给客户端软件。

注意:你需要多少台计算机?
 

客户端和服务器软件可能安装在两台或一台计算机上。无论如何,客户端软件都将为所有的数据库交互而与服务器软件通信,而不管它们是否位于同一台机器上。
所有这些动作的发生对于你(即用户)是完全透明的。你对数据存储在别处或者数据库服务器甚至正在执行所有这些处理的事实并不知情。你从不需要直接访问数据文件。事实上,大多数网络都被设置成使用户不能访问数据,或者甚至不能访问存储数据的驱动器。

这为什么很重要?这是因为要使用Oracle,将需要访问运行Oracle服务器软件的计算机以及给Oracle发出命令的客户端软件。

服务器软件是Oracle DBMS。可以运行一个在本地安装的副本,或者可以连接到一个运行远程服务器的副本,并且你能够访问该服务器。
客户端可以是Oracle提供的工具、脚本语言(比如Python和Perl)、Web应用程序开发语言(比如PHP、JSP和ASP)、编程语言(比如C、C++和Java)等。
注意:客户端?服务器?为什么我应该在意?
 

我要指出这一点的原因是:从设计上讲,刚开始学习客户端—服务器软件时要更复杂一点。当使用字处理器或电子数据表时,在计算机上打开应用程序,它将处理本地数据。客户端—服务器数据库软件不是像这样工作的。生产服务器通常运行在用户永远不能直接访问的数据中心里,因此运行服务器软件的计算机上面很少具有客户端工具。类似地,当与这些数据库打交道时,用户通常使用连接到远程生产服务器的本地工具,他们将在本地而不是在服务器上安装客户端工具。因此,在可以使用那些客户端工具之前必须配置它们,使得它们可以访问远程服务器。如你稍后将看到的,即使服务器和客户端工具的确位于相同的机器上,也需要这样做。

2.1.2 PL/SQL

第1章中提到,所有的SQL实现在创建时都是有差异的,这是不幸的;如果可以为一个版本的DBMS学习和编写SQL,并使之原封不动地在任何其他的DBMS上运行,那将非常理想。对于早期的SQL,这实际上更有可能发生,但是多年来DBMS供应商需要添加受标准SQL支持以外的特性和功能,因此它们就创建了自己的SQL语言变体。

PL/SQL代表过程语言/结构化查询语言(Procedural Language / Structured Query Language),它是Oracle的SQL实现(从Oracle版本7起就是这样)。你将在本书中学习的SQL就是PL/SQL,这意味着它只适用于Oracle。你将学习的大部分内容(尤其是在前面的章节中)也非常适用于其他的DBMS,但是在本书后面肯定不是这样。

2.1.3 客户端工具

前面讲到,Oracle是一个客户端—服务器数据库,要使用它,将需要客户端软件(用于实际运行SQL命令的程序)。客户端软件存在许多选项,但是你应该特别清楚下面两个Oracle选项。

所有的Oracle服务器安装都包括一个名为SQL*Plus的命令行工具。这个基本的客户端只是用于在文本窗口中简单地显示一个SQL>提示符,允许输入命令和指令给Oracle服务器。
Oracle还提供了一个免费的图形客户端,称为Oracle SQL Developer(在计算机上安装它时,它可能只显示名称“SQL Developer”)。Oracle SQL Developer允许交互式地连接并使用你的Oracle服务器,对于日常的Oracle使用,它是一个好得多的选项,对初学者来说尤其如此。
尽管可以免费地使用所想要的任何客户端工具(无论是什么客户端工具,使用的PL/SQL总是相同的),我强烈建议使用Oracle SQL Developer作为你的第一个工具,并且本书中的指令假定你正是这样做的。

相关文章
|
14天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL隐式游标:数据的“自动导游”与“轻松之旅”
【4月更文挑战第19天】Oracle PL/SQL中的隐式游标是自动管理的数据导航工具,简化编程工作,尤其适用于简单查询和DML操作。它自动处理数据访问,提供高效、简洁的代码,但不适用于复杂场景。显式游标在需要精细控制时更有优势。了解并适时使用隐式游标,能提升数据处理效率,让开发更加轻松。
|
14天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标自定义异常:数据探险家的“专属警示灯”
【4月更文挑战第19天】Oracle PL/SQL中的游标自定义异常是处理数据异常的有效工具,犹如数据探险家的警示灯。通过声明异常名(如`LOW_SALARY_EXCEPTION`)并在满足特定条件(如薪资低于阈值)时使用`RAISE`抛出异常,能灵活应对复杂业务规则。示例代码展示了如何在游标操作中定义和捕获自定义异常,提升代码可读性和维护性,确保在面对数据挑战时能及时响应。掌握自定义异常,让数据管理更从容。
|
14天前
|
SQL Oracle 安全
Oracle的PL/SQL游标异常处理:从“惊涛骇浪”到“风平浪静”
【4月更文挑战第19天】Oracle PL/SQL游标异常处理确保了在数据操作中遇到的问题得以优雅解决,如`NO_DATA_FOUND`或`TOO_MANY_ROWS`等异常。通过使用`EXCEPTION`块捕获并处理这些异常,开发者可以防止程序因游标问题而崩溃。例如,当查询无结果时,可以显示定制的错误信息而不是让程序终止。掌握游标异常处理是成为娴熟的Oracle数据管理员的关键,能保证在复杂的数据环境中稳健运行。
|
14天前
|
SQL Oracle 安全
Oracle的PL/SQL异常处理方法:守护数据之旅的“魔法盾”
【4月更文挑战第19天】Oracle PL/SQL的异常处理机制是保障数据安全的关键。通过预定义异常(如`NO_DATA_FOUND`)和自定义异常,开发者能优雅地管理错误。异常在子程序中抛出后会向上传播,直到被捕获,提供了一种集中处理错误的方式。理解和善用异常处理,如同手持“魔法盾”,确保程序在面对如除数为零、违反约束等挑战时,能有效保护数据的完整性和程序的稳定性。
|
14天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL中FOR语句循环游标的奇幻之旅
【4月更文挑战第19天】在Oracle PL/SQL中,FOR语句与游标结合,提供了一种简化数据遍历的高效方法。传统游标处理涉及多个步骤,而FOR循环游标自动处理细节,使代码更简洁、易读。通过示例展示了如何使用FOR循环游标遍历员工表并打印姓名和薪资,对比传统方式,FOR语句不仅简化代码,还因内部优化提升了执行效率。推荐开发者利用这一功能提高工作效率。
|
14天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。
|
14天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL显式游标:数据的“私人导游”与“定制之旅”
【4月更文挑战第19天】Oracle PL/SQL中的显式游标提供灵活精确的数据访问,与隐式游标不同,需手动定义、打开、获取和关闭。通过DECLARE定义游标及SQL查询,OPEN启动查询,FETCH逐行获取数据,CLOSE释放资源。显式游标适用于复杂数据处理,但应注意SQL效率、游标管理及异常处理。它是数据海洋的私人导游,助力实现业务逻辑和数据探险。
|
SQL 存储 Oracle
|
22天前
|
SQL 安全 算法
【SQL server】玩转SQL server数据库:第四章 数据库安全性
【SQL server】玩转SQL server数据库:第四章 数据库安全性
65 12
|
5天前
|
SQL 数据可视化 算法
SQL Server聚类数据挖掘信用卡客户可视化分析
SQL Server聚类数据挖掘信用卡客户可视化分析
14 2

推荐镜像

更多