
- •Т.Е.Ильиных л.И.Шустова проектирование реляционных баз данных в нотациях idef1x
- •Содержание
- •Этапы проектирования базы данных
- •Инфологическое проектирование базы данных
- •Общие сведения
- •Описание бизнес компонентов и бизнес процессов
- •Сущность
- •Атрибут
- •Другие компоненты инфологической модели
- •Уровни представления данных
- •Этапы инфологического проектирования Инициирование проекта (фаза 0)
- •Определение сущностей (фаза 1)
- •Построение модели уровня сущностей (фаза 2)
- •Построение модели уровня ключей (фаза 3)
- •Построение полноатрибутной модели (фаза 4)
- •Нормализация данных
- •Даталогическое проектирование базы данных
- •Создание даталогической модели Общие сведения
- •Получение спецификаций внутренней схемы базы данных
- •Ограничения целостности
- •Результаты этапа даталогического проектирования
- •Имя таблицы
- •Основы нормализации отношений Общие сведения
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормальная форма Бойса – Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Денормализация
- •Примеры проектирования баз данных различных бизнес приложений
- •Общие замечания
- •Проектирование базы данных "Школа" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Построение модели уровня сущностей (фаза 2)
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Определение связей
- •Определение ключевых атрибутов и доменов
- •Изучаемый предмет/e5
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Проектирование базы данных "Обмен валюты" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Фаза 2. Построение модели уровня сущностей Матрица связей
- •Матрица связей
- •Описание связей
- •Описание связей
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Определение связей
- •Определение ключевых атрибутов и доменов
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Проектирование базы данных "Торговля" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Построение модели уровня сущностей (фаза 2)
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Описание связей
- •Определение ключевых атрибутов и доменов
- •Товар в списке цен/e5
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Список литературы
- •115409, Москва, Каширское ш., 31
Четвертая нормальная форма
Пусть имеется отношение ПРОЕКТ с атрибутами НОМЕР СОТРУДНИКА, НОМЕР ПРОЕКТА, НОМЕР ЗАДАНИЯ.
Предметная область такова, что для каждого проекта определен конечный список выполняющих его сотрудников и конечный список заданий, предусматриваемых проектом. Сотрудники могут участвовать в нескольких проектах. Разные проекты могут включать в себя одинаковые задания. Если в проекте появляется новое задание, то в его выполнении участвуют все сотрудники, работающие над этим проектом. Если в список исполнителей проекта включается новый сотрудник, то ему предписывается выполнение всех заданий, предусмотренных проектом.
Исходя из описания предметной области, первичный ключ этого отношения является составным и состоит из всех атрибутов этого отношения:
Проект.(Номер проекта + Номер сотрудника + Номер задания)
В отношении нет никаких других детерминантов. Следовательно, отношение ПРОЕКТ находится в НФБК. Однако в соответствии с семантикой предметной области в отношении ПРОЕКТ имеются две многозначные зависимости:
Проект.Номер проекта Проект.Номер сотрудника
Проект.Номер проекта Проект.Номер задания
Наличие в одном отношении двух многозначных зависимостей существенно осложняет выполнение основных операций над данными (вставка, замена, удаление) для этого отношения.
Отношение R находится в четвертой нормальной форме (4НФ) в том и только в том случае, если в случае существования многозначной зависимости атрибута B от атрибута A (R.A R.B) все остальные атрибуты этого отношения функционально полно зависят от A.
Таким образом, исходя из определения отношение ПРОЕКТ не находится в 4НФ. Другими словами, для того чтобы отношение удовлетворяло условию 4НФ необходимо, чтобы между атрибутами этого отношения существовала не более чем одна многозначная зависимость.
Нормализация отношения ПРОЕКТ основывается на теореме Фейджина и заключается в его декомпозиции на два отношения:
Проект1 (Номер проекта, Номер сотрудника)
Проект2 (Номер проекта, Номер задания)
Оба этих отношения находятся в четвертой нормальной форме.
Пятая нормальная форма
Во всех рассмотренных выше случаях приведение отношения к заданной нормальной форме осуществлялось путем декомпозиции этого отношения на два других. Но возможны случаи, когда декомпозиция только на три или более отношений может привести к желаемому результату.
Рассмотрим следующий пример. Пусть имеем отношение РАБОТА с атрибутами НОМЕР СОТРУДНИКА, НОМЕР ОТДЕЛА, НОМЕР ПРОЕКТА.
Предметная область такова, что один сотрудник может работать в нескольких отделах и принимать участие в нескольких проектах. Каждый проект может быть закреплен за несколькими отделами. Причем между атрибутами отношения отсутствуют функциональные и многозначные зависимости. В этом случае первичный ключ этого отношения – составной и представляет собой совокупность всех атрибутов отношения:
Работа.(Номер сотрудника + Номер отдела + Номер проекта)
В связи с семантикой предметной области отношение находится в 4НФ. Однако выполнение основных операций над данными (вставка, замена, удаление) для этого отношения является затруднительным. Эту проблему можно было бы решить, проведя декомпозицию этого отношения на три следующих отношения:
Работа1 (Номер сотрудника, Номер отдела)
Работа2 (Номер сотрудника, Номер проекта)
Работа3 (Номер отдела, Номер проекта)
Однако здесь возникает вопрос о правомочности такой декомпозиции: является ли такая декомпозиция исходного отношения проецированием без потерь? Решение этого вопроса основывается на понятии зависимости соединения.
Отношение R находится в пятой нормальной форме (нормальная форма проекции-соединения, 5НФ) в том и только в том случае, когда любая зависимость соединения в отношении R следует из существования некоторого возможного ключа в отношении R.
Для отношения РАБОТА введем следующие имена составных атрибутов:
Р1 соответствует паре атрибутов Номер сотрудника, Номер отдела
Р2 соответствует паре атрибутов Номер сотрудника, Номер проекта
Р3 соответствует паре атрибутов Номер отдела, Номер проекта
Пусть предметная область такова, что в отношении РАБОТА существует зависимость соединения:
*(Р1,Р2,Р3)
В этом случае отношение РАБОТА находится в пятой нормальной форме, следовательно, правомочна его декомпозиция на совокупность лучших отношений РАБОТА1,РАБОТА2,РАБОТА3, которые приведены выше.
Пятая нормальная форма – это последняя нормальная форма (среди рассмотренных нормальных форм), которую можно получить путем декомпозиции отношения. Условия выполнения этой формы достаточно нетривиальны, поэтому на практике 5НФ не используется.