
- •Введение.
- •Информация и данные.
- •Выч. Система
- •Админ-р
- •Жизненный цикл БнД.
- •Классификация БнД.
- •Преимущества организации субд.
- •Недостатки организации бд.
- •Проектирование бд. (общий подход)
- •Независимость данных (2 уровня).
- •Концептуальное проектирование. Модели данных. Модель сущность-связь.
- •Инфологические мд.
- •Модель результ.
- •Объединение локальных моделей в глобальные.
- •Логическое проектирование.
- •Сетевая модель данных.
- •Правила построения сетевой модели.
- •Реляционная модель данных.
- •Плоский файл.
- •Хронологическая модель данных.
- •Операции над данными.
- •Операции реляционной алгебры.
- •Операторы обновления:
- •Реляционные сравнения:
- •Реляционное исчисление с переменными-кортежами.
- •Реляционное исчисление с переменными на доменах.
- •Реляционные ямд.
- •Язык запросов в sql.
- •Защита баз данных.
- •Функциональные зависимости.
- •Покрытие множества зависимостей.
- •Вычисление замыканий.
- •Декомпозиция схем отношений.
- •Нормализация отношений.
- •Алгоритм1: пополняющий декомпозицию схем отношений, которая обладает свойством соединения без потерь и приводит к отношениям находящимся в нфбк.
- •Алгоритм 2: приведения отношения к 3нф, использующей декомпозицию, сохраняющую функциональные зависимости.
- •Многозначные зависимости.
- •Правила вывода (аксиомы) для многозначных зависимостей.
- •Аксиомы, связывающие функциональные зависимости и многозначные зависимости.
- •Правила вывода:
- •Алгоритм вычисления базиса:
- •Секретность данных.
- •Физическая организация бд.
- •Методы доступа к данным.
- •Оптимизация запросов.
- •Общие стратегии оптимизации:
- •Законы оптимизации.
- •Алгоритм оптимизации выражений ра.
- •Точная оптимизация для подмножества реляционных запросов.
- •Минимизация конъюнктивных запросов.
- •Правила построения табло запросов:
- •Метод нахождения min-го запроса для простого тз.
- •Параллельные операции над бд.
- •Основные понятия.
- •Бесконечные ожидания и тупики.
- •Протоколы и расписание.
- •Простая модель транзакции.
- •Метод, позволяющий определить сериализуемость расписания.
- •Модель с блокировками для чтения и записи.
- •Параллельный доступ к иерархически структурированным элементам.
- •Алгоритм проверки сериализуемости расписания.
- •Защита от отказов.
- •Меры для восстановления бд.
- •Модификация запросов в распределенных бд.
- •Фрагменты отношений.
Плоский файл.
Часто эффективность той или иной модели сравнивают с тем, как эта модель укладывается в понятие плоского файла. Файл, содержащий записи, имеющие одну и ту же структуру, называется плоским. В понятие плоского файла хорошо укладывается реляционная модель данных.
Хронологическая модель данных.
Рассмотрим персонал, как объект, изменяющийся во времени:
доцент
ассистент
Персонал(ФИО;должность;
дата)
инженер
лаборант
T1 T2 T3 T4 T5
Фактографические БД отражают текущее состояние предметной области. Динамические позволяют фиксировать состояние предметной области в определенный момент времени или в интервал времени. Для поддержания динамической БД используется хронологическая модель данных.
Временной
ряд
Dθ
– это пары: Dθn=
,
где
- один или несколько атрибутов;
-
момент времени; θ
– единица
измерения времени.
Пример:
D5={<лаборант, 17 лет, 1980>, <инженер, 23, 1986>, <ассистент, 27,1990>,…}
Для
того чтобы получить информацию об
объекте в любой момент времени вводят
понятие функция
восстановления:
,
ε
– точность.
Временная
шкала
– это модель системы учета времени в
реальном мире:
,
где
-
множество объектов О
и события S,
относящиеся к объекту; М
– множество моментов времени; Т:
.
Состояние, в котором находится объект
О
между двумя соседними событиями
называется темпором.
Темпор задает единицу измерения времени,
а объект О
называется времязадающим
объектом
или таймером.
Хронологическая модель данных состоит
из множества
и множеств
.
Операции над данными.
Модель
данных определяет правила, в соответствии
с которыми данные структурированы. Это
не дает полного описания данных. В общем
случае модель данных:
,
где G
– множество правил вхождения, О
– множество операций.
G – описывает синтаксис данных и соотносится с языком описания данных. О – соотносится с языком манипулирования данными.
Операции над данными определяют в терминах действия и селекции. Действие показывает, что с данными нужно сделать, а селекция – какие данные нужно выбрать для данного действия. Традиционно действие выражается через одну из следующих операций, или их комбинацию:
установка текущей;
обновление;
удаление;
добавление;
выбор данных.
Селекция:
по логической позиции – дает выбор 1-й, последней и т.д. записи;
по значению данных – выбираем данные, атрибут которых равен какому-либо значению;
по средствам связи между данными – выбираем данные, для которых установлена связь.
Существенный признак, по которому различаются языки манипулирования данными (ЯМД) определяется характером результата единичного действия над ними. Следовательно, они делятся на навигационные и спецификационные. Навигационные – новые объекты не получаем, а спецификационные – дают в результате новый объект на основе существующих.
Говорят о процедурах БД. Процедура включает в себя:
вычисления по данным;
вычисление значения атрибута по значениям других атрибутов;
получение статистических данных.
Спецификационные операции включают в себя операции реляционной алгебры (РА), операции реляционного исчисления с переменными кортежами, реляционное исчисление с переменными на доменах (это ЯМД).