- •Основы проектирования баз данных.
- •Функциональные зависимости.
- •Аксиомы вывода.
- •Применение аксиом вывода.
- •Ориентированные ациклические графы вывода.
- •Основные определения.
- •Покрытия и эквивалентность.
- •Минимальные покрытия.
- •Кольцевые покрытия и составные зависимости.
- •Нормальные формы реляционных баз данных.
- •Первая нормальная форма бд.
- •Аномалии и вторая нормальная форма бд.
- •Избыточность данных и третья нормальная форма.
- •Многозначные зависимости и четвертая нормальная форма.
- •Нормальная форма вида «проекция-соединение».
- •Концепция модели «Сущность-связь».
- •Типы сущностей.
- •Атрибуты.
- •Типы атрибутов.
- •Типы связей.
- •Структурные ограничения.
Минимальные покрытия.
«Это долг – ради спасения истины отказаться даже от дорогого и близкого.»
АРИСТОТЕЛЬ 384-322гг. до н.э.
Множество F–зависимостей минимально, если оно содержит не большеF–зависимостей, чем любое эквивалентное ему множествоF–зависимостей.
Минимальное множество F–зависимостей не может содержать избыточных зависимостей. (Почему?) Таким образом, оно одновременно и неизбыточно.
Прямая определяемость.
В настоящее время задача определения минимальных покрытий (в отличие от неизбыточных покрытий) не имеет общего решения. Даже проверка минимальности построенного покрытия с помощью вычислительных алгоритмов невозможна (т.к. случай непосредственного перебора вариантов покрытий требует чрезмерных вычислительных затрат). Поэтому придется ограничиться частным случаем функциональной определяемости.
Для заданного множества F–зависимостейподмножествоX прямо определяетY относительно, если дляXYсуществует неизбыточное покрытие Ф множества,обладающее DDA-графом Н над Ф, таким, чтоU(Н)ЕФ(X)= (обозначение X=>Y).
Иначе говоря, можно найти для неизбыточное покрытие Ф, в котором XY выводимо только из F–зависимостей принадлежащих множеству Ф-ЕФ(X). Заметим, что всегда имеет место X=>X, чтоX=>Y влечет XY и что может быть ЕФ(X) пустым. Кроме этого A=>B имеет иесто при А=В.
Непосредственно использовать введеное понятие затруднительно. Может оказаться, что для проверки того, что Х прямо определяет Y, потребуется нахождение всех неизбыточных покрытий. Однако вычисление минимального покрытия с данными ограничениями возможно.
Оптимальные покрытия.
До сих пор покрытия оценивались количеством содержавшихся в них F–зависимостей. Однако мы можем оценить их количеством вхождения в них атрибутов. Тогда множество Ф мы будем считать оптимальным, если не существует другого множества с меньшим числом атрибутных символов. Интересно, что если Ф – оптимальное множество, то оно будет редуцировано и минимально.
Вероятно, что задача нахождения оптимального покрытия принадлежит классу NP-полных задач. Как правило, на практике для решения поставленных задач используются разнообразные эвристические соображения, что предполагает невероятно широкий спектр алгоритмов.
Кольцевые покрытия и составные зависимости.
«Шутить надо для того, чтобы совершать серьёзные дела».
АРИСТОТЕЛЬ 384-322гг. до н.э.
Как было показано ранее, множество F–зависимостей Ф можно разбить на подмножества с эквивалентными левыми частями. Всю информацию о построенном классе эквивалентных зависимостей можно представить одной обобщеннойF–зависимостью.
Составная функциональная зависимость(СF-зависимость) имеет вид (X1, X2, ..., Xk)Y, гдеX1, X2, ..., XkиY –различные подмножества схемы R. Экземпляр отношенияr(R) удовлетворяетCF-зависимости , если он удовлетворяет множествуF–зависимостейXiXj и XiY, 1 i, j k. В этой записи (X1, X2, ..., Xk) называется левой частью,X1, X2, ..., Xk- левыми подмножествами иY – правой частью.
СF-зависимость не более чем сокращенный способ записи множества F-зависимостей с эквивалентными левыми частями. При этом допускаетсяY=, а СF-зависимость записывается как(X1, X2, ..., Xk).
Пусть – множество CF-зависимостей надR и Ф – множество F- иCF-зависимостей надR. Тогда эквивалентно Ф, Ф, если каждое r(R), удовлетворяющее , удовлетворяет Ф и обратно.
Множество Ф называется покрытием, если Ф, где Ф и состоят либо из множества F–зависимостей и множеств CF-зависимостей, либо из множеств одного из этих видов.
Множество F–зависимостей Ф называется характеристическим множествомCF-зависимости (X1, X2, ..., Xk)Y, если Ф{(X1, X2, ..., Xk)Y}. Если каждое левое множество из CF-зависимости используется в качестве левой частиF-зависимости в точности один раз (т.е. Ф имеет вид{X1Y1, X2Y2, ..., XkYk}), то Ф называется естественным характеристическим множеством для CF-зависмости. По данному определению,CF-зависимость обладает одним характеристическим множеством для (X1, X2, ..., Xk)Y, но это множество не является естественным. Другое характеристическое множество – это {X1X2, X2X3, ... , Xk X1Y }является естественным, а его структуре подмножеств обязан своим происхождением терминкольцевое подмножество. Левую часть такойCF-зависимости можно представить в виде кольца. МножествоCF-зависимостей можно рассматривать как объединение характеристических множеств всехCF-зависимостей. В такой трактовке на них переносится почти вся терминология (с легкими изменениями), введеная для F–зависимостей.