
30
на других объектах (например, из-за болезни). Такая ситуация определяет аномалию
удаления.
Проблема возникает и при приеме на работу нового работника, которого еще
не успели назначить на объект. Информация об этом рабочем в базе отсутствует. Это
называется аномалией ввода.
Избыточность данных – повторение данных в базе данных.
Аномалия обновления – противоречивость данных, обусловленная их
избыточностью и частичным обновлением.
Аномалия удаления – непреднамеренная потеря данных, вызванная
удалением других данных.
Аномалия ввода – невозможность ввести данные в таблицу, вызванная
отсутствием других данных.
Аномалии обновления, удаления и ввода нежелательны. Чтобы предотвратить
их, используется нормализация таблиц. Формальным методом нормализации является
разбиение таблицы на несколько таблиц, каждой из которых соответствует
определенная нормальная форма.
Нормализация таблицы - это пошаговый процесс замены данной таблицы
другими, в которых отношение имеют более простую и регулярную структуру.
Декомпозиция должна содержать эквивалентность схем при замене одной на другую
Нормальная форма – это набор правил, которым удовлетворяет структура
таблицы.
9.4.1. Первая нормальная форма. Реляционная таблица находится в первой
нормальной форме (1НФ), если значения в таблице являются атомарными для
каждого атрибута, то есть, никакое значение атрибута не должно быть множеством
значений или повторяющейся группой.
Первая нормальная форма (1НФ) – все значения атрибутов должны быть
атомарными.
Атомарное значение – значение, не являющееся множеством значений или
повторяющейся группой.
Если таблица состоит из первичного ключа, представляющего уникальный
идентификатор конкретного экземпляра сущности, и нуля или более дополнительных
полей, описывающих свойства сущностей, то такая таблица имеет первую
нормальную форму. Каждая реляционная таблица в соответствии с определением
Кодда находится в 1НФ.
9.4.2. Функциональные зависимости. Функциональные зависимости (ФЗ)
позволяют накладывать дополнительные ограничения на реляционную схему.
Основная идея состоит в том, что значение одного атрибута в строке однозначно
определяет значение другого атрибута. Например, в таблице на рис. 9.1 значение
атрибута
Табельный номер
однозначно определяет значение атрибута Фамилия,
инициалы
:
ФЗ: Табельный номер → Фамилия, инициалы.
Функциональная зависимость – формула, в левой части которой стоит имя
атрибута, однозначно определяющего значение атрибута в кортеже, имя которого
стоит в правой части. Знак → читается «функционально определяет».
Атрибут левой части функциональной зависимости называется
детерминантом.