Please enable JavaScript.
Coggle requires JavaScript to display documents.
Принципы нормализации реляционных БД. (Отношения реляционной БД…
Принципы нормализации реляционных БД.
Отношения реляционной БД
Содержат:
Семантическую (смысловую) информацию
Выражается функциональными связями между атрибутами, известными и учитываемыми в схеме
Структурную информацию
Задается схемой отношения
Состав атрибутов отношений БД должен удовлетворять двум основным требованиям:
Между атрибутами не должно быть нежелательных функциональных зависимостей
Группировка атрибутов должна обеспечивать минимальное дублирование данных, обеспечивать их обработку и обновление без трудностей
Нормализация отношений
Пошаговый обратимый процесс декомпозиции
(разложения) исходных отношений БД на другие, более мелкие и простые отношения. Устанавливаются все возможные функциональные зависимости.
Существует несколько причин, почему в БД данных в некоторых случаях не следует использовать единственное отношение.
Проблемы:
Проблема, возникающая при необходимости удаления кортежей (строк-записей)
Проблема, связанная с обновлением (модификацией) данных в базе данных
Проблема, обусловленная необходимостью включения новых кортежей
Избыточность данных
Явная
Одни и те же значения одного или нескольких атрибутов могут появляться в отношении несколько раз
Довольно легко обнаруживается, что позволяет ее устранить практически сразу, как только начнется заполнение данного отношения
Неявная
Проблема, связанная с удалением, возникает при необходимости удалить один или несколько атрибутов записи: в этом случае приходится удалять всю запись целиком
Проблемы называют аномалиями добавления, удаления и обновления, понимая под аномалией отклонение от нормы.
Понятие ключа. Типы функциональных зависимостей
Ключ
Полностью составной
Содержит несколько атрибутов, между которыми существует отображение М:М, одиночная ассоциация типа М (сложная) или ассоциация вообще отсутствует.
Атрибуты, составляющие такой ключ, не зависят друг от друга : ни один из них не является дополнительным квалификационным признаком другого атрибута.
Полусоставной
Содержит несколько атрибутов и построен с использованием отображения М:1
Атрибуты такого ключа можно считать упорядоченными в том смысле, что каждый следующий атрибут в ключе является дополнительным квалификационным признаком предшествующих атрибутов
Простой
Состоит только из одного элемента. Последний
является атомарным, а его значения - уникальными
Идентификатор, уникально идентифицирующий значения
атрибутов некоторой записи об объекте
Зависимости:
Транзитивная
Обратная зависимость отсутствует
Многозначная
В отношении R атрибут В многозначно зависит от А ( А--В ),
если каждому значению А соответствует множество значений В, никак не связанных с другими атрибутами из R.
Частичная зависимость
Если в отношении неключевой атрибут функционально зависит только от части составного ключа
Полная функциональная зависимость
Если неключевой атрибут В зависит от всего составного ключа А и не находится в частичной зависимости от его частей, то говорят о полной функциональной зависимости В от составного ключа А. В этом случае А носит название детерминанта В.
Функциональная зависимость
Определяется путем детализации свойств всех атрибутов в данном отношении и выводе заключения о том, как атрибуты соотносятся между собой
Выявление функциональных зависимостей является существенной частью понимания семантики данных
Связи
Степень связи
Количество сущностей,
которые охвачены данной связью.
Участники связи:
Одна (унарная или рекурсивная связь)
Устранение рекурсивных связей осуществляется путем определения некоторой промежуточной сущности(как правило, слабого типа) и введения двух дополнительных связей между вновь созданной и старой сущностями
Две (бинарная связь)
Три (тринарная связь)
Четыре (кватернарная связь)
Если степень связи больше двух,
то связь называется сложной
Устранение сложных связей осуществляется тоже с помощью промежуточной сущности (как правило слабого типа). Сложная связь заменяется необходимым количеством бинарных связей типа 1:М, устанавливаемых со вновь созданной сущностью
Избыточные связи
Устранение избыточных связей необходимо для упрощения и оптимизации модели данных
Связь называется избыточной, если одну и ту же информацию можно получить не только
через нее, но и с помощью другой связи
Нормальные формы:
Нормальная форма 1
Все входящие в него домены содержат
атомарные (неделимые) значения
Нормальная форма 2
Находится в 1-й нормальной форме и каждый неключевой атрибут функционально полно зависит от первичного ключа, т.е. не зависит функционально от какого-либо подмножества этого ключа
Нормальная форма 3
Находится во 2-й нормальной форме и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. Устраняя транзитивную зависимость, достигают взаимной независимости атрибутов
Нормальная форма Бойса-Кодда (НФБК)
Частная форма третьей нормальной формы
Для отношений, имеющих один потенциальный ключ (первичный), НФБК является 3НФ
Определение 3НФ не совсем подходит для следующих отношений:
1) отношение имеет два или более потенциальных ключа;
2) два и более потенциальных ключа являются составными;
3) они пересекаются, т.е. имеют хотя бы один атрибут.
Нормальная форма 4
Существовании многозначной зависимости в отношении, к примеру атрибута В от атрибута А, все атрибуты данного отношения также функционально зависят от А