- •Базы данных
- •Лекция 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 Нормальная форма
- •Нормализация через декомпозицию и посредством синтеза
- •Нормальная форма Бойса-Кодда
- •Литература
Реляционная алгебра. Полнота ограниченного множества операторов
Обозначим U – множество атрибутов (универсум), D – множество доменов, dom – полная функция из U в D, R = {R1, R2,…, Rp} – множество схем, Ri U, d = {r1(R1), r2(R2),…, rp(Rp)} – множество наборов отношений, – множество бинарных отношений над доменами из D.
Определение. Реляционная алгебра над U, D, dom, R, d, – семиместный кортеж B=( U, D, dom, R, d, , O), где O – множество операторов объединения, пересечения, разности, активного дополнения, проекции, естественного соединения, деления, переименования, которые используют атрибуты из U, и оператор выбора, использующий операторы из .
Теорема. Для выражения E над реляционной алгеброй существует выражение E’ над ней же, которое определяет ту же функцию и использует лишь операторы (1) постоянных отношений с единственным атрибутом и единственным кортежем, (2) выбора с одним сравнением, (3) естественного соединения, (4) проекции, (5) объединения, (6) разности, (7) переименования.
Следствие. Для реляционной алгебры с операцией дополнения в формулировке предыдущей теоремы изменится пункт (6): Для выражения E над реляционной алгеброй с операцией дополнения существует … (6) дополнения, (7) переименования.
Операторы расщепления и фактора
Следующие два оператора не относятся к реляционной алгебре, так как в результате их применения из одного отношения получаются два, а для операторов реляционной алгебры результат – одно отношение.
Определение. Пусть (t) – предикат на кортежах над R, тогда расщеплением r по называется пара отношений (s, s), каждое со схемой R, такие, что s = {tr | (t)} и s = { tr |(t)}. Обозначается эта пара SPLIT (r).
Пример
Рассмотрим отношение право, определённое в начале этой лекции. Пусть предикат (t) = {t(тип самолёта) = ТУ-134} {t(тип самолёта) = ТУ-154}. Тогда SPLIT (право) = (s, s), где
s
(пилот тип самолёта)
Иванов
ИЛ-86
Сидоров
ИЛ-86
Сидоров
ЯК-40
К
s (пилот
тип самолёта)
Иванов
ТУ-134
Иванов
ТУ-154
Петров
ТУ-134
Петров
ТУ-154
Сидоров
ТУ-134
Сидоров
ТУ-154
Голубев
ТУ-154
Определение. Пусть дано отношение r(R) и B1, B2,…, Bk R, а L R. FACTOR(r; B1, B2,…, Bk; L) = (s, s), где s = s((R – B1B2…Bk)L), s = s (B1B2…BkL), причём по L возможно осуществить соединение s и s.
Действие последнего оператора рассмотрим на примере.
Пример
Р
список
(отдыхающий курит храпит)
Иванов
да
да
Петров
да
нет
Сидоров
нет
нет
Борисов
да
да
Васин
нет
нет
Алексеев
нет
нет
Григорьев
нет
да
Н
список1(метка
курит храпит)
1
да
да
2
да
нет
3
нет
да
4
нет
нет
список2(отдыхающий
метка)
Иванов
1
Петров
2
Сидоров
4
Борисов
1
Васин
4
Алексеев
4
Григорьев
3
Конец примера