Сеанс SQL начинается в момент подключения пользователя к базе данных. Для этого используется команда CONNECT. С помощью команды CONNECT можно либо осуществлять подключения к базе данных, либо менять характер уже установленных подключений. Например, подключившись к базе данных под именем USER1, вы можете затем использовать команду CONNECT, чтобы подключиться к той же базе данных под именем USER2. При этом неявно прекращается сеанс SQL для пользователя USER1.
CONNECT user@database
При попытке подключиться к базе данных вы автоматически получите запрос на введение пароля, соответствующего введенному вами имени пользователя.
Сеанс SQL прекращается при отключении пользователя от базы данных. Для отключения пользователя от базы данных используется команда DISCONNECT. После отключения от базы данных вы еще можете пользоваться программными средствами связи с базой данных, но сама связь с базой данных будет прекращена. При использовании для разрыва связи оператора EXIT прекращается не только ваш сеанс SQL, но и закрывается программа, с помощью которой осуществлялся доступ к базе данных.
DISCONNECT
В следующих разделах мы обсудим основные категории команд, реализующих в SQL выполнение различных функций. Среди таких функций - построение объектов базы данных, управление объектами, пополнение таблиц базы данных новыми данными, обновление данных, уже имеющихся в таблицах, выполнение запросов, управление доступом пользователей к базе данных, а также осуществление общего администрирования базы данных.
Такими категориями являются:
• DDL (Data Definition Language - язык определения данных);
• DML (Data Manipulation Language - язык манипуляций данными);
• DQL (Data Query Language - язык запросов к данным);
• DCL (Data Control Language - язык управления данными);
• команды администрирования данных;
• команды управления транзакциями.
Среди основных команд DDL, которые мы предполагаем с вами обсудить в дальнейшем, будут следующие команды.
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE INDEX
ALTER INDEX
DROP INDEX
Эти команды будут подробно обсуждаться в ходе урока 3, "Управление объектами базы данных", и урока 17, "Повышение эффективности работы с базой данных".
Вот три основные команды DML:
INSERT
UPDATE
DELETE
Эти команды будут обсуждаться подробно в ходе урока 5, "Манипуляция данными".
Хотя этот раздел языка представлен только одной командой, для пользователя реляционной базы данных язык запросов к данным (DQL) является самой главной частью SQL. Этой командой является команда
SELECT
Эта команда, имеющая множество опций и необязательных параметров, используется для построения запросов к реляционным базам данных. С ее помощью можно конструировать запросы любой сложности - от самых общих до очень специальных и от самых простых до невероятно сложных. Команда SELECT будет подробно обсуждаться в ходе уроков 7-16.
Команды управления данными в SQL позволяют осуществлять контроль над возможностью доступа к данным внутри базы данных. Команды DCL обычно используются для создания объектов, относящихся к управлению доступом пользователей к базе данных, а также для назначения пользователям подходящих уровней привилегий доступа. Вот некоторые из команд управления данными:
ALTER PASSWORD
GRANT
REVOKE
CREATE SYNONYM
Эти команды часто используются вместе с другими командами и поэтому будут появляться во многих последующих главах книги.
Команды администрирования данных дают пользователю возможность выполнять аудит и анализ операций внутри базы данных. Эти команды могут также помочь при анализе производительности системы данных в целом. Вот две команды администрирования данных общего вида:
START AUDIT
STOP AUDIT
He путайте администрирование данных с администрированием всей базы данных.
В дополнение ко всем уже рассмотренным категориям команд есть еще команды, позволяющие пользователю управлять транзакциями базы данных.
• Команда COMMIT используется для того, чтобы сохранить транзакции.
• Команда ROLLBACK используется для того, чтобы отменить транзакции.
• Команда SAVEPOINT создает точки внутри групп транзакций, к которым отсылает команда ROLLBACK.
• Команда SET TRANSACTION позволяет назначить транзакции имя.