Иллюстрированный самоучитель по SQL для начинающих

Компоненты SQL

CREATE

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

CREATE SCHEMA SALES
AUTHORIZATION SALES_MGR
DEFAULT CHARACTER SET ASCII_FULL;

С помощью оператора CREATE DOMAIN (создать домен) устанавливаются ограничения на те значения, которые могут быть в столбце, или указывается порядок сопоставления. Устанавливаемые на домен ограничения определяют, какие объекты могут и какие не могут в нем находиться. Создавать домены можно после того, как установлена схема. Следующий пример демонстрирует, как можно использовать эту команду:

CREATE DOMAIN AGE AS INTEGER
CHECK (AGE > 20);

Таблицы создаются с помощью оператора CREATE TABLE (создать таблицу), а представления – с помощью CREATE VIEW (создать представление). В этой главе уже приводились примеры использования операторов CREATE TABLE и CREATE VIEW. Когда с помощью оператора CREATE TABLE создается новая таблица, то в том же операторе на ее столбцы можно также установить ограничения. Впрочем, иногда требуется установить ограничения, которые относятся не только к таблице, но и ко всей схеме. В таких случаях используется оператор CREATE ASSERTION (создать утверждение).

Кроме того, имеются операторы CREATE CHARACTER SET (создать символьный набор), CREATE COLLATION (создать сопоставление) и CREATE TRANSLATION (создать трансляцию), которые предоставляют широкие возможности по созданию новых символьных наборов, последовательностей сопоставления или таблиц трансляции. (Последовательности сопоставления определяют порядок, в котором будут проводиться операции сравнения или сортировки. Таблицы трансляции управляют преобразованием символьных строк из одного символьного набора в другой.)

ALTER

Таблица не обязательно навсегда останется такой, какой ее создали. Как только ее начинают использовать, то вдруг обнаруживается, что в ней нет чего-то такого, что обязательно должно было быть. Чтобы изменить таблицу, добавив, изменив или удалив ее столбец, воспользуйтесь командой ALTER TABLE (изменить таблицу). Команду ALTER можно применять не только к таблицам, но также к столбцам и доменам.

DROP

Удалить таблицу из схемы базы данных легко. Надо только использовать команду DROP TABLE <имя_таблицы> (прекратить поддержку таблицы). В результате стираются все данные этой таблицы, а также метаданные, которые определяют ее в словаре данных, – после чего таблицы как будто и не было.

Язык манипулирования данными

Как уже говорилось в этой главе, DDL является частью языка SQL, предназначенной для создания, модификации или разрушения структур базы данных. Непосредственно с данными язык DDL не работает. Для этого предназначена другая часть SQL – язык манипулирования данными (Data Manipulation Language, DML). Некоторые операторы DML можно читать как обычные предложения на английском языке, и эти операторы легко понять. Однако другие операторы DML могут быть, наоборот, очень сложными – как раз из-за того, что SQL дает необъятные возможности работы с данными. Если в операторе DML имеется множество выражений, предложений, предикатов или подзапросов, то даже просто понять, для чего этот оператор предназначен, может оказаться по-настоящему трудным делом. Поработав с некоторыми из них, вы, возможно, захотите переключиться на что-нибудь более легкое, например, на хирургию мозга или квантовую электродинамику. Впрочем, все не так плохо. Дело в том, что такие сложные операторы SQL можно мысленно разбивать на простые части и анализировать одну за другой.

Можно использовать такие операторы DML: INSERT (вставить), UPDATE (обновить), DELETE (удалить) и SELECT (выбрать). Они могут состоять из разных частей, в том числе из множества предложений. А в каждом предложении могут быть выражения со значениями, логические связки, предикаты, итоговые функции и подзапросы. Все они позволяют точнее отделять друг от друга записи базы данных и получать из своих данных больше информации. В главе 6 рассказывается о том, как работают команды DML, а более подробно о самих командах речь пойдет в главах 7-12.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.