Базы данных
Лекция 8. Тема 2.1. Концептуальное и логическое проектирование баз данных. Нормальные формы высокого порядка
Четвертая НФ
Четвертая НФ
Четвертая НФ
Пятая НФ
Пятая НФ
Рассмотрим отношение:
Пятая НФ
Пятая НФ
Пятая НФ
Спасибо за внимание!
179.07K
Category: databasedatabase

Лекция 8. Тема 2.1. Концептуальное и логическое проектирование баз данных. Нормальные формы высокого порядка

1. Базы данных

«КАЗАНСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. А.Н. ТУПОЛЕВА-КАИ»
(КНИТУ-КАИ)
ИНСТИТУТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И ЗАЩИТЫ ИНФОРМАЦИИ
КАФЕДРА АВТОМАТИЗИРОВАННЫХ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИИ И УПРАВЛЕНИЯ
Базы данных
Гаптуллазянова Гульшат Ильдусовна
Ст. преподаватель каф. АСОИУ
Казань 2022

2. Лекция 8. Тема 2.1. Концептуальное и логическое проектирование баз данных. Нормальные формы высокого порядка

3. Четвертая НФ

Рассмотрим пример - отношение «Экзамены».
Каждый абитуриент может сдавать экзамены в несколько институтов,
в каждый из них свой набор экзаменов, в разные институты могут
сдаваться одинаковые предметы, но в каждый институт нужно сдавать
весь перечень необходимых предметов (предположение не всегда
справедливо, но желательно для нашего примера).
Институт
Абитуриент
Предмет
Математический
Иванов
Математика
Математический
Иванов
Информатика
Физический
Иванов
Математика
Физический
Иванов
Физика
Математический
Петров
Математика
Математический
Петров
Информатика
Схема отношения «Экзамены»:
Экзамены (Шифр_института, Ид_абитуриента, Предмет).

4. Четвертая НФ

Отношение имеет ключ из трех атрибутов, находится в 3НФ (НФБК), т.к.
нет неполных и транзитивных зависимостей, но имеются аномалии
обновления:
1. Аномалия включения. Если хотим добавить новый кортеж
Сидоров, Математический, Математика, то необходимо добавить и кортеж
Сидоров, Математический, Информатика
1. Аномалия удаления. Если удалить информацию об Иванове, то исчезнет
информация о предметах физического института.
2. Аномалия обновления. Если необходимо изменить список предметов
некоторого института, то придется изменять у всех абитуриентов.
Присутствуют аномалии обновления таблицы, т.к. остались нежелательные
зависимости. Требуется преобразовать отношение.
Между атрибутами нет ФЗ, но какая-то связь есть. Эта взаимосвязь
называется многозначной.

5.

Четвертая НФ
Определение 13. Многозначная зависимость (multi valid dependence MDV). В отношении R атрибут Y многозначно зависит от атрибута X, если
каждому значению атрибута X соответствует устойчиво постоянное
множество значений атрибута Y, не связанных с другими атрибутами из R.
В отношении «Экзамены» присутствуют две многозначные
зависимости типа «M:N» (могут быть типа «1:M»):
Ш_инст <<==>> Ид_абитур
М:N
Ш_инст <<==>> Предмет
М:N
Т.е. список абитуриентов зависит от института и не зависит от списка
сдаваемых предметов. Список сдаваемых предметов зависит от института и
не зависит от списка абитуриентов.
Проблема многозначных зависимостей возникает в связи с
многозначными атрибутами. Независимые многозначные атрибуты не
следует хранить в одном и том же отношении.

6.

Четвертая НФ
Определение 14. Теорема Фейджина.
Отношение R(X, Y, Z) можно спроецировать без потерь в
отношения R1(X, Y) и R2(X, Z) в том и только в том случае,
когда в R существуют две многозначные зависимости R.X==>>
R.Y и R.X==>>R.Z, обозначаемые как (R.X ==>Y|Z).
Под проецированием без потерь понимается декомпозиция
(разделение) исходного отношения на два отношения путем
применения операции проекции. Исходное отношение можно
полностью и без избыточности восстановить путем
естественного соединения проекций.

7. Четвертая НФ

Определение 15. Отношение R находится в 4НФ в том и только в том
случае, когда, при наличии в нем многозначной зависимости R.X==>>
R.Y, все остальные атрибуты функционально зависят только от X и не
зависят от Y.
Исходное отношение разбиваем на два отношения:
R1 (Ш_инст, Ид_абитур) - КТО_КУДА_ПОСТУПАЕТ
R2 (Ш_инст, Предмет) - ГДЕ_ЧТО_СДАВАТЬ
Эти отношения находятся в 4НФ по определению, в каждом из них
есть MVD зависимость R.X==>> R.Y, а других атрибутов просто нет.

8. Пятая НФ

Пятая НФ редко используется на практике, это больше
теоретическое исследование.
Функциональные и многозначные зависимости позволяют
произвести декомпозицию исходного отношения без потерь на две
проекции. Но иногда сделать это не удается, либо получаем отношения
с заведомо нежелательными свойствами.
Вводится новый вид зависимостей – зависимость проекции
соединения, project-join зависимость, обозначается PJ-зависимость (в
некотором роде обобщающий функциональные и многозначные
зависимости).

9. Пятая НФ

Определение 16.
Пусть X, Y, Z - три набора атрибутов отношения R. Отношение
R(X, Y, Z) удовлетворяет зависимости соединения в том и только в том
случае, если R восстанавливается без потерь путем соединения своих
проекций на X, Y, Z.
Определение 17.
Отношение находится в 5НФ тогда и только тогда, когда любая
зависимость соединения в R следует из существования некоторого
возможного ключа в R.

10. Рассмотрим отношение:

X
1
1
2
1
Проекция R1 =R[x,y]
X
Y
1
1
1
2
2
1
Y
1
2
1
1
Z
2
1
1
1
Проекция R2 =R[x,z]
X
1
1
2
Проекция R3 =R[y,z]
X
1
2
1
Z
2
1
1
Соединим отношения R1 и R2: R1 join R2
X
1
1
1
1
2
Y
1
1
2
2
1
Z
2
1
2
1
1
Z
2
1
1

11. Пятая НФ

Получили лишний кортеж. Отношение R невозможно восстановить ни
одним попарным естественным соединением. Но его можно восстановить
соединением R1 join R2 join R3 =R. Т.е. между атрибутами этого
отношения есть зависимость, но не ФЗ и не многозначная зависимость, а
зависимость соединения.
Под зависимостью соединения понимают такую зависимость, которая
при обратном естественном соединении порождает ложные строки, т.е.
является нетривиальной.
На практике такая циклическая зависимость соединения встречается
редко, в большинстве случаев ее можно игнорировать.
Желательно так проектировать РБД, чтобы избежать применения
4НФ и 5НФ.

12. Пятая НФ

Нормализация отношений выполняется декомпозицией их схем, т.е. схема
заменяется совокупностью эквивалентных схем, которые могут пересекаться.
Метод декомпозиции применяется, если количество атрибутов в пределах
20. Если же больше 20, то этот метод уже громоздок. Предлагается сначала
выполнить построение ER модели, а затем перейти к РБД и выполнить
нормализацию полученных в РБД отношений.
Нормализация выполняется для того, чтобы:
1. минимизировать состав отношений, ключи, объем хранимой
информации, следовательно, время выполнения операций включения,
удаления, модификации и поиска данных;
2. исключить аномалии обновления, удаления, ввода данных: аномалия
обновления - не везде обновили, удаления - удалили с потерей полезной
информации, ввода - невозможно добавить, т.к. не известны некоторые
значения.

13. Пятая НФ

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

14. Спасибо за внимание!

14
English     Русский Rules