- •Глава 1. Введение.
- •Раздел 2. Основные определения и требования к бд.
- •Раздел 2.1. Определения.
- •Раздел 2.2 Категории баз данных.
- •Раздел 2.3. Требования к бд.
- •Раздел 3. Системы управления базами данных (субд).
- •Раздел 4. Языковые средства при работе с базами данных.
- •Глава 2. Проектирование логической структуры бд.
- •Раздел 1. Элементы данных и связи.
- •Раздел 2. Классификация моделей данных.
- •Раздел 2.1. Иерархическая модель данных.
- •Раздел 2.2. Сетевые модели данных.
- •Раздел 2.3. Преобразование сетевых моделей к иерархическому виду.
- •Раздел 3. Реляционная модель данных.
- •Раздел 3.3. Реляционная алгебра.
- •Раздел 4. Нормализация отношений.
- •Раздел 4.1. Функциональная зависимость.
- •Раздел 4.2. Правила логического следствия.
- •Раздел 4.3. Аксиомы функциональных зависимостей.
- •Раздел 5. Вторая нормальная форма (2нф).
- •Раздел 6. Третья нормальная форма (3нф).
Раздел 3. Системы управления базами данных (субд).
СУБД – программа, работающая под управлением операционной системы и реализующая следующие функции:
обмен управляющими воздействиями с прикладными программами и операционной системой в процессе передачи данных из БД в прикладные программы и обратно; (поэтому СУБД относят к технологиям промежуточного слоя)
выполняет преобразование данных в соответствии с описанием во внешних схемах;
обеспечивает многопользовательский режим доступа к данным; (основной работы является технология клиент-сервер)
обеспечивает защиту данных от несанкционированного доступа.
Схема функционирования СУБД
Сдвоенные стрелки – потоки данных.
Одиночные стрелки – управляющие потоки.
Последовательность выполняемых операций при чтении данных из БД:
прикладная программа формирует запрос, прикрепляет к нему имя внешней схемы, при необходимости дополняется пароль; все это передается под управление СУБД, и управление передается СУБД;
СУБД выбирает описание внешней схемы, при необходимости проверяет пароль и помещает запрос в стек запросов;
СУБД по совокупности поступивших запросов в глобальном логическом описании находит описание отношений, которые будут использованы при реализации этих запросов. При этом выполняется формальная оптимизация запросов. Результатом формальной оптимизации является схема итерирования отношений – последовательность просмотра отношений в базе данных.
СУБД анализирует физическое описание БД и преобразует схему итерирования последовательность блоков, запрашиваемых из базы данных. При этом выполняется физическая оптимизация запросов. Передает управление операционной системе.
(оптимизирует количество блоков ввода-вывода на основе собираемой динамической статистике, в частности определяется совокупность индексных файлов, используемых при реализации запроса).
ОС перекачивает запрошенные блоки из БД в системные буфера и передает управление в СУБД;
СУБД полученные пользовательские данные преобразует в системные буфера в соответствии с описанием во внешних схемах. Служебная информация используется для последующих итераций
(шаги 4-6 выполняются циклически. Чем лучше оптимизатор у СУБД, тем меньше циклов она выполняет.)
СУБД распределяет пользовательские данные по прикладным программам и при завершении этого процесса передаем им управления.
Последовательность действий при записи данных в БД аналогичны. При этом не выполняется никакой оптимизации запроса кроме диспетчеризации, вновь поступившие записи СУБД как можно быстрее старается «сбросить» на диск.
Раздел 4. Языковые средства при работе с базами данных.
Для написания прикладных программ в БД чаще всего используются традиционные языки программирования.
Однако, средств, для реализации принципа независимости данных, в этих языках недостаточно. Поэтому традиционные языки программирования дополняются специализированными языками:
ЯОД – язык описания данных предназначен для формирования внешних схем, глобального логического описания и физического описания
ЯМД – язык модифицирования данных предназначен для написании запроса в БД.
Способы реализации ЯОД и ЯМД:
Расширение традиционного языка программирования
А) средствами библиотечных программ реализуется по CALL-интерфейсу
VISTA - ЯМД
Б) традиционный язык программирования дополняется синтаксически правильными конструкциями, реализующими ЯОД и ЯМД
ADABAS IBM-370 PL/1
В) дополнение программ операторами на независимом языке, которые предварительно обрабатывается предтранслятором
расширение СУБД средствами ЯОД и ЯМД
При этом требуется специализированные языки расширить средствами традиционного языка программирования.
dBase, Clipper, FoxPro
реализация независимых ЯОД и ЯМД
требуется стандарт SQL, QBE