
- •ВВЕДЕНИЕ
- •1 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ: ОСНОВНЫЕ ПОНЯТИЯ
- •1.1 Основные цели и этапы проектирования баз данных
- •1.2 Нормальные формы
- •1.3 Первая нормальная форма
- •1.4 Вторая нормальная форма
- •1.5 Третья нормальная форма
- •1.7 Четвертая нормальная форма
- •1.8 Другие нормальные формы
- •2 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ НА ОСНОВЕ ER-МОДЕЛЕЙ
- •2.1 Понятие ER-модели
- •2.2 ER-модель объекта
- •3 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ НА ОСНОВЕ СЕМАНТИЧЕСКИХ ОБЪЕКТНЫХ МОДЕЛЕЙ
- •3.1 Понятие семантической объектной модели
- •3.2 Семантический объект
- •3.3 Семантические объектные модели связей между объектами
- •3.4 Типы семантических объектов
- •4 СИСТЕМА АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ ERwin
- •4.1 Назначение системы ERWin. Основные этапы проектирования базы данных с использованием ERWin
- •4.2 Основные элементы интерфейса ERWin
- •4.3 Создание логической модели данных
- •ЛИТЕРАТУРА
В таблицах 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