Создайте индекс первичного ключа

Понятие об индексах

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

Microsoft SQL Server поддерживает два различных типа индексов: кластерный и некластерный . Кластерный индекс устанавливает порядок, в котором строки таблицы хранятся физически. Некластерный индекс представляет собой отдельный объект внутри базы данных, который указывает на определенные строки таблицы, но не устанавливает порядок их хранения.

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

Помимо индексов, определяемых вами, SQL Server автоматически создает кластерный индекс, называемый индексом первичного ключа, когда вы определяете первичный ключ таблицы. Первичный ключ – это столбец или столбцы, который используется для уникальной идентификации каждой строки.

Создание индексов

В Enterprise Manager индексы могут быть созданы с помощью мастера Create Index Wizard или с использованием конструктора таблиц Table Designer либо путем установки свойства Primary Key, либо путем определения индекса в диалоговом окне Properties (Свойства).

Создайте индекс с использованием мастера Create Index Wizard

  1. Найдите базу данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список объектов базы данных в рабочей панели Details Pane.


увеличить изображение

  1. Щелкните на кнопке Wizard (Мастер) в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).

 

  1. Выберите Create Index Wizard в разделе Database, а затем нажмите ОК. SQL Server отобразит первую страницу мастера создания индексов Create Index Wizard.

 

  1. Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую базу данных и таблицу, для которой будет создан индекс.

 

  1. Убедитесь, что в качестве имени базы данных выбрано Aromatherapy, и выберите в качестве имени таблицы Oils.

 

  1. Нажмите Next (Далее). Мастер отобразит имеющиеся для таблицы индексы. (Индексы с несколько странными именами создаются SQL Server, чтобы использовать их для отношений. Об отношениях мы поговорим в следующем уроке.)

 

  1. Нажмите Next (Далее). Мастер отобразит столбцы, имеющиеся в таблице.

 

  1. Щелкните на ячейках Include In Index столбцов OilName и LatinName, чтобы включить их в индекс.

 

  1. Нажмите Next (Далее). Мастер отобразит страницу, предлагающую выбрать свойства для индекса.

 

  1. Примите предложенные по умолчанию значения, щелкнув на кнопке Next (Далее). Мастер отобразит страницу, подтверждающую ваш выбор и запрашивающую имя для индекса. Примите значение по умолчанию.

 

  1. Выделите поле LatinName и щелкните на кнопке Move Up (Повысить), чтобы изменить порядок полей в индексе.

 

  1. Нажмите Finish (Готово). Мастер отобразит сообщение, подтверждающее, что индекс был создан.

 

Создайте индекс первичного ключа

  1. Перейдите к таблице Tables базы данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список таблиц базы данных.


увеличить изображение

  1. Откройте конструктор таблиц Table Designer для таблицы PlantTypes, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, и выберите Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

 

  1. Выберите столбец PlantTypeID в сетке, щелкнув слева от имени столбца. SQL Server выделит столбец.

 

  1. Щелкните на кнопке Primary Key (Первичный ключ) в панели инструментов конструктора таблиц. SQL Server установит выделенный столбец в качестве первичного ключа.

 

  1. Нажмите кнопку Save (Сохранить), чтобы сохранить изменения и закрыть окно.

Создайте простой индекс

  1. Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

 

  1. Щелкните на кнопке Indexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) для таблицы, в которой будет отображена страница свойств Indexes/Keys (Индексы/Ключи).

 

Совет. Вы также можете открыть диалоговое окно Properties (Свойства) для таблицы, щелкнув на кнопке Properties (Свойства), а затем открыв вкладку Indexes/Keys (Индексы/Ключи).

  1. Нажмите New (Создать). SQL Server предложит IX_Oils в качестве имени индекса и OilID в качестве индексируемого столбца.

 

  1. Измените имя индекса на IX_OilName.

 

  1. Измените имя индексируемого столбца на OilName, выбрав этот столбец из списка.

 

  1. Установите флажок Create UNIQUE (Создать как уникальный), чтобы создать уникальный индекс. SQL Server разрешит установку опций в группе Create UNIQUE.

 

  1. Установите опцию Index (Индекс).

 

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

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

Следует проявлять осторожность при создании уникальных индексов для столбцов, которые допускают использование нулевых значений (NULL). SQL Server разрешит использование только одной строки со значением NULL; все последующие строки будут отвергнуты как строки-дубликаты.

  1. Нажмите кнопку Close (Закрыть). SQL Server закроет диалоговое окно.
  2. Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения, а затем закройте окно конструктора таблиц Table Designer.

Создайте составной индекс

  1. Откройте конструктор таблиц Table Designer для таблицы OilOdors, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

 

  1. Щелкните на кнопке Indexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) с отображением страницы свойств Indexes/Keys (Индексы/Ключи).

 

  1. Нажмите New (Создать). SQL Server предложит IX_OilOdors в качестве имени индекса, и OilID в качестве индексируемого столбца.

 

  1. Добавьте столбец OdorID в индекс, щелкнув на ячейке Column Name и выбрав его в поле со списком.

 

  1. Нажмите кнопку Close (Закрыть). SQL Server закроет диалоговое окно.
  2. Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения, а затем закройте окно Table Designer.

Обслуживание индексов

Как и для всех других объектов в базе данных, у вас может возникнуть потребность изменить созданный вами индекс. Индексы и их свойства обслуживаются в диалоговом окне Properties (Свойства) конструктора таблиц Table Designer.

Изменение индексов

Точно так же, как вы изменяете свойства столбца, открыв конструктор таблиц Table Designer и отобразив диалоговое окно Properties (Свойства) для таблицы, вы можете изменять и свойства индекса.

Переименуйте индекс

  1. Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

 

  1. Щелкните на кнопке Indexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) с отображением страницы свойств Indexes/Keys (Индексы/Ключи).

 

  1. Выберите IX_OilName в поле списка Selected Index (Выбор индекса). SQL Server отобразит свойства индекса.

 

  1. Измените имя индекса на IX_Name.

 

  1. Нажмите Close (Закрыть). SQL Server закроет диалоговое окно.
  2. Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения.

Измените столбцы в индексе

  1. Если конструктор таблиц для таблицы Oils не открыт, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, и выберите Design Table (Конструирование таблицы).

 

  1. Щелкните на кнопке Indexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) с отображением страницы свойств Indexes/Keys (Индексы/Ключи).

 

  1. Выберите Oils_Index_1 в поле списка Selected Index (Выбор индекса). SQL Server отобразит свойства индекса.

 

  1. Выберите ячейку LatinName в поле Column Name и измените индексируемый столбец на PlantTypeID.

 

  1. Нажмите Close (Закрыть). SQL Server закроет диалоговое окно.
  2. Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения.

Удаление индексов

Иногда необходимо удалить индекс из таблицы, поскольку он вам либо уже не нужен, либо преимущества, которые обеспечивает применение индекса для ускорения извлечения данных, сводятся на нет дополнительными затратами времени, необходимыми для обслуживания индекса при обновлении основных данных. Подобно всем другим задачам по обслуживанию индексов, удаление индекса осуществляется через вкладку Indexes/Keys (Индексы/Ключи) диалогового окна Properties (Свойства) конструктора таблиц Table Designer.

Удалите индекс

  1. Если конструктор таблиц Table Designer для таблицы Oils не открыт, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, и выберите Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

 

  1. Щелкните на кнопке Indexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) для таблицы с отображением страницы свойств Indexes/Keys (Индексы/Ключи).

 

  1. Выберите IX_Name в поле списка Selected Index (Выбор индекса). SQL Server отобразит свойства для индекса.

 

  1. Нажмите Delete (Удалить). SQL Server удалит индекс.
  2. Нажмите Close (Закрыть). SQL Server закроет диалоговое окно.
  3. Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения, а затем закройте окно конструктора таблиц Table Designer.

Краткое содержание

Чтобы ... Сделайте следующее Кнопка
Создать индекс первичного ключа Откройте конструктор таблиц Table Designer для таблицы, выберите столбец или столбцы, которые составляют первичный ключ, а затем щелкните на кнопке Primary Key (Первичный ключ).  
Создать индекс Откройте конструктор таблиц Table Designer для таблицы, щелкните на кнопке Indexes/Keys (Индексы/Ключи), чтобы открыть диалоговое окно Properties (Свойства) для таблицы с отображенной страницей свойств Indexes/Keys (Индексы/Ключи), нажмите New (Создать), а затем установите свойства индекса.  
Изменить индекс Откройте конструктор таблиц Table Designer для таблицы, щелкните на кнопке Indexes/Keys (Индексы/Ключи), чтобы открыть диалоговое окно Properties (Свойства) с отображенной страницей свойств Indexes/Keys (Индексы/Ключи), и установите свойства индекса.  
Удалить индекс Откройте конструктор таблиц Table Designer для таблицы, щелкните на кнопке Indexes/Keys (Индексы/Ключи), чтобы открыть диалоговое окно Properties (Свойства) с отображенной страницей свойств Indexes/Keys (Индексы/Ключи), выберите индекс, а затем нажмите Delete (Удалить).  

 


Дата добавления: 2021-05-18; просмотров: 74; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!