Создание объектов базы данных SQL Server средствами оболочки VS.NET 2003
Создание индексов
Индексы используются для повыщения производительности при поиске значений в полях и сортировке данных. В оболочки есть средства для выбора одного или нескольких полей для создания индекса. Если поле объявлено как первичный ключ, то в нем должны находиться уникальные непустые значения данных. Если в таблице нет такого поля, то вместо него можно ввести поле, значение в котором наращивается автоматически. Такое поле называется полем идентификатора.
Поле идентификатора также можно назначить в качестве первичного ключа, поскольку оно однозначно определяет каждую запись в таблице. На поле первичного ключа также создается индекс.
Индексы существенно увеличивают скорость обработки данных, но злоупотреблять ими не следует, поскольку они занимают дополнительные ресурсы. Целесообразно применять индексы для таблиц с очень большим количеством записей.
- В панели Server Explorer раскройте дерево зарегистрированных баз данных и вызовите контекстное меню для узла с созданной нами таблицей tblCustomers. Выполните команду Design Table
- В открывшемся окне дизайнера структуры таблицы щелкните правой кнопкой мыши на первой строке (первом поле) и выполните команду контекстного меню Insert Column, чтобы вставить в таблицу новый столбец перед текущим (первым)
- Укажите значения свойств нового поля такие
Свойство | Значение |
---|---|
Column Name | CustomerID |
Data Type | int |
Length | 4 |
Allow Nulls | Не отмечено |
- В нижней части окна установите дополнительное свойство для этого поля Identity=07_48, что означает, что вы хотите это поле использовать в качестве поля идентификатора. После этого откроется еще два свойства:
- Оставьте значения этих двух дополнительных свойств по умолчанию равными единице.
- Щелкните правой кнопкой мыши на поле CustomerID и выберите из контекстного меню команду Set Primary Key (назначить в качестве первичного ключа). После этого столбец CustomerID будет играть роль первичного ключа в таблице tblCustomers.
Как правило, первичный ключ должен быть предусмотрен в каждой таблице и его могут представлять сразу несколько полей. Обратите внимание, что каждое поле в окне дизайнера таблицы можно выделить, щелкнув по кнопке перед первым свойством этого поля. На текущем поле установлен маркер в виде треугольника. Можно, удерживая клавишу Shift, выделить сразу несколько полей по их кнопкам и через контекстное меню назначить эти поля как первичный ключ. Можно, также, цепляя мышкой кнопку, менять порядок следования полей в таблице. Но все эти действия лучше выполнить заранее при создании структуры таблицы, пока она еще не заполнена данными - чем мы с вами сейчас и занимаемся.
Итак, после назначения первичного ключа окно дизайнера таблиц должно выглядеть так
Проиндексируем поле LastName, чтобы удобно было искать клиента по его второму имени (у проклятых это фамилия). Для этого
- Щелкните правой кнопкой мыши в любом месте основных свойств окна дизайнера таблиц и через контекстное меню выполните команду Indexes/Keys
Появится окно свойств Property Pages с вкладками, которое будет открыто на вкладке Indexes/Keys.
- Щелкните на кнопку New, чтобы создать новый индекс, затем в выпадающем списке Column Name закрепите за созданным индексом с автоматически сгенерированным именем IX_tblCustomers поле LastName.
- В поле редактирования Index name измените вручную автоматически сгенерированное имя IX_tblCustomers на новое IX_LastName
Можно закрепить за одним индексом сразу несколько полей, добавляя в список Index name для выбранного индекса их имена. Такой индекс называется составным.
Окончательно окно Property Pages должно выглядеть так