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

3.6. Нормализация  за и против

Нормализация таблиц БД призвана устранить из них избыточную информацию. Как видно из приведенных выше примеров, таблицы нормализованной БД содержат только один элемент избыточных данных - это поля связи, присутствующие одновре­менно у родительской и дочерних таблиц. Поскольку избыточные данные в таблицах не хранятся, экономится дисковое пространство.

Рис.3.20. Нормализованная база данных

Однако у нормализованной БД есть и недостатки, прежде всего практиче­ского характера. Чем шире число сущностей, охватываемых предметной обла­стью, тем из большего числа таблиц будет состоять нормализованная БД. Базы данных в составе больших систем, управляющих жизнедеятельностью крупных организаций и предприятий, могут содержать сотни связанных между собою таблиц. Поскольку порог человеческого восприятия не позволяет одновремен­но анализировать большое число объектов с учетом их взаимосвязей, можно утверждать, что с увеличением числа нормализованных таблиц уменьшается целостное восприятие базы данных как системы взаимосвязанных данных. Поэтому при разработке и эксплуатации крупных систем нередки ситуации, когда каждый сотрудник представляет себе процессы, протекающие только в части системы. Известны случаи эволюционного создания таких систем, прин­ципы функционирования которых впоследствии признавались вышедшими за границы понимания.

Другим недостатком нормализованной БД является необходимость считывать свя­занные данные из нескольких таблиц при выполнении одного запроса. Например, пусть для рассмотренной выше БД требуется выдать отчет, в котором для каждой накладной указан покупатель и его реквизиты (город и адрес). Для этого необходимо каждую запись в таблице «Накладные» объединить по названию покупателя (поле связи) с соответствующей записью из таблицы «Покупатели». Операции такого объе­динения подразумевают поиск и позиционирование в таблице «Покупатели» и могут выполняться достаточно медленно, особенно когда одна из таблиц имеет большой объем, данные в базе данных и на диске фрагментированы и т.д. Замечено, что не­нормализованные или не вполне нормализованные данные отыскиваются быстрее, если они хранятся в одной таблице, по сравнению со случаем поиска данных в одной или более связанных таблицах. Подобное ускорение тем заметнее, чем больше число записей в связанных таблицах.

Таким образом, при работе с данными большого объема приходится искать ком­промисс между требованиями нормализации (то есть логичности данных и экономии места на носителях информации) и необходимостью улучшения быстродействия сис­темы.

Контрольные вопросы

  1. Объясните своими словами смысл терминов:

  • Нормализация.

  • Избыточность данных.

  • Аномалия обновления.

  • Аномалия ввода.

  • Атомарное значение.

  • Нормальная форма Бойса-Кодда.

2. Объясните, почему нежелательны таблицы, не подчиняющиеся второй или третьей нормальной форме.

Упражнения и задачи

  1. Установите соответствие между терминами и объяснениями к ним:

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

    повторение данных в базе данных.

    Избыточность данных

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

    Целостность данных

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

    Аномалия обновления

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

    Аномалия ввода

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

    Первая нормальная форма (1НФ)

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

    Транзитивная зависимость

    значение атрибута в кортеже однозначно определяет значение другого атрибута в кортеже.

    Функциональная зависимость

    все неключевые атрибуты являются функционально зависимыми от всего ключа

    Третья нормальная форма 3НФ

    значения в таблице являются атомарными для каждого атрибута таблицы

    Вторая нормальная форма (2НФ)

    нет транзитивных зависимостей между атрибутами

    Аномалия удаления

    неключевой атрибут функционально зависит от одного или более неключевых атрибутов

  2. Для объектов и атрибутов, определенных в упражнении к предыдущему разделу, построить реляционную базу данных в 3НФ.

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