Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
71
Добавлен:
01.05.2014
Размер:
669.7 Кб
Скачать

3. Нормализация отношений

Нормализация отношения - процесс приведения реляционных таблиц к стандартному виду.

Рассмотрим реляционную таблицу на рис. 3.1. После небольшого анализа видно, что реляционная таблица на рис. 3.1 спроектирована неудачно. Например, в четырех кортежах, соответствующих рабочему 1412, повторяется одно и то же имя и информация о типе специальности. Эта избыточность данных или повторение приводит не только к потере лишнего места; она может вызвать нарушениецелостности данных(противоречивость) в базе данных.

Избыточность данных - повторение данных в базе данных.

Целостность данных -согласованность данных в базе данных.

Таблица 3.1. «Работник»

работника

Фамилия

Специальность

менеджера

здания

1235

Петров

Электрик

1311

312

1235

Петров

Электрик

1311

515

1412

Смирнов

Штукатур

312

1412

Смирнов

Штукатур

460

1412

Смирнов

Штукатур

435

1412

Смирнов

Штукатур

515

1311

Васильев

Электрик

435

Проблема возникает из-за того, что один и тот же работник может работать более, чем на одном здании. Предположим, что специальность Смирнова была указана неправильно, а исправление было внесено только в первый кортеж. Тогда между кортежами, содержащими информацию о Смирнове, возникает несоответствие, которое называется аномалией обновления.

Аномалия обновления - противоречивость данных, вызванная их избыточностью и частичным обновлением.

Теперь предположим, что Смирнов в течение трех месяцев был на больничном и все здания, на которых он был назначен работать, уже закончены. Если принимается решение удалить все строки о законченных зданиях из таблицы, то информация о Смирнове, его специальности будет потеряна. Это называется аномалией удаления.Обратный случай: мы могли нанять нового работника по фамилии Сидоров, которого еще не успели назначить ни на какое здание. Если мы не допускаем пустых значений, то не можем ввести информацию о Сидорове в базу данных. Это называетсяаномалией ввода.

Аномалия удаления - непреднамеренная потеря данных, вызванная удалением других данных.

Аномалия ввода - невозможность ввести данные в таблицу, вызванная отсутствием других данных.

Аномалии обновления, удаления и ввода, очевидно, нежелательны. Чтобы предотвратить или хотя бы свести к минимуму подобные проблемы нужно воспользоваться нормальными формами или правилами структурирования таблиц.

3.1. Первая нормальная форма

Реляционная таблица находится в первой нормальной форме (1НФ), если значения в таблице являются атомарными для каждого атрибута таблицы.

Атомарное значение - значение, не являющееся множеством значений или повторяющейся группой.

Любая реляционная таблица находится в 1НФ. Для того чтобы пояснить понятие, рассмотрим пример таблицы 3.2, не удовлетворяющей этому условию.

Таблица 3.2. «Работник»

работ.

Фамилия

Специальность

менеджера

здания

1235

Петров

Электрик

1311

{312,515}

1412

Смирнов

Штукатур

{312,460,435,515}

1311

Васильев

Электрик

435

Значение атрибута № здания– это множество зданий, на которых работает данный человек. Предположим, что мы хотим получить список рабочих, отделывающих здание 435. Извлечь эту информацию может оказаться непросто, так как идентификатор нужного нам значения запрятан внутри множества в кортеже. Реляционная таблица 3.2 не соответствует 1НФ, так как значения атрибута№ зданияне являются атомарными. Однако таблица 3.1 имеет 1НФ, так как нужное нам значение, то есть номер конкретного здания, может быть выбрано путем простой ссылки на имя атрибута № здания.

Соседние файлы в папке Базы данных1