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

Такими категориями являются:

• DDL (Data Definition Language - язык определения данных);

• DML (Data Manipulation Language - язык манипуляций данными);

• DQL (Data Query Language - язык запросов к данным);

• DCL (Data Control Language - язык управления данными);

• команды администрирования данных;

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

Определение структур базы данных (DDL)

Язык определения данных (DDL) является частью SQL, дающей пользователю возможность создавать различные объекты базы данных и переопределять их структуру, например, создавать или удалять таблицы.

Среди основных команд DDL, которые мы предполагаем с вами обсудить в дальнейшем, будут следующие команды.

CREATE TABLE

ALTER TABLE

DROP TABLE

CREATE INDEX

ALTER INDEX

DROP INDEX

Эти команды будут подробно обсуждаться в ходе урока 3, "Управление объектами базы данных", и урока 17, "Повышение эффективности работы с базой данных".

Манипуляция данными (DML)

Язык манипуляций данными (DML) является частью SQL, дающей пользователю возможность манипулировать данными внутри объектов реляционной базы данных.

Вот три основные команды DML:

INSERT

UPDATE

DELETE

Эти команды будут обсуждаться подробно в ходе урока 5, "Манипуляция данными".

Отбор данных (DQL)

Хотя этот раздел языка представлен только одной командой, для пользователя реляционной базы данных язык запросов к данным (DQL) является самой главной частью SQL. Этой командой является команда

SELECT

Эта команда, имеющая множество опций и необязательных параметров, используется для построения запросов к реляционным базам данных. С ее помощью можно конструировать запросы любой сложности - от самых общих до очень специальных и от самых простых до невероятно сложных. Команда SELECT будет подробно обсуждаться в ходе уроков 7-16.

Запрос - это требование на получение информации из базы данных.

Язык управления данными (DCL)

Команды управления данными в SQL позволяют осуществлять контроль над возможностью доступа к данным внутри базы данных. Команды DCL обычно используются для создания объектов, относящихся к управлению доступом пользователей к базе данных, а также для назначения пользователям подходящих уровней привилегий доступа. Вот некоторые из команд управления данными:

ALTER PASSWORD

GRANT

REVOKE

CREATE SYNONYM

Эти команды часто используются вместе с другими командами и поэтому будут появляться во многих последующих главах книги.

Команды администрирования данных

Команды администрирования данных дают пользователю возможность выполнять аудит и анализ операций внутри базы данных. Эти команды могут также помочь при анализе производительности системы данных в целом. Вот две команды администрирования данных общего вида:

START AUDIT

STOP AUDIT

He путайте администрирование данных с администрированием всей базы данных. Администрирование базы данных - это осуществление общего управления базой данных, предполагающее возможность использования команд любого уровня.

Команды управления транзакциями

В дополнение ко всем уже рассмотренным категориям команд есть еще команды, позволяющие пользователю управлять транзакциями базы данных.

• Команда COMMIT используется для того, чтобы сохранить транзакции.

• Команда ROLLBACK используется для того, чтобы отменить транзакции.

• Команда SAVEPOINT создает точки внутри групп транзакций, к которым отсылает команда ROLLBACK.

• Команда SET TRANSACTION позволяет назначить транзакции имя.

Команды управления транзакциями будут подробно обсуждаться в ходе урока 6. "Управление транзакциями".

Описание базы данных, используемой в данной книге

Прежде чем продолжить наше с вами путешествие в мир SQL, давайте определим те таблицы и данные, которые мы будем использовать в инструкциях всех следующих уроков. Следующие два раздела представляют собой обзор всех таблиц этой конкретной базы данных, их структуры, связей и содержащихся в них данных.

Схема таблиц, используемых в книге

На рис. 1.4 показаны отношения между таблицами, используемыми в этой книге для примеров, вопросов для проверки и упражнений. Каждая из таблиц имеет скос имя, точно так же свои имена назначены в таблицах каждому из полей. Линии, связывающие таблицы, указывают на связи таблиц посредством общего поля, которое в большинстве случаев называется ключевым полем (последние обсуждаются в ходе урока 3, "Управление объектами базы данных").

Стандарты назначения имен таблицам

Стандарты назначения имен таблицам, как и любые стандарты в бизнесе вообще, очень важны с точки зрения осуществления контроля. Проанализировав таблицы и данные из предыдущих разделов, вы, наверное, заметили, что все имена таблиц имели суффикс _TBL. Наличие такого суффикса в именах таблиц принято за стандарт. В этом случае _TBL просто говорит о том, что соответствующий объект является таблицей - ведь в базе данных может содержаться и множество других объектов. Например, вы увидите, что суффикс _IDX используется для индексов таблиц. Стандарты назначения имен вводятся почти исключительно в целях упрощения общей организации и Оказываются очень полезными в деле администрирования любой реляционной базы данных. Вместе с тем, использование суффиксов при назначении имен объектам базы дйнных не является строго обязательным.

Желательно не только следовать предлагаемым конкретной реализацией SQL правилам назначения имен, но и правилам, принятым внутри соответствующей области деятельности, чтобы имена носили описательный характер и соответствовали тем данным, на которые эти имена указывают.

Рис. 1.4. Связи между таблицами, используемыми в этой книге

Обзор данных

В этом разделе приводится обзор данных, содержащихся в таблицах, используемых в книге. Потратьте несколько минут на то, чтобы просмотреть эти данные и разобраться в связях как между таблицами, так и между непосредственно данными. Обратите внимание на то, что некоторые поля не требуют обязательного наличия в них данных - такая возможность должна быть задана при создании таблицы в базе данных.

EMPLOYEE_TBL

EMP_ID

LAST NAM

FIRST NAM

ADDRESS

CITY

ST

ZIP

PHONE

311549902 442346889 213764555 313782439 220984332 443679012

STEPHENS PLEW GLASS GLASS WALLACE SPURGEON

TINA LINDA BRANDON JACOB MARIAH TIFFANY

D RR 3 BOX 17A С 3301 BEACON S 1710 MAIN ST 3789 RIVER BLVD 7789 KEYSTONE 5 GEORGE COURT

GREENWOOD INDIANAPOLIS WHITELAND INDIANAPOLIS INDIANAPOLIS INDIANAPOLIS

IN IN IN IN IN IN