- •Базы данных
- •Лекция 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 Нормальная форма
- •Нормализация через декомпозицию и посредством синтеза
- •Нормальная форма Бойса-Кодда
- •Литература
Системы хранения данных на основе файлов
В начальной стадии развития информатики прикладные информационные системы работали непосредственно с файлами данных. Программы обработки занимались ведением конкретных файлов, то есть, в основном, добавлением, удалением, корректировкой данных, сортировкой и выдачей. Файлы содержали все данные, необходимые для обработки. Получающаяся избыточность с высокой вероятностью приводила к противоречивости данных. Исключение избыточности существенно увеличивало сложность обработки за счет вовлечения в нее одновременно нескольких файлов. Логическая структура данных, как правило, определялась разработчиком для конкретной задачи, в крайнем случае, для группы задач. Более того, нередко данные различных приложений отличались и физическими структурами. В этой ситуации шагом вперед стало использование обобщенных методов доступа к данным, которые определяли их структуру на нижнем уровне. Системы, поддерживающие эти методы, обычно называются Системами Управления Файлами – СУФ (File Manager – FMGR), они включаются в операционные системы (ОС). Но универсальные программы работают с единственным представлением данных или же с фиксированным числом представлений. Примером может служить СУФ в ОС RTE фирмы Hewlett-Packard, где используется 6 форматов файлов.
Главный недостаток системы, построенной на файлах, связан с тем, что короткие записи, ориентированные на решение частных задач, приводят к избыточности, возникающей из-за повторения одних и тех же данных в разных файлах. Это порождает проблему противоречивости данных, которая усугубляется слабым контролем достоверности данных. Кроме того, к недостаткам подобных систем следует отнести
ограничение разделения данных;
ограничение по доступности;
сложность в управлении.
Попытка борьбы с противоречивостью путем объединения записей приводит к следующим неприятностям:
ведение длинных записей представляет собой трудоемкую задачу;
система данных на длинных записях отличается крайне низкой гибкостью;
при недостаточности средств защиты возможен несанкционированный доступ к данным;
процесс восстановления данных сложен и требует значительного времени;
стоимость и сложность в эксплуатации таких систем крайне высока.
База данных
Определение. Под базой данных (БД) будем понимать совокупность связанных данных конкретной предметной области, в которой определения данных и отношений между ними отделены от процедур.
Основное отличие баз данных от систем на основе файлов состоит в том, что эти системы имеют несколько назначений и несколько представлений о данных, а базы данных – несколько назначений и одно представление о данных.
Определение. Система управления данными (СУБД) – комплекс программно-аппаратных средств, обеспечивающих доступ к БД и управление данными.
Требования к субд
Эффективное выполнение функций ПО.
Минимизация избыточности.
Предоставление непротиворечивой информации.
Безопасность.
Простота в эксплуатации.
Простота физической реорганизации.
Возможность централизованного управления.
Упрощение приложений.
Базы данных призваны ликвидировать неприятности, присущие системам на основе файлов, и они это успешно делают, но по сравнению с ними они тоже имеют некоторые недостатки. Объективно – это довольно высокая стоимость и необходимость специальной подготовки, что в простейших случаях хранения данных представляется излишним. Субъективно – пользователь нередко хочет видеть данные в своих файлах без посредников в виде СУБД. Кроме того, при переходе к использованию БД наблюдается снижение ответственности исполнителя, что влияет на достоверность данных. В свою очередь, достоверность трудно контролировать из-за отсутствия избыточности. Возникают проблемы и с защитой данных, для этого требуются специальные мероприятия.