Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD.doc
Скачиваний:
4
Добавлен:
28.10.2018
Размер:
483.84 Кб
Скачать

29. Створення індексів в tsql.

Индекcы предназначены для представления данных в таблице в определенном порядке. Существует два типа индексов:

  1. кластерные;

  2. некластерные.

Создание индекса с помощью команды CREATE INDEX: CREATE [UNIQUE] [CLASTERED | NONCLASTERED] INDEX <имя_индекса> ON <имя_таблицы> (имя_столбца [, ...]) [WITH [PAD_INDEX] [[,] FILLFACTOR = x] [[,] IGNORE_DUP_KEY] [[,] DROP_EXISTING] [[,] STATISTICS_NORECOMPUTE] ] Расмотрим подробно назначение каждого из аргументов:

  1. UNIQUE. При указании этого ключевого слова будет создан уникальный индекс. При создании такого индекса сервер выполняет предварительную проверку колонки на уникальность значений. Если в колонке есть хотя бы два одинаковых значения, индекс не создается и сервер выдает сообщение об ошибке.

  2. CLASTERED. Создаваемый индекс будет кластерным. Он обеспечит физическую сортировку записей. Кластерным может быть только один индекс в таблице (обычно для первичного ключа). Такой индекс ускоряет поиск записей.

  3. NONCLASTERED. Создаваемый индекс будет некластерным. Устанавливается по умолчанию. В данном случае выполняется сортировка значений в индексе со ссылкой на физические страницы. В таблице можно определить до 249 некластерных индексов.

  4. PAD_INDEX. При указании этого параметра сервер будет резервировать на каждой странице индекса свободное пространство для вставки новых записей. Этот параметр следует использовать только совместно с параметром FILLFACTOR.

  5. FILLFACTOR = x. Этот аргумент указывает какая часть таблицы используется под основной индекс и какая часть остается, чтобы поместить еще несколько индексов.

  6. IGNORE_DUP_KEY - разрешает повтор значений.

  7. DROP_EXISTING - указывает в каком случае кластерный индекс может быть удален или изменен.

  8. STATISTICS_NORECOMPUTE - запрещается автоматическое перестроение статистики.

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

30. Команди керування даними в tsql.

Блоки команд в SQL - сервере отделяются командой GO

  1. Условный оператор IF <выражение> <команды SQL> [ELSE] [IF ...] [команды SQL]

  2. Блок (операторные скобки): BEGIN ... END

  3. Выдача сообщения PRINT 'text' | @<локальные_переменные> | @@<глобальные_переменные> Переменные выдаются только типа char, varchar длиной 1024 символов. Локальные переменные описываются внутри процедуры. Присвоение значений в процедуре выполняется при помощи команды SELECT или SET. Глобальные переменные имеют всеобщий доступ и определяются на сервере, при этом используются только объявленные глобальные переменные.mДля локальных переменных нельзя использовать имна глобальных переменных.

  4. Организация циклов. WHILE <логическое_выражение> <инструкции SQL> По умолчанию выполняется только одна инструкция. Если необходимо выполнение нескольких инструкций, то применяются операторные скобки BEGIN ... END. Для прерывания цикла применяется BREAK. Для перехода на следующую итерацию - CONTINUE

  5. Безусловный переход: GOTO <имя_метки> <имя_метки>:

  6. RETURN [выражение][n] выражение - это возвращаемое значение; n - номер (параметр) завершения: n=0 успешное завершение n=-1 ... -14 сбои в программе n=-16 ... системные сбои

  7. CASE <выражение1> WHEN <вариант1> THEN <выражение2> ELSE <выражение3> END

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]