Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект НВ Батин 2007.pdf
Скачиваний:
123
Добавлен:
15.06.2014
Размер:
800.45 Кб
Скачать

В таблицах 1.9 и 1.10 отсутствуют недостатки, указанные выше. Таким образом, проектирование БД о поставках деталей внутри предприятия завершено.

Примечание – Как было показано выше, в данном примере имелось два возможных ключа. (Цех-потребитель, Деталь) и (Цех-потребитель, Цех-поставщик). В рассматривае-

мом примере в качестве ключа использовалась комбинация атрибутов (Цех-потребитель, Деталь). Если бы в качестве ключа была выбрана комбинация (Цех-потребитель, Цехпоставщик), то потребовалось бы приведение таблицы к 2НФ из-за наличия неполной функциональной зависимости: атрибут Деталь зависел бы от части ключа Цех-поставщик. Результатом приведения к 2НФ (см. подраздел 1.4) были бы таблицы 1.9 и 1.10.

1.7Четвертая нормальная форма

Недостатки (аномалии) таблиц в нормальных формах, рассмотренных ранее (1НФ, 2НФ, 3НФ) были связаны с условиями, когда некоторые атрибуты зависят не от ключа, а от части ключа (1НФ) или от неключевого атрибута (2НФ, 3НФ). Другой причиной аномалий могут быть многозначные зависимости. Атрибут A многозначно определяет атрибут B (обозначается как A —>> B), если одному значению атрибута A всегда соответствует определенный набор значений атрибута B. Аномалии возникают, если в одной таблице имеется несколько многозначных зависимостей.

Пример – Разрабатывается БД о преподавателях вуза. Пусть требуется хранить в БД следующие данные о каждом преподавателе: табельный номер; фамилия; преподаваемые курсы; иностранные языки, которыми владеет преподаватель.

В таблице 1.11 приведен фрагмент БД с данными об одном преподавателе (табельный номер – 115, фамилия – Иванов, преподает курсы “Теория вероятностей”, “Численные методы” и “Дискретная математика”, знает английский и французский языки).

Таблица 1.11 – БД о преподавателях вуза

Табельный номер

Фамилия

Преподаваемый курс

Иностранный язык

115

Иванов

Теория вероятностей

английский

115

Иванов

Численные методы

английский

115

Иванов

Дискретная математика

английский

115

Иванов

Теория вероятностей

французский

115

Иванов

Численные методы

французский

115

Иванов

Дискретная математика

французский

Таблица 1.11 приведена к 1НФ. Она явно имеет недостатки, например, очень большую избыточность. Однако легко убедиться, что по-другому привести таблицу к 1НФ (т.е. обеспечить, чтобы в каждом поле таблицы содержалось одно значение) невозможно.

Ключ в таблице 1.11 – комбинация атрибутов (Табельный номер, Преподаваемый курс, Иностранный язык). Таблица не находится в 2НФ, так как атрибут Фамилия зависит от части ключа (от табельного номера). Результатом приведения к 2НФ (см. подраздел 1.4) являются таблицы 1.12 и 1.13.

17

Таблица 1.12 – Фамилии

Табельный номер

Фамилия

115

Иванов

Таблица 1.13 – Сведения о преподавателях

Табельный номер

Преподаваемый курс

Иностранный язык

115

Теория вероятностей

английский

115

Численные методы

английский

115

Дискретная математика

английский

115

Теория вероятностей

французский

115

Численные методы

французский

115

Дискретная математика

французский

Таблицы 1.12 и 1.13 находятся в 2НФ, 3НФ и НФБК. В то же время очевидно, что таблица 1.13 имеет ряд взаимосвязанных недостатков:

избыточность данных: информация о преподаваемых курсах и иностранных языках хранится многократно. Если преподаватель преподает M курсов и знает N иностранных языков, то для хранения данных об этом требуется M N записей;

аномалия добавления (ввода): например, если преподаватель, знающий N языков, начнет преподавать новый курс, то потребуется добавить N строк;

аномалия удаления: если преподаватель, знающий N языков, перестанет преподавать некоторый курс, то потребуется удалить N строк;

аномалия обновления: если изменится название курса, то его потребуется изменять N раз, и в течение некоторого времени один и тот же курс в таблице будет называться по-разному.

Причина этих недостатков – наличие в таблице 1.13 двух многозначных

зависимостей: Табельный номер —>> Преподаваемый курс, Табельный номер —>> Иностранный язык.

Таблица находится в четвертой нормальной форме (4НФ), если она находится в НФБК и содержит не более одной многозначной зависимости.

Если таблица содержит несколько многозначных зависимостей (A —>> B), то требуется выделить каждую из них в отдельную таблицу.

Для рассматриваемого примера, чтобы привести таблицу 1.13 к 4НФ, требуется выделить в отдельные таблицы многозначные зависимости Табельный номер —>> Преподаваемый курс, Табельный номер —>> Иностранный язык.

Результатом будут таблицы 1.14 и 1.15. Таблица 1.14 – Преподаваемые курсы

Табельный номер

Преподаваемый курс

115

Теория вероятностей

115

Численные методы

115

Дискретная математика

18

Таблица 1.15 – Знание языков

Табельный номер

Иностранный язык

115

английский

115

французский

Таким образом, БД о преподавателях вуза, приведенная к 4НФ, состоит из трех таблиц: 1.12, 1.14, 1.15.

1.8Другие нормальные формы

Внастоящее время в теории баз данных известны также пятая, шестая и седьмая нормальные формы. Однако недостатки, для устранения которых требовалось бы приведение к этим нормальным формам, на практике встречаются крайне редко. Подробности о нормальных формах более высоких порядков имеются, например, в [6].

19

Соседние файлы в предмете Проектирование баз данных