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