- •Базы данных
- •Лекция 1 Хранение данных Данные, информация
- •Системы хранения данных на основе файлов
- •База данных
- •Требования к субд
- •Администратор бд (абд)
- •Лекция 2 Модели данных Независимость данных
- •Модель, схема
- •Лекция 3 Ранние модели Иерархическая модель
- •Сетевая модель
- •Лекция 4 Пример базы данных, построенной на сетевой модели Постановка задачи
- •Диаграмма
- •Описание на яод
- •Лекция 5 Реляционная модель Принципы
- •Уточнения
- •Лекция 6 Методы хранения данных и доступа к ним
- •Последовательный метод
- •Прямой метод
- •Индексные методы
- •Индексно-последовательный метод
- •Индексно-произвольный метод
- •Инвертированные списки
- •Хеширование
- •Лекция 7 Реляционная алгебра: определения, изменение отношений
- •Изменение отношений во времени.
- •Лекция 8 Операции реляционной алгебры
- •Булевы операции
- •Выбор; свойства выбора
- •Проекция; свойства проекции
- •Лекция 9 Операции реляционной алгебры (продолжение) Соединение
- •Свойства соединения
- •Лекция 10 Операции реляционной алгебры (продолжение)
- •Деление
- •Постоянные отношения. Переименование атрибутов
- •Эквисоединение, естественное и -соединение
- •Реляционная алгебра. Полнота ограниченного множества операторов
- •Операторы расщепления и фактора
- •Лекция 11 Язык структурных запросов sql
- •Начальные понятия
- •Стандарт ansi
- •Типы данных
- •Интерактивный и встроенный sql
- •Синтаксис
- •Подразделы sql
- •Простейшие действия
- •Функции агрегирования
- •Группировка
- •Возможности форматирования
- •Лекция 12 Язык структурных запросов sql (продолжение) Соединение
- •Вложенные запросы
- •Связанные запросы
- •Предикаты, определенные на подзапросах
- •Объединение
- •Изменение базы данных
- •Лекция 13 Понятие о нормальных формах
- •1 Нормальная форма (1нф)
- •2 Нормальная форма (2нф)
- •3 Нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •4 Нормальная форма (4нф)
- •5 Нормальная форма (5нф) – проекция/соединение
- •Лекция 13 Проектирование данных Процессы проектирования
- •Концептуальное проектирование
- •Логическое проектирование
- •Средства создания модели
- •Лекция 14 Функциональные зависимости
- •Аксиомы вывода
- •Ориентированный ациклический граф вывода
- •Определение реляционной базы данных
- •Представление множества функциональных зависимостей
- •Лекция 15 Покрытия функциональных зависимостей
- •Лемма об эквивалентности фз
- •Неизбыточные покрытия
- •Посторонние атрибуты
- •Канонические покрытия
- •Структура неизбыточных покрытий
- •Оптимальные покрытия
- •3 Нормальная форма
- •Нормализация через декомпозицию и посредством синтеза
- •Нормальная форма Бойса-Кодда
- •Литература
Нормальная форма Бойса-Кодда (нфбк)
Определение. Отношение находится в НФБК, если в нем отсутствует зависимость ключей от непервичных атрибутов.
Пример
В реализации некоторого проекта принимают участие поставщики, которые поставляют детали. Для любого проекта каждый тип детали поставляется одним поставщиком, каждый поставщик обслуживает лишь один проект. Предлагается следующая схема отношения:
проект (Деталь, Номер проекта, Поставщик)
с функциональной зависимостью
Деталь, Номер проекта Поставщик
Но из второго ограничения следует и вторая функциональная зависимость:
Поставщик Номер проекта
Отношение находится в 3НФ, но для него есть аномалии модификации.
Аномалия включения: поставка не попадает в БД до использования детали в проекте.
Аномалия удаления: последний из типов детали данного поставщика использован – поставщик исчез.
Аномалия обновления: меняется поставщик – нужен просмотр всей базы.
Преобразование:
проект_деталь (Деталь, Номер проекта)
поставки (Поставщик, Номер проекта, Деталь)
Конец примера
4 Нормальная форма (4нф)
Определение. A многозначно определяет B в R (или B многозначно зависит от A), если каждому значению A соответствует множество (возможно, пустое) значений B, не зависимых от других атрибутов из R. Обозначение: AB.
Пример
Задано отношение преподаватель(Ид-преп, Дети, Курсы, Должность), которое связывает уникальный идентификатор (код) преподавателя с его семейными обстоятельствами (наличием детей) и служебным положением (читаемые курсы). Будем считать, что атрибуты Ид-преп и Дети находятся в отношении 1:M, а Ид-преп и Курсы – в отношении M:N. Здесь наличие детей и читаемые курсы – независимые атрибуты, то есть присутствуют многозначные зависимости Ид-преп Дети и Ид-преп Курсы.
Конец примера
Определение. Отношение находится в 4НФ, если в нем отсутствует нефункциональные многозначные зависимости. Другое определение – для любой нетривиальной зависимости XY множество атрибутов X содержит ключ).
Пример
Зависимость между преподавателем, детьми и курсами из предыдущего примера приводит к тому, что при появлении нового ребенка приходится добавлять столько кортежей, сколько курсов читает этот преподаватель, а при добавлении курса следует добавить столько кортежей, сколько у преподавателя детей.
Преобразование:
R1(Ид-преп, Дети)
R2(Ид-преп, Курсы)
R3(Ид-преп, Должность)
Конец примера
5 Нормальная форма (5нф) – проекция/соединение
Определение. Отношение находится в 5НФ, если любая зависимость по соединению определяется возможными ключами отношения.
Зависимость по соединению отражает тот факт, что отношение может быть восстановлено без потерь соединением некоторых его проекций.
Пример
-
R1
(A,
B,
C)
a1
b1
c1
a1
b1
c2
a2
b1
c1
a2
b1
c2
a3
b1
c1
a3
b1
c2
a3
b2
c1
a3
b2
c2
Отношение находится в 4НФ: нет многозначных зависимостей, но здесь есть явная избыточность. Следующее преобразование переводит его в 5НФ. Возможность восстановления очевидна.
R2 |
(A, |
B) |
|
a1 |
b1 |
|
a2 |
b1 |
|
a3 |
b1 |
|
a3 |
b2 |
R3 |
(B, |
C) |
|
b1 |
c1 |
|
b1 |
c2 |
|
b2 |
c1 |
|
b2 |
c2 |
Конец примера