头图

结构化查询语言

大多数计算机软件还做不到以文字方式询问数据库“New Jersey 的客户下了哪些装运日期 在第三季度的订单?”。您还必须使用软件能够容易分析的限制语法来表述问题。可以使 用以下术语对演示数据库提出相同问题:

SELECT * FROM customer, orders WHERE customer.customer_num = orders.customer_num AND customer.state = 'NJ' AND orders.ship_date BETWEEN DATE('7/1/98') AND DATE('9/30/98');

此问题是“结构化查询语言(SQL)”的一个样本。您将使用这种语言来发出对数据库的 所有操作。SQL 由语句组成,每个语句都以指定函数的一个或两个关键字开头。SQL

的 GBase 8s 实现包含从 ALLOCATE DESCRIPTOR 到 WHENEVER 的大量 SQL 语句。

仅当设置或调整数据库时才将使用大多数语句。通常将使用三个或四个语句来查询或更新 数据库。有关 SQL 语句的详细信息,请参阅《GBase 8s SQL 指南:语法》 。

最经常使用的语句是 SELECT 语句。SELECT 是唯一可用来从数据库检索数据的语句。 它还是最复杂的语句,本书中的后面两章将讨论它的许多用法。

1 标准 SQL

由于性能或竞争优势等原因,或者为了利用本地硬件或软件功能,每个 SQL 实现都与其 它实现以及 GBase 版本的语言有些小的区别。为了确保这些差异不会增大,在二十世纪八 十年代早期成立了标准委员会。

由美国国家标准学会(ANSI)资助的委员会 X3H2 在 1986 年发布了 SQL1 标准。此标 准定义了一组核心的 SQL 功能和诸如 SELECT 等语句的语法。

2 GBase 8s SQL 和 ANSI SQL

SQL 的 GBase 8s 实现与标准 SQL 兼容。GBase 8s SQL 还与 GBase 版本的语言兼容。然 而,GBase 8s SQL 包含对标准的扩展;即,某些语句的额外选项或功能及其他语句的更宽 松的规则,大多数差异出现在不经常使用的语句中。例如:在 SELECT 语句方面很少出现 差异,该语句占 SQL 使用率的 90%。 GBase 8s SQL 和 ANSI 标准之间的一个差异是,GBase 8s SQL 指南:语法会将 GBase 8s 语 法标识为对 SQL 的 ANSI 标准的扩展。

3 交互式 SQL

要实施本书中的示例以尝试 SQL 和数据库设计,您需要一个允许您以交互方式执行 SQL

语句的程序。DB-Access 就是一个这样的程序。它帮助您编写 SQL 语句,然后将 SQL 语 句传递至数据库服务器以供执行,并向您显示结果。

4 一般编程

可用编写合并 SQL 语句并与数据库服务器交换数据的程序。即,可以编写从数据库中检 索数据并对选择的任何内容进行格式化的程序。还可以编写从任何格式的任何源中取出数 据。准备数据并将数据插入到数据库中的程序。

还可以编写称为存储例程的程序来使用数据库数据和对象。编写的存储例程直接存储在数 据库中的表中。然后,可以从 DB-Access 或 SQL 应用编程接口(API,例如 GBase 8s ESQL/C)执行存储例程。 SQL 编程和通过 SQL 程序修改数据提供了如何在程序中使用 SQL 的概述。

5 符合 ANSI 的数据库

当创建数据库时使用 MODE ANSI 关键字来将数据库指定为符合 ANSI 。在此类数据库 中,ANSI/ISO 标准的某些特性适用。例如:修改数据的所有操作在事务中自动发生。这意 味着更改要么作为一个整体进行,要么根本就不进行。在 GBase 8s SQL 指南:语法 中的 语句描述中。在适当的位置说明了符合 ANSI 的数据库在行为方面的差异。

6 Global Language Support

GBase 8s 数据库服务器产品提供了 Global Language Support (GLS)功能部件。除了 U.S. ASCII 英语之外,GLS 允许您在其它语言环境中工作并在 SQL 数据和标识中使用非

ASCII 字符。可以使用 GLS 功能来与特定语言环境定制保持一致。语言环境文件包括特 定于文化的信息。如货币和日期格式以及整理顺序。


GBase数据库
1 声望2 粉丝

GBase数据库知识分享