Шрифт:
Синтаксис
CREATE INDEX IDx_NAME ON TABLE_NAME (column_NAME) REVERSE;
Пример: создание реверсивного индекса для колонки MARK таблицы AUTO.
CREATE INDEX reg_DATE ON AUTO (reg_num) REVERSE;
Удаление индекса
Для удаления индекса используется команда
DROP INDEX IDx_NAME;
Индексы создаются для определенной колонки таблицы.
Процесс пересоздания индексов может занимать значительное время, это необходимо учитывать при операциях вставки и обновления, удаления данных.
Важные замечания
Обычно использование индексов улучшает производительность базы данных, но в таблицах, где предполагается большое количество операций вставок, обновлений, много индексов использовать не рекомендуется. В этом случае производительность базы данных может существенно снизиться.
Индексы рекомендуется создавать на колонках, которые используются в операциях объединения.
Индекс автоматически создается для столбцов первичных ключей и для столбцов, на которых есть ограничение уникальности.
При наименовании индексов следует придерживаться следующего правила: IDx_имя таблицы_имена_колонок.
Вопросы учеников
Если таблица небольшая, в ней не более 200 записей например, нужен ли в такой таблице индекс?
Нет, индексы для такой таблицы, скорее всего, не понадобятся.
Какие типы индексов существуют в различных СУБД?
Существует множество разных типов индексов, но более подробно мы разберем эту тему в следующих шагах.
В моей базе данных фильтр (WHERE) данных, поиск данных всегда осуществляется одновременно по определенному набору колонок. Какие индексы следует использовать в этом случае?
В этом случае создается композитный индекс.
Синтаксис:
CREATE INDEX IDx_NAME ON TABLE_NAME (column_NAME1, column_NAMEn) REVERSE;
Контрольные вопросы и задания для самостоятельного выполнения
День третий
Шаг 11. Простые запросы
Введение
А сейчас отвлечемся на некоторое время от структуры таблиц и поговорим о том, как извлекать данные из базы.
Логично предположить, что если у нас есть данные, нам необходимо их выбирать из базы, обрабатывать и выводить на экран в удобном, понятном, читаемом виде.
В нашей рабочей схеме уже есть три таблицы с данными – это таблицы AUTO, CITY, MAN.
Напомню, что в таблице MAN хранятся сведения о покупателях: их имена, их возраст, CITY – это данные о городах, а таблица AUTO содержит сведения об автомобилях некоторого автосалона.
Если человек приобретает автомобиль, то в таблице AUTO в колонке PHONEnum выставляется номер телефона человека, который приобрел машину.
Для извлечения данных из базы и вывода этих данных на экран используются команды, называемые запросами к базе данных, специальная команда SQL – SELECT. Эта команда является наиболее часто используемой командой в языке SQL и постоянно применяется на практике.
Теория и практика
Начнем с самого легкого запроса, рассмотрим синтаксис самого простого оператора SELECT:
SELECT * FROM TABLE_NAME
Здесь TABLE_NAME – имя таблицы, из которой мы запрашиваем данные.
Символ * означает, что мы выводим на экран данные из всех колонок.
Откройте тестовую среду и выполните запрос
SELECT * FROM CITY;
Рисунок 7. Запрос из таблицы CITY