[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 . Команды модификации данных, условия отбора записей. Примеры написания операторов.
• Команды модификации данных
К этой группе относятся операторы добавления, изменения и удаления записей.
• Добавить новую запись в таблицу: