Базы данных Лекция 9 Проектирование реляционных баз данных на основе принципов нормализации: дальнейшая нормализация.

Презентация:



Advertisements
Похожие презентации
Базы данных Лекция 7 Элементы теории реляционных баз данных: функциональные зависимости и декомпозиция без потерь.
Advertisements

Модуль 1. Математические основы баз данных и знаний 1.
Базы данных Лекция 4 Базисные средства манипулирования реляционными данными: реляционная алгебра Кодда.
Модуль 1. Математические основы баз данных и знаний 1.
Нормализация таблиц реляционной базы данных © Панова И.В
Проектирование РБД на основе учета функциональных зависимостей С.Д. Кузнецов. Базы данных. Тема 5.
Четвертая нормальная форма Понятие многозначной зависимости.
Проектирование БД. Нормальные формы В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная.
Нормальная форма Бойса - Кодда Отношение находится в нормальной форме Бойса – Кодда когда оно находится в третьей нормальной форме и в нём отсутствуют.
Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 8. тема: ТЕОРИЯ НОРМАЛЬНЫХ ФОРМ.
Четвёртая нормальная форма (4NF). 1. Определения Четвёртая нормальная форма (4NF) одна из возможных нормальных форм отношения реляционной базы данных.
Базы данных Лекция 5 Базисные средства манипулирования реляционными данными: алгебра A Дейта и Дарвена.
Нормализация отношений "Сложная система, спроектированная наспех, никогда не работает, и исправить её, чтобы заставить работать, невозможно". Законы Мерфи.
Функциональные зависимости Нормализация отношений.
Модуль 1. Математические основы баз данных и знаний 1.
Нормализация. Рассматриваемые вопросы: 1.Нормализация 2.Классы отношений 3.Первоя нормальная форма 4.Вторая нормальная форма 5.Третья нормальная форма.
Тема 1. Базы данных специального назначения Лекция 4: Нормализация баз данных Учебные цели занятия: Сформировать представление о: 1)Функциональных зависимостях.
Проектирование реляционных БД на основе принципов нормализации"
1 БАЗЫ ДАННЫХ Функциональные зависимости и их использование в базах данных ЗАНЯТИЕ 4 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа.
Транксрипт:

Базы данных Лекция 9 Проектирование реляционных баз данных на основе принципов нормализации: дальнейшая нормализация

Базы данных Многозначные зависимости и четвёртая нормальная форма Лекция 9 Предположим, что каждый служащий может участвовать в нескольких проектах, но в каждом проекте, в котором он участвует, им должны выполняться одни и те же задания.

Базы данных Аномалии обновлений при наличии многозначных зависимостей Лекция 9 В переменной отношения СЛУЖ_ПРО_ЗАДАН единственным возможным ключом является заголовок отношения {СЛУ_НОМ, ПРО_НОМ, СЛУ_ЗАДАН}. Кортеж {сн, пн, сз} входит в тело отношения в том и только в том случае, когда служащий с номером сн выполняет в проекте пн задание сз.

Базы данных Аномалии обновлений при наличии многозначных зависимостей Лекция 9 При работе с отношением СЛУЖ_ПРО_ЗАДАН проявляются аномалии обновления: Добавление кортежа. Если уже участвующий в проектах служащий присоединяется к новому проекту, то к телу значения переменной отношения СЛУЖ_ПРО_ЗАДАН требуется добавить столько кортежей, сколько заданий выполняет этот служащий. Удаление кортежей. Если служащий прекращает участие в проектах, то отсутствует возможность сохранить данные о заданиях, которые он может выполнять. Модификация кортежей. При изменении одного из заданий служащего необходимо изменить значение атрибута СЛУ_ЗАДАН в стольких кортежах, в скольких проектах участвует служащий.

Базы данных Аномалии обновлений при наличии многозначных зависимостей Лекция 9 Трудности, связанные с обновлением переменной отношения СЛУЖ_ПРО_ЗАДАН, решаются путём его декомпозиции на две переменных отношений: СЛУЖ_ПРО_НОМ {СЛУ_НОМ, ПРО_НОМ} и СЛУЖ_ЗАДАНИЕ {СЛУ_НОМ, СЛУ_ЗАДАН}.

Базы данных Аномалии обновлений при наличии многозначных зависимостей Лекция 9 Аномалии обновления отсутствуют: Добавление кортежа. Если некоторый уже участвующий в проектах служащий присоединяется к новому проекту, то к телу значения переменной отношения СЛУЖ_ПРО_НОМ требуется добавить один кортеж, соответствующий новому проекту. Удаление кортежей. Если служащий прекращает участие в проектах, то данные о заданиях, которые он может выполнять, остаются в отношении СЛУЖ_ЗАДАНИЕ. Модификация кортежей. При изменении одного из заданий служащего необходимо изменить значение атрибута СЛУ_ЗАДАН в одном кортеже отношения СЛУЖ_ЗАДАНИЕ.

Базы данных Многозначные зависимости Лекция 9 В отношении СЛУЖ_ПРО_ЗАДАН мы имеем дело с новым видом зависимости, впервые обнаруженным Роном Фейджином в 1971 г. Фейджин назвал зависимости этого вида многозначными (multi-valued dependency MVD). В отношении СЛУЖ_ПРО_ЗАДАН выполняются две MVD: СЛУ_НОМ ПРО_НОМ и СЛУ_НОМ СЛУ_ЗАДАН. В переменной отношения R с атрибутами A, B, C (в общем случае, составными) имеется многозначная зависимость B от A ( A B ) в том и только в том случае, когда множество значений атрибута B, соответствующее паре значений атрибутов A и C, зависит от значения A и не зависит от значения C.

Базы данных Лемма Фейджина Лекция 9 В отношении R {A, B, C} выполняется MVD A B в том и только в том случае, когда выполняется MVD A C. FD является частным случаем MVD, когда множество значений зависимого атрибута обязательно состоит из одного элемента. Таким образом, если выполняется FD A B, то выполняется и MVD A B.

Базы данных Теорема Фейджина Лекция 9 Теорема Фейджина уточнение и обобщение теоремы Хита. Пусть имеется переменная отношения R с атрибутами A, B, C (в общем случае, составными). Отношение R декомпозируется без потерь на проекции {A, B} и {A, C} тогда и только тогда, когда для него выполняется MVD A B|C. Теорема Фейджина обеспечивает основу для декомпозиции отношений, удаляющей «аномальные» многозначные зависимости, с приведением отношений в четвёртую нормальную форму.

Базы данных Четвёртая нормальная форма Лекция 9 Переменная отношения r находится в четвёртой нормальной форме (4NF) в том и только в том случае, когда она находится в BCNF, и все MVD r являются FD с детерминантами возможными ключами отношения r. В сущности, 4NF является BCNF, в которой многозначные зависимости вырождаются в функциональные.

Базы данных Зависимости проекции/соединения Лекция 9 Приведение отношения к 4NF предполагает его декомпозицию без потерь на две проекции (как и в случае 2NF, 3NF и BCNF). Однако бывают (хотя и нечасто) случаи, когда декомпозиция без потерь на две проекции невозможна, но можно произвести декомпозицию без потерь на большее число проекций.

Базы данных N-декомпозируемые отношения Лекция 9 N-декомпозируемые отношения отношения, которые могут быть декомпозированы без потерь на n проекций. В переменной отношения R с атрибутами (возможно, составными) A и B MVD A B называется тривиальной, если либо A B, либо A UNION B совпадает с заголовком отношения R. Тривиальная MVD всегда удовлетворяется.

Базы данных N-декомпозируемые отношения Лекция 9 Рассмотрим вариант переменной отношения СЛУЖ_ПРО_ЗАДАН, в которой имеется единственно возможный ключ {СЛУ_НОМ, ПРО_НОМ, СЛУ_ЗАДАН} и отсутствуют нетривиальные MVD.

Базы данных Зависимость проекции/соединения Лекция 9 Чтобы возможность восстановления без потерь отношения СЛУЖ_ПРО_ЗАДАН путём естественного соединения его проекций СЛУЖ_ПРО_НОМ, ПРО_НОМ_ЗАДАН и СЛУЖ_ЗАДАНИЕ существовала при любом допустимом значении переменной отношения СЛУЖ_ПРО_ЗАДАН, должно поддерживаться следующее ограничение: если служащий с номером сн участвует в проекте пн, и в проекте пн выполняется задание сз, и служащий с номером сн выполняет задание сз, то служащий с номером сн выполняет задание сз в проекте пн. В общем виде такое ограничение называется зависимостью проекции/соединения.

Базы данных Зависимость проекции/соединения Лекция 9 Пусть задана переменная отношения R, и A, B, …, Z являются произвольными подмножествами заголовка R. В переменной отношения R удовлетворяется зависимость проекции/соединения (Project-Join Dependency PJD) *( A, B, …, Z) тогда и только тогда, когда любое допустимое значение r переменной отношения R можно получить путём естественного соединения проекций этого значения на атрибуты A, B, …, Z.

Базы данных Аномалии, вызываемые наличием зависимости проекции/соединения Лекция 9 В переменной отношения СЛУЖ_ПРО_ЗАДАН выполняется PJD *({СЛУ_НОМ, ПРО_НОМ}, {ПРО_НОМ, СЛУ_ЗАДАН}, {СЛУ_НОМ, СЛУ_ЗАДАН}). Аномалии обновления: Добавление кортежей. Если к ТСПЗ1 добавляется кортеж, то должен быть добавлен и кортеж. Удаление кортежа. Если из ТСПЗ2 удаляется кортеж, то должен быть удалён и кортеж, поскольку в соответствии с ограничением целостности наличие второго кортежа означает наличие первого.

Базы данных Аномалии, вызываемые наличием зависимости проекции/соединения Лекция 9

Базы данных Устранение аномалий обновления в 3-декомпозиции Лекция 9 Декомпозируем отношение СЛУЖ_ПРО_ЗАДАН на три отношения: СЛУЖ_ПРО_НОМ {СЛУ_НОМ, ПРО_НОМ} ; СЛУЖ_ЗАДАНИЕ {СЛУ_НОМ, СЛУ_ЗАДАН} ; ПРО_НОМ_ЗАДАН {ПРО_НОМ, СЛУ_ЗАДАН}.

Базы данных Устранение аномалий обновления в 3-декомпозиции Лекция 9

Базы данных Пятая нормальная форма Лекция 9 В переменной отношения R PJD *( A, B, …, Z) называется подразумеваемой возможными ключами в том и только в том случае, когда каждый составной атрибут A, B, …, Z является суперключом R, т. е. включает хотя бы один возможный ключ R. В переменной отношения R зависимость проекции/соединения *(A, B, …, Z) называется тривиальной, если хотя бы один из составных атрибутов A, B, …, Z совпадает с заголовком R. Переменная отношения R находится в пятой нормальной форме, или в нормальной форме проекции/соединения (5NF, или PJ/NF Project- Join Normal Form) в том и только в том случае, когда каждая нетривиальная PJD в R подразумевается возможными ключами R. 5NF является «окончательной» нормальной формой, которой можно достичь в процессе нормализации на основе проекций.