[REFERENCES <имя_мастер_таблицы> [<имя_столбца>]]

, ...)

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

- NOT NULL - в этом случае элементы столбца всегда должны иметь определенное значение (не NULL);

- один из взаимоисключающих параметров UNIQUE - значение каждого элемента столбца должно быть уникальным или PRIMARY KEY - столбец является первичным ключом;- REFERNECES <имя_мастер_таблицы> [<имя_столбца>] - эта конструкция определяет, что данный столбец является внешним ключом и указывает на ключ какой мастер_таблицы он ссылается.

• Контроль за выполнением указанных условий осуществляет СУБД.

Удаление таблицы:
DROP TABLE <имя_таблицы>

Добавить столбцы ALTER TABLE <имя_таблицы> ADD (<имя_столбца><тип_столбца> [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES <имя_мастер_таблицы> [<имя_столбца>]] ,...)
Удалить столбцы ALTER TABLE <имя_таблицы> DROP (<имя_столбца>,...)
Модификация типа столбцов ALTER TABLE <имя_таблицы> MODIFY (<имя_столбца><тип_столбца> [NOT NULL] [UNIQUE | PRIMARY KEY] [REFERENCES <имя_мастер_таблицы><имя_столбца>]] ,...)

 

 

29. Язык SQL . Операторы создания индексов. Операторы управления правами доступа. Примеры написания операторов

 

Создание индекса:

CREATE [UNIQUE] INDEX <имя_индекса> ON <имя_таблицы>(<имя_столбца>,...)

 

• Эта команда создает индекс с заданным именем для таблицы <имя_таблицы> по столбцам, входящим в список, указанный в скобках. Создание индексов значительно ускоряет работу с таблицами. В случае указания необязательного параметра UNIQUE СУБД будет проверять каждое значение индекса на уникальность.

• Очень часто встает вопрос, какие поля необходимо индексировать. Обязательно надо строить индексы для первичных ключей, поскольку по их значениям осуществляется доступ к данным при операциях соединения двух и более таблиц. Также в ответе на этот вопрос поможет анализ наиболее частых запросов к базе данных. Например, для БД publications можно ожидать, что одним из наиболее частых запросов будет выборка всех публикаций данного автора.

• Для минимизации времени этого запроса необходимо построить индекс для таблицы authors по именам авторов:

CREATE INDEX au_names ON authors (author);

• Создание индексов для первичных ключей:

CREATE INDEX au_index ON authors (au_id);
CREATE INDEX title_index ON titles (title_id);
CREATE INDEX pub_index ON publishers (pub_id);
CREATE INDEX site_index ON wwwsites (site_id);

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

Удаление индекса:

DROP INDEX <имя_индекса>

 

30. Язык SQL . Команды модификации данных, условия отбора записей. Примеры написания операторов.

• Команды модификации данных

К этой группе относятся операторы добавления, изменения и удаления записей.

Добавить новую запись в таблицу: