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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

异步社区 2017-05-02 15:06:00 浏览1575
展开阅读全文

本节书摘来自异步社区出版社《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作为你的第一个工具,并且本书中的指令假定你正是这样做的。

网友评论

登录后评论
0/500
评论
异步社区
+ 关注