Модификация метаданных

Существуют несколько операторов SQL для управления метаданными, которые используются для создания, изменения или удаления баз данных и содержащихся в них объектов (таблиц, представлений и др.). Мы рассмотрим некоторые из них: CREATE TABLE, ALTER TABLE и DROP.

Для создания новой таблицы необходимо использовать оператор CREATE TABLE:

CREATE TABLE <имя таблицы>

(полеl тип поля размер поля, поле2 тип поля размер поля, …, поле n тип поля размер поля)

В этом операторе следует указать имя поля, тип данных для него (тип данных должен поддерживаться используемой СУБД), длину (для некоторых типов полей). Например, следующий запрос создает таблицу с именем Simple с четырьмя столбцами: LastName, FirstName, EMail и HomePage:

CREATE TABLE Simple (FirstName char (30), LastName char(30), EMail char(20), HomePage har(255)

Используя предложение SELECT'и ключевое слово INTO, можyj создавать новые таблицы, основанные на условии, указанном в предложении WHERE. Например:

SELECT *

INTO NewOrders

FROM Orders

WHERE OrderDate> 1/1/97

Этот запрос создаст новую таблицу NewOrders и заполнит ее данными о заказах, начиная с 1 января 1997 года.

Для изменения структуры существующей таблицы используется оператор ALTER TABLE. Применяя его, можно добавить либо удалить поле или серверное ограничение.

Первая разновидность этого оператора используется для добавления поля к таблице, и ее синтаксис имеет вид:

ALTER TABLE <имя таблицы> ADD <имя поля> <тип> <размер>

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

ALTER TABLE Simple ADD Phone char(20)

Вторая разновидность предложения ALTER TABLE применяется для удаления поля из таблицы:

ALTER TABLE <имя таблицы> DROP <имя поля>

ALTER TABLE Simple DROP Phone

Для удаления таблиц или индексов можно использовать оператор DROP, имеющий две разновидности.

Первая из них применяется для удаления таблицы из базы данных:

DROP TABLE <имя таблицы>

Вторая разновидность используется для удаления индекса:

DROP INDEX index ON table Другие операторы SQL

Как было отмечено ранее, существует около 40 оператор SQL. Мы рассмотрели большинство из них. Некоторые из: рассмотренных нами операторов перечислены ниже:

• операторы CREATE, такие как CREATE DATABASE, CREATE VIEW, CREATE TRIGGER (два последних из них мы рассмотрим в следующей главе);

• операторы ALTER, такие как ALTER DAТА BASE, ALTER VIEW и ALTER TRIGGER,

• операторы DROP, такие как DROP DATABASE, DROP VIEW, DROP TRIGGER;

• BEGIN TRANSACTION, COMMIT TRANSACTION и ROLLBACK TRANSACTION для выполнения группы нескольких операторов как единой логической группы;

• DECLARE CURSOR, OPEN и FETCH для работы с курсорами;

• GRANT и REVOKE для добавления или удаления прав на использование объектов базы данных, а также CREATE USER, ALTER USER, DROP USER, CREATE GROUP, ALTER GROUP и DROP GROUP для управления списком пользователей и групп пользователей.

Мы узнали, что:

• SQL — непроцедурный язык, предназначенный для управления данными в реляционных СУБД Последний официальный стандарт был опубликован ANSI в 1992 году, и современная реализация SQL называется SQL92. Язык SQL поддерживается большинством производителей СУБД. Уже есть стандарт SQL95;

• оператор SELECT следует использовать для извлечения данных из таблиц. Предложение WHERE можно применять для того, чтобы ограничить результирующий набор данных записями, удовлетворяющими заданному условию;

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

• для получения данных из нескольких таблиц можно использовать ключевое слово JOIN;

• операторы CREATE, ALTER и DROP могут быть использованы для создания, модификации и удаления баз данных и содержащихся в них объектов (таблиц, представлений и др.).