Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Слайды / Слайды_ИС_BD.pps
Скачиваний:
73
Добавлен:
04.07.2015
Размер:
436.22 Кб
Скачать

Индексы и ключи

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

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

Внутри получившихся групп осуществляется упорядочение по значениям второго поля.

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

Иными словами, множество атрибутов К, являющееся ключом отношения, обладает свойством уникальности.

Следующее свойство ключа — неизбыточность. То есть никакое из собственных подмножеств множества К не обладает свойством уникальности.

Ограничения для первичного ключа

недопустимо применение пустых значений (NULL-значений).

Когда все значения одного из полей таблицы должны быть представлены в поле другой таблицы, это означает, что поле ссылается или является ссылкой на таблицу. Это свидетельствует о наличии прямой связи между значениями двух полей.

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

Поля, на которые он ссылается, называются

родительским ключом.

Внешний ключ, как и первичный, может быть определен на любом количестве полей, которые все вместе рассматриваются как единое целое. Внешний ключ и родительский ключ, на который он ссылается, должны быть определены на одинаковом множестве полей.

Если поле является внешним ключом, то оно связано с таблицей, на которую ссылается, т.е. каждое значение в том поле непосредственно связано со значением в другом поле. Каждая строка внешнего поля ссылается на одну строку родительского ключа. Это означает, что система находится в состоянии целостности.

Один из эффектов поддержки ограничений внешнего ключа – исключение значений для поля (полей) внешнего ключа, не представленных в данный момент в родительском ключе.

Любое значение родительского ключа, на который есть ссылка внешнего ключа, не может быть удалено или изменено.

Основы реляционной алгебры

Пусть имеются множества А и В. Отношение А к В указывает на связь между отдельными элементами этих множеств.

Множества могут соответствовать атрибутам или типам записей. Связи могут быть функциональными, т.е. удовлетворяющими

определению математической функции. Кардинальные числа связей используются для

определения типа отображения между парами множеств. Существуют отображения: «один–к– одному» (1:1), «один–ко–многим» (1:М), «многие–ко–многим» (М:N).

Примеры связей кардинальности М:N

Для всех функциональных связей справедливо, что

атрибут (или сущность), который является областью определения, однозначно определяет атрибут (или сущность) области значений.

Говорят, что атрибут области определения однозначно определяет атрибут области значений, или

иначе – последний зависит от первого. Это приводит к понятию функциональной зависимости в теории баз

данных.

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

Нормализация

Нормализация устраняет нежелательные функциональные зависимости.

Формально процесс нормализации делится на пять шагов или этапов от первой нормальной формы до пятой.

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

Последние две формы обычно пропускаются, т.к. для применения в проектировании типичных баз данных они являются слишком узкоспециализированными.

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

Функциональная зависимость А В называется полной функциональной зависимостью, если В зависит от всей группы атрибутов А, а не от ее части (подмножества).