Тема 4 Индексы.

Цель: Изучить создание индексов и ключей в системе SQL Server.

Вопросы лекции:

1.     Создание индексов и ключей в системе SQL-сервер

2.     Использование ограничений

3.     Использование диаграмм для разработки структуры базы данных

4.     Создание представлений

 

 

1. Индексы представляют собой наборы уникальных значений для некоторой таблицы с соответствующими ссылками на данные, расположенные в самой таблице. Индексы являются удобным внутренним механизмом системы SQL-сервера, с помощью которого осуществляется доступ к данным наиболее оптимальным образом. Для создания индексов определенной таблицы базы данных SQL-сервера можно воспользоваться одним из следующих способов:

создать индекс с помощью SQL-команды CREATE INDEX

воспользоваться возможностями утилиты SQL Server Enterprise Manager

Начальным этапом создания индекса является выбор необходимой базы данных и таблицы, для которой он будет определяться. Выполнение команды АН Tasks / Manage Indexes меню Action отобразит на экране диалоговое окно управления индексами базы данных. Выпадающие списки Databases и Table позволяют  перемещаться между базами данных и их таблицами. В списке Existing indexes отображаются имеющиеся индексы для выбранной таблицы указанной базы данных. Здесь же имеются кнопки по управлению индексами. Кнопка New позволяет открыть диалоговое окно для создания нового индекса. В этом окне следует указать имя нового индекса, пометить те поля таблицы, которые войдут в индекс, а также установить некоторые опции индекса:
         
Unique values       - уникальность вводимых значений

Ignore duplicate values - игнорирование ввода повторяющихся значений в проиндексированных полях Clustered index - использование этой опции позволяет произвести кластерное индексирование, в результате чего будут отсортированы данные в самой таблице согласно порядку этого индекса, и вся добавляемая информация будет приводить к изменению физического порядка данных. При этом нужно учитывать, что в таблице может быть только один кластерный индекс.

Одним из основных понятий баз данных, используемых при контроле целостности информации, является ключ. Разделяют первичные и внешние ключи. Первичный ключ - это уникальное поле (или несколько полей), однозначно определяющее записи таблицы базы данных. Внешние ключи - это поля таблицы, которые, как правило, соответствуют первичным* ключам из других таблиц. Задание первичного ключа таблицы осуществляется в дизайнере таблиц. Для этого следует выбрать подходящее поле (опция Allow Nulls должна быть не помечена), и установить первичный ключ с помощью кнопки Set primary key ("ключ").

 

2. С помощью механизма ограничений осуществляется контроль целостности данных в таблице. SQL-сервер позволяет определить ограничения, используемые для проверки допустимости данных, указать набор определенных значений и т.д. В утилите SQL Server Enterprise Manager назначение ограничений осуществляется для определенной таблицы в дизайнере таблиц выбором кнопки Table and Index Properties, с помощью которой отобразится диалоговое окно свойств данной таблицы:

Нажатие кнопки New приведет к созданию нового ограничения с задаваемым с поле (Constraint name именем. После чего в поле Constraint expression необходимо будет ввести SQL-команду проверки вводимых значений.

Например:

COURS BETWEEN I AND 5

или

STIP IN (0, 17,25,50,34,51)

 

3. В базах данных SQL-сервера существует объект Diagrams, позволяющий в графическом виде разрабатывать структуру данных. Здесь имеется возможность создания таблиц, определения ключей, осуществления связи между таблицами и т.д. Полученную диаграмму можно распечатать. Здесь также можно добавлять различные текстовые комментарии и заголовки. Однако отличительной чертой использования данного объекта является автоматическое создание всего описанного в диаграмме.

Команда New Database Diagram меню Action приведет к запуску мастера разработки диаграмм, который запросит список таблиц, включаемых в диаграмму. С помощью кнопок панели инструментов можно как управлять внешним видом и размещением таблиц и надписей в окне, так и добавлять или создавать новые таблицы.

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

Relationship name   - имя связи

Primary key table    - первичный ключ родительской таблицы

Foreign key table    - внешний ключ дочерней таблицы, по которому произойдет связь Check existing data on creation - выбор данной опции приведет к проверке соответствия значений таблиц условиям данной связи по завершении процесса создания Enable relationship for INSERT and UPDATE - создаваемая связь будет использоваться при операциях добавления и изменения информации в таблицах

Enable relationship for replication - использование создаваемой связи при процессах репликации данных При сохранении созданной диаграммы структуры данных система запросит имя диаграммы и разрешение на внесение изменений в реальные объекты базы данных.

 

4. Представления - это сохраненные результаты SQL-запроса, с помощью которых можно осуществлять доступ к данным таблиц, для которых был создан этот запрос. Представления являются удобным инструментом для работы с таблицами базы данных.

Для создания представления в первую очередь необходимо выбрать группу Views в списке объектов базы данных, после чего, воспользовавшись командой New View меню Action, загрузить дизайнер представлений.

Диалоговое окно дизайнера состоит из следующих основных частей:

Diagram Pane (панель диаграмм)    -    обычно используется для добавления новых таблиц в представление, описания связей между ними, а также определения полей, которые будут участвовать в представлении.

Grid Pane (панель-список) - на этой панели отображается перечень полей, выбранных в Diagram Pane.

Здесь также можно добавлять новые поля, определять наличие различных критериев и т.д.

SQL Pane (SQL-панель)  - на этой панели представляется SQL-команда, формируемая с помощью вышеописанных панелей.

Result Pane (панель результатов) - работу произведенных настроек удобно проверить, используя данную панель, в которой по нажатию кнопки Rim, отображаются результаты настроенного представления.

Для просмотра информации из сохраненного ранее представления необходимо выполнить команду Open View / Return all rows меню Action, предварительно выбрав его в списке объектов Views. Редактирование содержимого представления аналогично процессу редактирования таблиц.

 

Литература:

1  Е. Мамаев  «Microsoft SQL Server 2000», БХВ-Петербург, 2004г.

 

Контрольные вопросы:

1 Что собой представляет индекс?

2 Как создается диаграмма в SQL Server?