- •Основные определения и требования к базам данных
- •Определения
- •Категории баз данных
- •Требования к базе данных
- •Неизбыточность и непротиворечивость данных
- •Защита данных от программных и аппаратных сбоев
- •Мобильность прикладного программного обеспечения
- •Секретность данных
- •Представление и описание информации
- •Плоские (двойные) файлы
- •Ключи
- •Системы управления базами данных (СУБД)
- •Языковые средства для работы с базами данных
- •Глобальное логическое описание
- •Компоненты описания схемы данных
- •Классификация моделей данных
- •Иерархические модели данных
- •Сетевые модели данных
- •Классификация структурированных моделей данных
- •Реляционные модели данных
- •Преобразование структурированных моделей к реляционному виду
- •Ключи
- •Операции реляционной алгебры
- •Декомпозиция отношений
- •Функциональные зависимости
- •Правила логического следования
- •Аксиомы функциональных зависимостей
- •Ключи
- •Вторая нормальная форма
- •Правило построение второй нормальной формы:
- •Преимущества второй нормальной формы перед первой
- •Третья нормальная форма
- •Правило построения
- •Преимущества третьей нормальной формы
- •Построение канонической модели общего вида
- •Построение канонической модели реляционного типа
- •Построение замыканий
- •Построение минимального покрытия множества функциональных зависимостей
- •Декомпозиция схем отношений
- •Многозначные зависимости
- •Построение канонической модели
- •Физическая организация базы данных. Алгоритмы работы СУБД
- •Введение
- •Архитектуры современных ЭВМ
- •Факторы, влияющие на выбор физической организации БД (технология, представление, алгоритмы и прочее)
- •Схема временных затрат при реализации запросов
- •Классификация методов доступа
- •Последовательный метод доступа
- •Индексно-произвольный метод доступа
- •Прямой метод доступа
- •Методы хеширования
- •Списки и инвертированные файлы
http://slava.fateback.com |
30 |
2.6.1Правило построения
Если удалось отыскать X, Y , A, фигурирующие в определении, то выполняем декомпозицию R на два отношения: R1 = (X, Y ) и R2 = (Y, A). В первом случае первичным ключом является X, во втором — Y .
Пример. Пусть имеется следующее множество атрибутов: «Табельный номер сотрудника» (A1), «ФИО сотрудника» (A2), «Должность сотрудника» (A3), «Номер проекта» (A4), «Название проекта» (A5), «Дата окончания проекта» (A6).
Множество функциональных зависимостей таково: F = {A1 → A2A3A4A5A6, A4 → A5A6}. Заметим, что
1.A1 → A4;
2.A4 → A5A6;
3.A4 → A1 / F +.
По правилу проводим декомпозицию:
R1 = (Табельный номер сотрудника, ФИО сотрудника, должность сотрудника, номер проекта);
R2 = (Номер проекта, название проекта, дата окончания проекта).
Полученные отношения семантически однозначно интерпретируются: R1 — «Сотрудник», R2 — «Проект».
2.6.2 Преимущества третьей нормальной формы
1.В исходном отношении R сведения о проекте будут удалены, если над ним временно никто не работает. В 3НФ этого не произойдет.
2.Если изменилась дата окончания проекта, то в исходном отношении потребуется проход по всей таблице. В 3НФ эта информация в единственном экземпляре.
3.Объем БД в 3НФ обычно меньше. Опять же, по причине уменьшения дублирования информации.
Демонстрацией того, что минимальный объект БД — функциональная зависимость, является возникающее противоречие при объединении двух зависимостей в одну.
Замечание. К 3НФ должны быть приведены логические записи независимо от используемой модели данных.
2.7 Построение канонической модели общего вида
Модели общего вида — это сетевые, иерархические и реляционные. Формальных и строгих методов для них в этом курсе не приводится, но последовательность действий можно обрисовать.
1.Определение множества атрибутов и связей между ними; как результат — овал-диаграмма (2.6).
2.Удаление избыточных связей (2.5). На этом шаге удаляются все более короткие пути. Кроме того, стоит напомнить об отсутствии семантики у связей — в противном случае это знак пропущенного атрибута с тем же именем.
