Содержание лекционного занятия:
· Свойства таблиц реляционной базы данных
· Простые индексы
· Составные индексы
· Уникальные индексы.
Реляционная база данных — это совокупность отношений, содержащих всю информацию, которая должна храниться в базе данных. Однако пользователи могут воспринимать такую базу данных как совокупность таблиц. Таким образом, реляционную базу данных можно рассматривать как хранилище данных, содержащее набор двумерных связанных таблиц. Набор средств для управления подобным хранилищем называется реляционной системой управления базами данных.
Свойства таблиц реляционной базы данных
Так как таблицы в реляционной СУБД являются отношениями реляционной модели данных, то и свойства этих таблиц являются свойствами отношений, которые мы уже рассмотрели выше. Кратко сформулируем эти свойства еще раз:
· каждая таблица состоит из однотипных строк и имеет уникальное имя;
· строки имеют фиксированное число полей (столбцов) и значений (множественные поля и повторяющиеся группы недопустимы);
· строки таблицы обязательно отличаются друг от друга хотя бы единственным значением, что позволяет однозначно идентифицировать любую строку;
· столбцам таблицы присваиваются уникальные имена, и в каждом из них размещаются однородные значения данных (даты, фамилии, целые числа или денежные суммы);
· полное информационное содержание базы данных представляется в виде явных значений данных, и такой метод представления является единственным;
· при выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом порядке безотносительно к их информационному содержанию.
Индексы
Индекс представляет собой указатель на данные, размещенные в реляционной таблице. Можно провести аналогию индекса таблицы базы данных с указателем, обычно помещаемым в конце книги. Чтобы найти в книге страницы, относящиеся к некоторой теме, проще всего обратиться к указателю, в котором устанавливается соответствие между перечисленными в алфавитном порядке темами и номерами страниц, и сразу определить страницы, которые следует просмотреть. Чтобы без указателя найти все страницы, относящиеся к нужной теме, пришлось бы просматривать всю книгу. Индекс базы данных предназначен для аналогичных целей — чтобы ускорить поиск информации в таблице базы данных. Индекс предоставляет информацию о точном физическом расположении данных в таблице.
При создании индекса в нем сохраняется информация о местонахождений записей, относящихся к индексируемому столбцу таблицы. При добавлении в таблицу новых записей или удалении существующих Индекс также модифицируется.
Рассмотрим пример индекса. На рис. 1 показан фрагмент таблицы СТУДЕНТЫ и индекса, построенного по полю «Имя» данной таблицы. При выполнении поиска по имени студента, просматривая индекс, можно сразу определить порядковый номер записи, содержащей необходимую информацию, и затем быстро найти в таблице сами данные. Если бы у таблицы отсутствовал индекс по полю «Имя», то выполнение поиска по имени студента потребовало бы просмотра всей таблицы. Таким образом, использование индексов снижает время выборки данных.
Рис. 1. Поиск информации в таблице с помощью индекса
Различают несколько типов индексов. Наиболее часто выделяют три типа:
· простые;
· составные;
· уникальные.
Простые индексы представляют собой простейший и вместе с тем наиболее распространенный тип индекса. Простой индекс строится на основе только одного столбца реляционной таблицы (индекс, приведенный на рис. 1, является простым).
Составные индексы строятся по двум и более столбцам реляционной таблицы. При создании составного индекса необходимо принимать во внимание, что последовательность столбцов, по которым создается индекс, влияет на скорость поиска данных.
Последовательность столбцов в составном индексе указывается при его создании и никаким образом не связана с последовательностью столбцов в таблице.
Можно назвать два условия оптимальности следования столбцов в составном индексе:
· первым следует помещать столбец, содержащий наиболее ограничивающее значение (то есть содержащий меньшее количество повторов);
· первым следует помещать столбец, содержащий данные, которые наиболее часто задаются в условиях поиска.
Сформулированные условия оптимальности часто являются противоречивыми, так что между ними следует находить разумный компромисс.
Уникальные индексы не допускают введения в таблицу дублирующих значений. Уникальные индексы используются не только с целью повышения скорости поиска, но и для поддержания целостности данных. Уникальный индекс может быть как простым, так и составным.
· Следует серьезно относиться к планированию индексов. Неправильное применение индексов может привести к снижению производительности системы.
Вопросы для самоконтроля:
1.Основные свойства реляционной модели данных?
Рекомендуемая литература:
1. Дейт К.Дж. Введение в системы баз данных. - К.: Диалектика, 1998. - 784 с.