DB2 – система управления реляционными базами данных. Заданное число упорядоченных столбцов и неупорядоченные строки, страница 10

Пример оператора:

CREATE VIEW EMPV AS SELECT * FROM EMP WHERE SALARY < 75.000 WITH CHECK OPTION


VIEW – Информация в каталоге

Выше перечислены таблицы системного каталога, в которых DB2 хранит информацию о представлении.


Итоговая информация о VIEW

VIEW:

-   исключает доступ к ненужным данным

-   исключает избыточное кодирование

-  используется для безопасности данных

-  используется для настройки имен столбцов

Вот некоторые причины для использования VIEW.

Полная независимость данных, однако, может быть не достигнута, из-за того, что некоторые виды VIEWпредоставляют доступ только для чтения.
Синонимы  (SYNONYM)

Если Вы хотите использовать чужую таблицу, как свою (без указания первого квалификатора имени таблицы, в результате чего используется имя Вашего пользователя), тогда вы должны создать синоним для этого объекта.


Синоним – Информация в каталоге

Синоним можно назвать “личным” указателем на таблицу. Он может быть связан только с владельцем. Квалификатор не используется. Это объясняет, почему описание синонима не сохраняется в каталоге SYSIBM.SYSTABLES, как в случае с  VIEW.


Алиасы (ALIAS)

Алиас – это просто указатель на другую таблицу. Указатель сам по себе подобен виртуальной таблице. К нему можно обращаться с использованием уточненного имени. Таблица может располагаться на удаленной стороне и доступ к ней возможен только  через протокол DRDA.


Алиас – Информация в каталоге

Определение алиаса хранится в каталоге аналогично определению таблиц и представлений.


Индексы

Индекс – это упорядоченное множество указателей к данным в таблице.

Индекс сохраняется отдельно от таблицы.

Каждый индекс состоит из значений данных одного или нескольких столбцов таблицы.

Индексами управляет DB2.

Индекс на таблицу может быть создан только после создания таблицы.

В момент создания индекса таблица может быть пустой или может содержать данные.

Индекс создает пользователь, но DB2 принимает решение использовать ли существующий индекс для обращения к данным таблицы.

Каждый индекс расположен в отдельном индексном пространстве.  Индексному пространству может соответствовать до 64 линейных наборов данных VSAM. Индексное пространство автоматически определяется в той же базе данных, что и таблица.

Индексы позволяют:

·  Управлять производительностью запросов.  Во многих случаях  доступ к данным быстрее с индексом, чем без него.

·  Обеспечивать уникальность строк. Таблица с уникальным индексом не может иметь две строки с одинаковыми значениями в столбце или столбцах индексного ключа.

Разделяющий индекс  создается на таблицу в разделенном табличном пространстве и состоит из множества индексных пространств. Оператор создания индекса содержит ключевое слово PART.

Кластеризующий индекс  определяет  порядок, в котором сохраняются записи базовой таблицы.

Существует два типа индексов: типа 1 и типа 2.

SQL-оператор CREATE INDEX создает индекс.

С помощью оператора ALTER INDEX можно изменить тип индекса, с одного типа на другой. Затем следует выполнить утилиту RECOVER INDEX, чтобы завершить изменение.

Если в операторе CREATE INDEX явно не указывается тип индекса, то  тип создаваемого индекса зависит от значения параметра  LOCKSIZE табличного пространства, в котором расположена таблица :

1.  Если LOCKSIZE = ROW, создается индекс типа 2, т.к. для индекса типа 1 не  используется блокирование строки.

2.  Если LOCKSIZE отлично от ROW, тип создаваемого индекса определяется значением, установленным для типа индекса во время инсталляции подсистемы (поле DEFAULT INDEX TYPE на панели инсталляции DSNTIPE).


Уникальные и не уникальные индексы

Если Вы определили ключ на таблицу, который не должен содержать дублирующихся значений (ключ уникальности), Вы должны определить индекс на этот ключ с ключевым словом UNIQUE. Это сообщит DB2, что дублирующиеся значения не разрешаются и “заставит” DB2 поддерживать уникальность значений в ключе.