Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание и использование индексов






С целью ускорения поиска и сортировки данных в любой СУБД используются индексы. Индекс является средством, которое обеспечивает быстрый доступ к данным в таблице на основе значений одного или нескольких столбцов. Индекс представляет собой упорядоченный список значений и ссылок на те записи, в которых хранятся эти значения. Чтобы найти нужные записи, СУБД сначала ищет требуемое значение в индексе, а затем по ссылкам быстро отбирает соответствующие записи. Индексы бывают двух типов: простые и составные. Простые индексы представляют собой индексы, созданные по одному столбцу. Индекс, построенный по нескольким столбцам, называется составным. Примером составного индекса может быть индекс, построенный по столбцам " Фамилия" и " Имя".

Однако применение индексов приносит не только преимущества, но и недостатки. Главным среди них является тот, что при добавлении и удалении записей или при обновлении значений в индексном столбце требуется обновлять индекс, что при большом количестве индексов в таблице может замедлять работу. Поэтому индексы обычно рекомендуется создавать только для тех столбцов таблицы, по которым наиболее часто выполняется поиск записей. Во многих СУБД (например, FoxPro) индексы хранятся в отдельных файлах, при нарушении индекса поиск данных выполняется некорректно. В Microsoft Access индексы хранятся в том же файле базы данных, что и таблицы и другие объекты Access. Индексировать можно любые поля, кроме МЕМО-полей, полей типа Гиперссылка и объектов OLE.

Чтобы создать простой индекс, необходимо:

1. Открыть таблицу в режиме Конструктора.

  1. Выбрать поле, для которого требуется создать индекс.
  2. Открыть вкладку Общие и выбрать для свойства Индексированное поле значение Да (Допускаются совпадения) или Да (Совпадения не допускаются) (рис. 2.23)

Рис. 2.23 Установка индекса для поля

Ключевое поле таблицы автоматически индексируется и свойству Индексированное поле присваивается значение Да (Совпадения не допускаются).

Составной индекс создается в специальном диалоговом окне. Чтобы создать составной индекс, необходимо:

  1. Открыть таблицу в режиме Конструктора.
  2. На панели инструментов Конструктор таблиц нажать кнопку Индексы
  3. В первой пустой строке (рис. 2.24) поля Индекс ввести имя индекса.

Рис. 2.24 Диалоговое окно Индексы

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

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

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

· название индекса в поле Индекс;

  • поле таблицы, соответствующее данному индексу, выбрав новое поле из списка в поле Имя поля;
  • порядок сортировки в поле Порядок сортировки свойства данного индекса в нижней части окна (рис. 2.25):
    • Ключевое поле определяет, является ли индексированное поле ключевым;
    • Уникальный индекс определяет, должно ли быть каждое значение в этом поле уникальным;

o Пропуск пустых полей определяет, включаются или не включаются в индекс записи с пустым значением данного поля.

Рис. 2.25. Диалоговое окно индексов для таблицы " Клиенты"

Удаление индекса выполняется точно так же, как удаление поля в Конструкторе таблиц. Просто выделите строку с нужным индексом и нажмите клавишу < Delete> или воспользуйтесь контекстным меню.

Создание связей между таблицами

Создание связей между таблицами – последний этап проектирования системы таблиц. На этом этапе фактически регистрируются связи между первичными и внешними ключами, запланированные при конструировании таблиц.

Между таблицами можно установить сявзи одного из трех видов: один-ко-многим, многие-ко-многим и один-к-одному.

· Один-ко-многим является наиболее часто употребляемым видом связи. В этом случае каждой записи таблицы А может соответствовать много записей таблицы Б (или ни одной). В свою очередь, каждой записи таблицы Б соответствует в точности одна запись таблицы А. Таблица А в такой связи называется главной, а таблица Б – связанной или подчиненной.

· Многие-ко-многим. Многим записям из таблицы А может соответствовать много записей из таблицы Б (и наоборот). Такую связь в Microsoft Access можно организовать при помощи третьей вспомогательной таблицы, в которой каждому первичному ключу из таблицы А сопоставлен первичный ключ из таблицы Б. По сути, связь типа многие-ко-многим представляет собой две связи типа один-ко-многим. При этом таблицы А и Б расположены со стороны один, а вспомогательная таблица – со стороны многие. Такой тип связи используют реже, но существуют ситуации, когда без нее не обойтись. В учебной базе данных Борей примером связи многие-ко-многим является связь между таблицами Заказы и Товары, организованная при момощи таблицы Заказано.

· Один-к-одному. Одной записи таблицы А соответствует в точности одна запись таблицы Б и наоборот. Этот тип связи практически никогда не применяется. Единственный случай, когда применение этого типа связи оправдано – разбивка таблицы, содержащей очень большое количество полей, на несколько частей.

Для любого из перечисленных выше типов связей существует три способа объединения. Установленный тип объединения влияет на результаты выборки данных из связанных таблиц.

· Внутренне объединение. Объединяются только те записи из таблиц, связанные поля которых совпадают. Остальные записи в итоговую выборку не попадут. Например, таблицы Товары и Типы связаны между собой по полям КодКатегориии. При выборке записей из этих таблиц в итоговую выборку попадут только те записи из таблицы Типы, ссылка на которые есть в таблице Товары. Этот тип объединения используется в подавляющем большинстве случаев.

· Левое внешнее объединение. Объединяются все записи таблицы со стороны один и только те записи таблицы со стороны многие, значения связанного поля которых совпадают со значениями соотвествующего поля первой таблицы. Попросту говоря, к результатам выборки по внутреннему объединению добавятся все записи из таблицы со стороны один, первоначально в нее не вошедшие. Соотвествующие поля этих записей второй таблицы в выборке будут иметь пустое (Null) значение.

· Правое внешнее объединение. Аналогично левому внешнему объединению, но таблицы со стороны один и со стороны многие меняются ролями, т.е. к результатам выборки по внутреннему объединению добавятся не вошедшие в нее записи из таблицы со стороны многие.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.