- •Тема 3 Проектирование баз данных
- •3.1. Элементы теории нормальных форм реляционных баз данных.
- •3.2. 1-Я нормальная форма (1нф).
- •3.3. 2-Я нормальная форма (2нф).
- •3.4. 3-Я нормальная форма (3нф).
- •Нормальная форма Бойса-Кодда.
- •3.5.2. Алгоритм проектирования отношений, находящихся в нфбк.
- •3.6. Корректные и некорректные декомпозиции отношений.
- •3.6.1. Аналитическое условие отсутствия потерь при соединении.
- •3.6.2. Метод табло.
- •Раздел 1.
- •Раздел 2.
- •Раздел 3.
- •3.7.Замыкание множества заданных функциональных зависимостей.
- •3.7.1. Алгоритм satisfies.
- •3.7.2. Правила вывода функциональных зависимостей.
- •Правило-f11.Рефлекторность.
- •Правило f12.Пополнение.
- •Правило f13. Транзитивность.
- •Минимальное покрытие множества функциональных зависимостей.
- •3.8. Mv–зависимости.
- •Определение mv-зависимостей.
- •3.9. 4-Я нормальная форма (4нф).
- •3.10. Алгоритм проектирования баз данных методом анализа функциональных и множественных зависимостей.
- •3.11.Проектирование баз данных. Методом “сущность-связь” (er-диаграмм, entity-relationship).
- •Получение отношений из er- диаграмм для бинарных связей.
Минимальное покрытие множества функциональных зависимостей.
При рассмотрении аксиом вывода мы используем понятие - избыточная функциональная зависимость, уточним это понятие.
Избыточная Функциональная зависимость(определение)
Зависимость, заключающая в себя такую информацию, которая может быть получена на основе других зависимостей, из числа использованных при проектировании называется избыточной функциональной зависимостью. Избыточные функциональные зависимости устраняются на стадии проектирования до применения алгоритма декомпозиции.
Минимальное покрытие(определение)
Набор функциональных зависимостей, полученных путем удаления всех избыточных функциональных зависимостей из исходного набора с помощью 6 правил вывода называется минимальным покрытием.
Пример:
Дано: R(A,B,C,D,K) иF={A→BC,A→D,A→K,K→C,B→D,BC→D}
Запишем Fв графическом виде:













1.Рассмотрим BC→D,B→D.
По правилу 1 BC→D– избыточная зависимость. Убираем ее из набора.
В
графическом виде:
2.Рассмотрим функциональную зависимость A→BCпо правилу 5(декомпозиция) заменим функциональную зависимость наA→BиA→C.
В








графическом виде:

3.Рассмотрим A→K,K→C,A→C. По правилу 3(транзитивность)A→C– избыточная зависимость. Далее рассмотримA→B,B→D,A→Dпо правилу 3(транзитивность)A→D– избыточная функциональная зависимость.
В графическом виде:








R(A,B,C,D,K)
Полученные отношения по алгоритму декомпозиции разложим в отношения, находящиеся в НФБК.
Выделим R2(B,D)
Тогда R1(A,B,C,K)
Выделим R3(K,C)
Тогда R4(A,B,K) – находятся в НФБК.
R4(A,B,K)
Итог R(A,B,C,D,K)= R3(K,C)
R2(B,D)
3.8. Mv–зависимости.
Многозначные зависимости, имеющиеся в отношении, вносят избыточность. Если отношение содержит много атрибутов, то избыточность может быть очень большой.
Поэтому отношения MV-зависимостями должны быть приведены в 4 нормальную форму, путем декомпозиции.
Определение mv-зависимостей.
MV-зависимость ранее была определена следующим образом:
Если была задана схема отношения R(x, y) и X и Y атрибуты R, то существует многозначная зависимость Y от X или X→→Y. Если при заданных значениях атрибутов из X существует множество состоящие из нуля или более ассоциированных значений атрибутов из Y и это множество Y- значений не связанно каким либо образом со значениями атрибутов в R-x-y.
Это определение хорошо работает, когда схема отношений имеет вид R(x,y), т.е. состоит из атрибутовXиY.
В том случае, если схема содержит большее количество атрибутов, для ответа на вопрос о наличии MV-связей в отношении используются алгоритмы, связанные обработкой записей отношения.
Для этого случая понятие многозначной зависимости определяется следующим образом:
Пусть R(x, y, z) – реляционная схема отношения R, x и y пересекающиеся подмножества, где (xy) – объединение подмножеств R,пусть Z = R- (xy). Отношение R удовлетворяет многозначной зависимости X→→Y, для любых двух кортежей t и s из R для которых t[x]= s[x], в R существуют кортежи U и V, для которых выполнены условия :
U[x] = V[x] = t[x] = s[x]
U[y] = t[y]
U[R-x-y] = s[R-x-y], R-x-y = z
V[y] = s[y]
V[R-x-] = t[R-x-y]
Обозначение t[x] интерпретируется, как значение атрибутаxв кортежеt.Это определение можно использовать для ответа на вопрос: существует ли в отношении зависимостьx→→y.
Пример:
Дано отношение
|
|
X |
Y |
Z |
|
Назначение |
Рейс |
День недели |
Тип самолета |
|
t |
106 |
Пн |
747 |
|
V |
106 |
Чт |
747 |
|
s |
106 |
Чт |
1011 |
|
|
204 |
Ср |
707 |
|
|
204 |
Ср |
727 |
Нужно определить есть ли Рейс→→День недели. Обозначим 1-й кортеж через t, тогдаt[x]= 106. В качествеs– возьмем 3-ий кортеж т.к.s[x] =t[x] = 106.Теперь запишем условия:
U[x] =V[x] = t[x] =s[x] =106
U[y] =t[y] = Пн
U[z] =s[z] =1011
V[y] =s[y] =Чт
V[z] =t[z] =747
Теперь определяем состав кортежей UиV.
U: <106, Пн, 1011>
V: <106, Чт, 747>
Кортежа Uв отношении нет. Значит не существует многозначной зависимости Рейс→→День недели.
Из приведенного определения MV-зависимости выводиться так же следствие 1:
Пусть R(x,y,z) – схема отношенияR.x,y,z– подмножества изR, такие, что:Z=R-(xy). ОтношениеRудовлетворяетMV-зависимостиX→→Yтогда и только тогда, когдаRбез потерь разделяется на отношения со схемамиR1(x,y) иR2(x,z).
Пример:
Дано отношение R
|
|
X |
Y |
Z |
|
Назначение |
Рейс |
День недели |
Тип самолета |
|
|
106 |
Пн |
747 |
|
|
106 |
Чт |
747 |
|
|
106 |
Пн |
1011 |
|
|
106 |
Чт |
1011 |
|
|
204 |
Ср |
707 |
|
|
204 |
Ср |
727 |
Определим: существует ли MV-связь Рейс→→ недели.
Разложим его на отношения:
R1
-
Рейс
День недели
106
Пн
106
Чт
204
Ср
R2
-
Рейс
Тип самолета
106
747
106
1011
204
707
204
727
Если Rраскладываются без потерь, то это значит, что существует естественное соединение:
R=R1[рейс=рейс]R2
|
Рейс |
День недели |
Тип самолета |
|
t 106 |
Пн |
747 |
|
U 106 |
Пн |
1011 |
|
V 106 |
Чт |
747 |
|
s 106 |
Чт |
1011 |
|
204 |
Ср |
707 |
|
204 |
Ср |
727 |
Отношение Rполучено путем естественного соединения отношенийR1 иR2. Обратите внимание на то, что здесь появился кортежU.
Сформулируем еще одно свойство отношения с MV- зависимостью (Следствие 2).
Если R-отношение со схемойR(x,y,z) удовлетворяетMV-зависимостьX→→YиZ=R-(xy), тоRудовлетворяетX→→Y.
В нашем примере существует MV-связь.
Рейс→→День недели, а по сформулированному свойству и Рейс→→Тип самолета.
