- •Базы данных
- •Лекция 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 Нормальная форма
- •Нормализация через декомпозицию и посредством синтеза
- •Нормальная форма Бойса-Кодда
- •Литература
1 Нормальная форма (1нф)
Определение. Отношение находится в 1НФ, если все его атрибуты атомарны.
Пример
Пусть для отношения со схемой рейс (Номер, Пункт назначения, Вылет) атрибут Вылет определен как пара (День, Время):
-
рейс
(Номер,
Пункт назначения,
Вылет)
1
Владивосток
пн, 9:40
ср, 10:20
632
Уфа
пн, 6:00
вт, 6:00
В этом случае легко реализовать запросы типа «Выдать все рейсы до Уфы», в отличие от запроса «Выдать все рейсы, вылетающие утром». С точки зрения второй задачи отношение не находится в 1НФ. Преобразование очевидно: отношение заменяется другим со схемой
рейс (Номер, Пункт назначения, День, Время).
Конец примера
2 Нормальная форма (2нф)
Определение. Атрибут, входящий в ключ, называется первичным.
Определение. Функциональная зависимость X=(A1,A2,...,Ak)B полная, если B зависит от всех Ai из X. Если существует X'B, где X' – собственное подмножество X, функциональная зависимость неполная.
Определение. Отношение находится во 2НФ, если каждый непервичный атрибут функционально полно зависит от ключей.
Пример
Задано отношение со схемой поставки (Поставщик, Товар, Цена), для которого определены следующие ограничения:
Товар могут поставлять разные поставщики.
Цена одинаковых товаров одинакова.
Поставщик может поставлять разные товары.
Эти ограничения определяют следующие функциональные зависимости:
Поставщик, Товар Цена
Товар Цена
Здесь налицо неполная функциональная зависимость цены от ключа.
Аномалия включения: новый товар не включается в БД без поставки.
Аномалия удаления: поставки прекращаются – удаляются сведения о товаре.
Аномалия обновления: изменение цены влечет полный пересмотр.
Преобразование:
Поставки (поставщик, товар)
Цена товара (товар, цена)
Конец примера
3 Нормальная форма (3нф)
Определение. Атрибут A транзитивно зависит от X, если существует Y такой, что X Y & (Y X) & Y A влечет X A.
Определение. Отношение находится в 3НФ, если в нем отсутствует транзитивная зависимость атрибутов от первичных атрибутов.
Пример
Решается задача, связанная с определением складов для отделений больницы. Задача ставится руководством отделения, для которого важно, чтобы за его отделением был закреплен склад определенного объема, причем только один. Тогда для отношения со схемой хранение (Отделение, Склад, Объем) существует единственная функциональная зависимость:
Отделение Склад
Через некоторое время выяснилось, что нужно следить и за складами вообще, что порождает вторую функциональную зависимость:
Склад Объем
Таким образом, отношение оказалось не в 3НФ (существует транзитивная зависимость объема от отделения через склад).
Аномалия включения: нет отделения, получающего товар с этого склада – нет сведений об объеме.
Аномалия удаления: отделение перестает получать товар – нет данных о складе.
Аномалия обновления: изменение объема склада влечет полный пересмотр.
Преобразование:
хранение (Отделение, Склад)
объем склада (Склад, Объем)
Конец примера