16. Нормализация реляционной модели: избыточность, аномалии, суть метода нормальных форм. Виды зависимостей между атрибутами
def
Нормализация - преобразование отношения к виду, отвечающему нормальной форме.
Нормальная форма - некоторая характеристика отношения.
У нормальных форм есь иерархия: каждая следующая является предыдущей.
Избыточность
Студент
Фио | Группа | Образовательная программа |
---|---|---|
Либченко М. | M32011 | Программирование |
Образовательная программа хранится либо у одного студента, либо у всех сразу. В обоих случаях это приводит к своим издержкам.
Аномалия
1. Модификации
def
Аномалия модификации - изменение значения одной записи привлечёт за собой просмотр всей таблицы и изменения некоторых других записей.
2. Удаления
def
Аномалия удаления - при удалении записи может пропасть и другая информация.
3. Добавления
def
Аномалия добавления - информацию в таблицу нельзя поместить, пока она неполная или требуется дополнительный просмотр табиц.
Аномалии потенциально приводят нас к нарушению целостности данных.
Решение проблемы аномалии
Расширенная таблица студентов
Фио (PK) | Группа (PK) | Образовательная программа | Факультет | Форма обучения |
---|---|---|---|---|
Либченко М. | M32011 | Программирование | ФИТиП | Очная |
Виды зависимостей между атрибутами
Функциональная зависимость между аттрибутами
def
Функциональная зависимость между аттрибутами (X -> Y)
- в отношении R атрибут y функцинально зависит от атрибута x тогда и только тогда, когда каждому значению x соответствует в точности одно значение y.
Факультет функционально зависит от образовательной программы.
Частичная функциональная зависимость
def
Частичная функциональная зависимость (ФИО + Группа) -> Образовательная программа
- зависимость неключевого атрибута от часть составного ключа.
Полная функциональная зависимость
def
Полная функциональная зависимость (ФИО + Группа) -> Форма обучения
- неключевой атрибут зависит от всего составного ключа.
Транзитивная функциональная зависимость
def
Транзитивная функциональная зависимость (X -> Z, Y: X -> Y && Y -> Z)
- существует такое множество атрибутов Y, что выполняется требование о существовании зависимостей X -> Y && Y -> Z)