Выбрать главу

обеспечения является база данных Oracle; в качестве других примеров

можно назвать SQL Server, DB2 и MySQL.

Разумеется, каждая база данных должна предоставлять возможности

для ввода и вывода данных, желательно, при помощи общего языка, понятного

для всех баз данных. В системах управления базами данных реализован

стандартный язык, известный как язык структурированных запросов

(Structured Query Language, или сокращённо SQL). Среди прочего, SQL

позволяет вам получать информацию, а также добавлять, модифицировать

и удалять информацию из базы данных.

Знакомство с языком структурированных запросов (SQL)

Язык структурированных запросов (SQL) является стандартным языком,

разработанным для доступа к реляционным базам данных. Слово SQL следует

произносить по буквам: “S-Q-L’.

Примечание Согласно правилам Национального института стандартизации США (American

National Standard Institute - ANSI) аббревиатуру SQL следует правильно произносить как "S-Q-L”

(«Эс-Кью-Эл»). Однако часто вместо этого произносят одно слово «сикьюел» (sequel).

SQL основан на фундаментальной работе доктора Е. Ф. Код да, а первая

реализация SQL была подготовлена компанией IBM в середине 1970-х годов.

Компания IBM в то время осуществляла исследовательский проект,

известный как System R, и SQL возник в рамках этого проекта. Позднее,

в 1979 г., компания, которая в то время называлась Relational Software Inc.

(и которая сегодня известна как корпорация Oracle), выпустила первую

коммерческую версию SQL. Сегодня SQL полностью стандартизован

и признается Национальным институтом стандартизации США.

В SQL используется очень простой синтаксис, которому легко научиться

и который просто использовать. В этой главе будет приведено несколько

простых примеров по его применению. Существует пять типов операторов

SQL, которые перечислены ниже.

■ Операторы для запросов выбирают строки, хранящиеся в таблицах

базы данных. Для записи запроса используется SQL выражение SELECT.

■ Операторы языка манипулирования данными (Data Manipulation

Language, DML) изменяют содержимое таблиц. Существует три типа

операторов DML:

■ I N S ERT до б авл яе т с т р о к и в таблицу;

■ UPDATE и зм е н я е т стр о ки ;

■ DELETE удаляет с тр о к и .

■ Операторы языка определения данных (Data Definition Language,

DDL) определяют структуры данных, такие как таблицы, из которых состоит

база данных. Существует пять основных типов операторов DDL.

■ CREATE создает структуру базы данных. Например, CREATE TABLE используется

для создания таблицы; оператор CREATE USER используется

для создания пользователя базы данных.

4 Глава 1

■ ALTER изменяет структуру базы данных. Для изменения таблицы

используется ALTER TABLE.

■ DROP удаляет структуру базы данных. Например, для удаления таблицы

используется DROP TABLE.

■ RENAME и зм е н я е т и м я т аб ли цы .

■ TRUNCATE удаляет все с т р о к и та б ли цы .

■ Операторы управления транзакциями (Transaction Control, ТС)

либо записывают внесенные в строки таблицы изменения для их

постоянного хранения в базе данных, либо отменяют сделанные изменения.

Существует три оператора управления транзакциями.

■ COMMIT записывает внесенные в строки изменения для постоянного

хранения в базе данных.

■ ROLLBACK о тм е н я е т в н е с е н ны е в с т р о к и и зм е н е н и я .

■ SAVEPOINT устанавливает контрольную точку (save point), до которой

Вы можете выполнить откат изменений, внесенных в строки.

■ Операторы языка управления данными (Data Control Language,

DCL) изменяют права на использование структур базы данных. Существует

два оператора управления данными.

■ GRANT предоставляет другому пользователю доступ к Вашим структурам

базы данных.

■ REVOKE запрещает доступ другому пользователю к Вашим структурам

базы данных.

Существует много способов выполнения операторов SQL и получения

результатов из базы данных, к их числу относится выполнение программ,

написанных с применением Oracle Forms и Oracle Reports. Операторы

SQL также могут быть встроены в программы, написанные на других языках,

например, Oracle Рго*С++, которые позволяют встраивать операторы

SQL в программы, написанные на языке программирования C++. Вы можете

также добавлять операторы SQL в программы, написанные на языке

Java, используя для этого JDBC. Подробности можно найти в моей книге

«Программирование JDBG для 0racle9i” (Oracle9i JDBC Programming, Oracle

Press, 2002).

Кроме того, у Oracle есть инструментальное средство SQDPlus, которое