Такими категориями являются:
• DDL (Data Definition Language - язык определения данных);
• DML (Data Manipulation Language - язык манипуляций данными);
• DQL (Data Query Language - язык запросов к данным);
• DCL (Data Control Language - язык управления данными);
• команды администрирования данных;
• команды управления транзакциями.
Язык определения данных (DDL) является частью SQL, дающей пользователю возможность создавать различные объекты базы данных и переопределять их структуру, например, создавать или удалять таблицы.
Среди основных команд DDL, которые мы предполагаем с вами обсудить в дальнейшем, будут следующие команды.
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE INDEX
ALTER INDEX
DROP INDEX
Эти команды будут подробно обсуждаться в ходе урока 3, "Управление объектами базы данных", и урока 17, "Повышение эффективности работы с базой данных".
Язык манипуляций данными (DML) является частью SQL, дающей пользователю возможность манипулировать данными внутри объектов реляционной базы данных.
Вот три основные команды 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 позволяет назначить транзакции имя.
Команды управления транзакциями будут подробно обсуждаться в ходе урока 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 |