
- •Введение.
- •Информация и данные.
- •Выч. Система
- •Админ-р
- •Жизненный цикл БнД.
- •Классификация БнД.
- •Преимущества организации субд.
- •Недостатки организации бд.
- •Проектирование бд. (общий подход)
- •Независимость данных (2 уровня).
- •Концептуальное проектирование. Модели данных. Модель сущность-связь.
- •Инфологические мд.
- •Модель результ.
- •Объединение локальных моделей в глобальные.
- •Логическое проектирование.
- •Сетевая модель данных.
- •Правила построения сетевой модели.
- •Реляционная модель данных.
- •Плоский файл.
- •Хронологическая модель данных.
- •Операции над данными.
- •Операции реляционной алгебры.
- •Операторы обновления:
- •Реляционные сравнения:
- •Реляционное исчисление с переменными-кортежами.
- •Реляционное исчисление с переменными на доменах.
- •Реляционные ямд.
- •Язык запросов в sql.
- •Защита баз данных.
- •Функциональные зависимости.
- •Покрытие множества зависимостей.
- •Вычисление замыканий.
- •Декомпозиция схем отношений.
- •Нормализация отношений.
- •Алгоритм1: пополняющий декомпозицию схем отношений, которая обладает свойством соединения без потерь и приводит к отношениям находящимся в нфбк.
- •Алгоритм 2: приведения отношения к 3нф, использующей декомпозицию, сохраняющую функциональные зависимости.
- •Многозначные зависимости.
- •Правила вывода (аксиомы) для многозначных зависимостей.
- •Аксиомы, связывающие функциональные зависимости и многозначные зависимости.
- •Правила вывода:
- •Алгоритм вычисления базиса:
- •Секретность данных.
- •Физическая организация бд.
- •Методы доступа к данным.
- •Оптимизация запросов.
- •Общие стратегии оптимизации:
- •Законы оптимизации.
- •Алгоритм оптимизации выражений ра.
- •Точная оптимизация для подмножества реляционных запросов.
- •Минимизация конъюнктивных запросов.
- •Правила построения табло запросов:
- •Метод нахождения min-го запроса для простого тз.
- •Параллельные операции над бд.
- •Основные понятия.
- •Бесконечные ожидания и тупики.
- •Протоколы и расписание.
- •Простая модель транзакции.
- •Метод, позволяющий определить сериализуемость расписания.
- •Модель с блокировками для чтения и записи.
- •Параллельный доступ к иерархически структурированным элементам.
- •Алгоритм проверки сериализуемости расписания.
- •Защита от отказов.
- •Меры для восстановления бд.
- •Модификация запросов в распределенных бд.
- •Фрагменты отношений.
Правила построения табло запросов:
Столбцы снабжены метками
.
Каждая выделенная переменная может встретиться лишь в одном столбце.
Если в столбце стоит выделенная переменная, то она должна встречаться и в резюме этого запроса.
В строках должны стоять только символы (а не пробелы).
В резюме должны стоять только выделенные переменные, константы и пробелы.
Если в столбце с меткой стоит константа C, то эта константа принадлежит домену .
Резюме
будем обозначать
,
а строки
.
Пример:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пусть
– ТЗ со схемой
,
резюме
и строками
.
– ТЗ с резюме
;
выделенная переменная из столбца
в обоих табло. Отображение
из символов
в символы
называется отображением включения
запроса
в запрос
,
если выполняется:
;
;
строка ,
.
ТЗ называется простым, если в любом столбце, где есть парная невыделенная переменная, никакой другой символ не повторяется. ТЗ из примера – простое. Припишем строку:
|
|
… |
… |
|
|
|
|
|
|
уже не является простым.
Простые ТЗ эффективно минимизируются и эквивалентность минимальных ТЗ легко проверить.
Теорема: Для простого ТЗ существует подтабло , которое является минимальным, эквивалентным ТЗ .
Метод нахождения min-го запроса для простого тз.
Пусть
– простое ТЗ, которое не минимально. По
теореме у
имеется подтабло
,
эквивалентное
.
Пусть
строка
,
которая не принадлежит
.
Имеется отображение включения
из
в
и строка
из
такая, что
(*).
Чтобы минимизировать ТЗ , ищутся такие строки и и отображение из в , что выполняется (*). и эквивалентны и содержит меньшее число строк. Если не минимально, то процесс повторяется с новыми , и .
Помощью при поиске
такого отображения служит сопровождающее
множество строк
относительно
(СОПР
)
– это наименьшее множество
,
содержащее
и удовлетворяющее условию замкнутости:
если
– строка из
;
строки из
,
а
атрибут такой, что
– невыделенная переменная, причем
,
то
лежит в
.
Если покрывает СОПР , то отображение выбирается таким образом, что каждая строка из СОПР отображается в , а все остальные строки в себя.
Ищутся строки
такие, что
.
Т.е. сокращаем количество строк
минимизируем.
Строка
поглощает строку
,
если для каждого атрибута
– либо выделенная переменная, либо
константа, и выполняется условие:
.
Пусть заданы 2 множества
строк
.
Множество
покрывает множество
,
если для каждой строки
существует
такая, что
поглощает
.
ТЗ покрывает табло , если строки покрывают строки .
Строится сопровождающее множество СОПР и
;
Находим атрибут А: – невыделенная переменная и
;
Ищем строки
Если нашли
;
В результате, если
строка
поглощает каждую из строк множества W,
то строим отображение
Строки
Пример: 1) построить
СОПР
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поглощает
ли строка
строки множества W? – да. Т.е.
поглощает
СОПР
.
поглощает .