
- •Т.Е.Ильиных л.И.Шустова проектирование реляционных баз данных в нотациях 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
Первая нормальная форма
Отношение находится в первой нормальной форме (1НФ), если все его атрибуты являются атомарными (простыми, неделимыми).
Таким образом, для того, чтобы отношение находилось в 1НФ, в него необходимо включать только те атрибуты, которые, исходя из семантики предметной области, являются простыми.
Например, было составлено следующее отношение:
Сотрудник (Фамилия, Должность, Домашний адрес)
Однако в постановке задачи было задано требование: домашний адрес сотрудника должен быть представлен в виде следующих информационных единиц: город, улица, дом, квартира. Исходя из этого, приведенное отношение не находится в 1НФ, так как его атрибут "Домашний адрес" не является атомарным. Преобразуем исходное отношение к виду:
Сотрудник1 (Фамилия, Должность, Город, Улица, Дом, Квартира)
Теперь в соответствии с семантикой выполняется условие первой нормальной формы. Следовательно, новое отношение находится в 1НФ.
Вторая нормальная форма
Отношение находится во второй нормальной форме (2НФ) в том и только в том случае, если оно находится в 1НФ, и каждый неключевой атрибут функционально полно зависит от первичного ключа.
Проблема второй нормальной формы может возникнуть только тогда, когда первичный ключ является составным, т.е. состоит из двух или более атрибутов.
Например, имеем следующее отношение:
Работа (Номер сотрудника, Зарплата,Номер проекта, Дата начала проекта)
Первичный ключ этого отношения составной:
Работа.(Номер сотрудника + Номер проекта)
Пусть предметная область такова, что все атрибуты, входящие в отношение, атомарные. Следовательно, данное отношение находится в 1НФ. Предметная область такова, что в данном учреждении зарплата является характеристикой только сотрудника, а дата начала проекта зависит от самого проекта и от сотрудника, который работает над этим проектом. В этом случае имеем следующие функциональные зависимости между информационными единицами:
Работа.Номер сотрудника Работа.Зарплата
Работа.(Номер сотрудника + Номер проекта) Работа.Дата начала проекта
Неключевой атрибут ДАТА НАЧАЛА ПРОЕКТА функционально полно зависит от первичного ключа. Неключевой атрибутЗАРПЛАТАне зависит функционально полно от первичного ключа, а зависит только от части этого первичного ключа (от атрибута НОМЕР СОТРУДНИКА). Следовательно, условие второй нормальной формы для этого отношения не выполняется. Для того чтобы убрать эту аномалию, используя теорему Хеза, составим две проекции этого отношения:
Сотрудник (Номер сотрудника, Зарплата)
Проект (Номер сотрудника, Номер проекта, Дата начала проекта)
В этом случае имеем функциональные зависимости:
Сотрудник.Номер сотрудника Сотрудник.Зарплата
Проект.(Номер сотрудника + Номер проекта) Проект.Дата начала проекта
В новых отношениях аномалии второй нормальной формы отсутствуют, и каждое из них удовлетворяет условиям 2НФ.
Третья нормальная форма
Отношение находится в третьей нормальной форме (3НФ) в том и только в том случае, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Имеется еще одно альтернативное определение третьей нормальной формы.
Отношение находится в третьей нормальной форме в том и только в том случае, если все его неключевые атрибуты взаимно независимы и функционально полно зависят от первичного ключа.
Например, имеем следующее отношение:
Сотрудник (Номер сотрудника, Должность, Номер отдела, Зарплата)
Пусть предметная область такова, что все атрибуты, входящие в отношение (НОМЕР СОТРУДНИКА, ДОЛЖНОСТЬ, НОМЕР ОТДЕЛА, ЗАРПЛАТА) являются атомарными. Следовательно, данное отношение находится в 1НФ. Пусть все неключевые атрибуты, входящие в отношение, имеют конкретные значения для каждого сотрудника, имеющего конкретный табельный номер, т.е. все неключевые атрибуты функционально полно зависят от первичного ключа. (Или, так как первичный ключ состоит только из одного атрибута, все неключевые атрибуты функционально полно зависят от первичного ключа.) Следовательно, это отношение находится во 2НФ. Пусть размер зарплаты каждого сотрудника (в этой организации) зависит от того, в каком отделе сотрудник работает. Исходя из семантики, имеем функциональные зависимости между информационными единицами:
Сотрудник.Номер сотрудника Сотрудник.Должность
Сотрудник.Номер сотрудника Сотрудник.Номер отдела
Сотрудник.Номер сотрудника Сотрудник.Зарплата
Сотрудник.Номер отдела Сотрудник.Зарплата
Среди неключевых атрибутов имеется транзитивная зависимость:
Сотрудник.Номер сотрудника Сотрудник.Зарплата
Действительно, среди функциональных зависимостей есть зависимости Сотрудник.Номер сотрудникаСотрудник.Номер отдела и Сотрудник.Номер отделаСотрудник.Зарплата. Из-за этой транзитивной зависимости для отношения не выполняется условие третьей нормальной формы. Чтобы убрать эту аномалию, составим две проекции исходного отношения (в соответствии с теоремой Хеза):
Сотрудник1 (Номер сотрудника, Должность, Номер отдела)
Отдел (Номер отдела, Зарплата)
В новых отношениях имеются следующие функциональные зависимости:
Сотрудник1.Номер сотрудника Сотрудник1.Должность
Сотрудник1.Номер сотрудника Сотрудник1.Номер отдела
Отдел.Номер отдела Отдел.Зарплата
В новых отношениях все неключевые атрибуты являются взаимно независимыми и функционально полно зависят от первичного ключа. Следовательно, полученные отношения находятся в 3НФ.