
- •9.Иерархические базы данных. Принципы построения, модель данных, области применения. Преимущества и недостатки.
- •10.Сетевые базы данных. Архитектура "клиент/сервер". Структура типового интерактивного приложения. Модель fs. Модель rda.
- •11.Модель сервера баз данных. Модель сервера приложений.
- •12.Реляционные базы данных. Принципы построения, модель данных, области применения. Преимущества и недостатки.
- •13.Реляционная система управления базами данных. Языки определения данных и языки манипулирования данными
- •14.Реляционная система управления базами данных. Процедурная (sql) форма реализации
- •15.Целостность бд. Понятие транзакций. Модели транзакций.
- •16.Назначение, состав, структура субд. Схема управления данными в субд. Процесс прохождения пользовательского запроса.
- •18.Основные понятия и конструкции pl/sql. Курсоры, хранимые процедуры, функции пользователя, триггеры.
16.Назначение, состав, структура субд. Схема управления данными в субд. Процесс прохождения пользовательского запроса.
СУБД - это программная система, поддерживающая наполнение и манипулирование данными, представляющими интерес для пользователей при решении прикладных задач. Иными словами, СУБД является интерфейсом между базой данных и прикладными задачами.Система управления базами данных (СУБД) — это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями.
Основные функции СУБД:
- Непосредственное управление данными во внешней памяти. Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях СУБД активно используются возможности существующих файловых систем, в других работа производится вплоть до уровня устройств внешней памяти.
- Управление буферами оперативной памяти. СУБД обычно работают с БД значительного размера обычно существенно больше доступного объема оперативной памяти. Если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов. Существует отдельное направление СУБД, которое ориентировано на постоянное присутствие в оперативной памяти всей БД
- Управление транзакциями. Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. С управлением транзакциями в многопользовательской СУБД связаны важные понятия сериализации транзакций и сериального плана выполнения смеси транзакций. Под сериализаций параллельно выполняющихся транзакций понимается такой порядок планирования их работы, при котором суммарный эффект смеси транзакций эквивалентен эффекту их некоторого последовательного выполнения. Существует несколько базовых алгоритмов сериализации транзакций. При использовании любого алгоритма сериализации возможны ситуации конфликтов между двумя или более транзакциями по доступу к объектам БД. В этом случае для поддержания сериализации необходимо выполнить откат (ликвидировать все изменения, произведенные в БД) одной или более транзакций.
- Журнализация. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти.
Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Архивная копия - это полная копия БД к моменту начала заполнения журнала.
Процесс прохождения пользовательского запроса:
Пользователь посылает СУБД запрос на получение данных из БД.
Анализ прав пользователя и внешней модели данных, соответствующей данному пользователю, подтверждает или запрещает доступ данного пользователя к запрошенным данным.
В случае запрета на доступ к данным СУБД сообщает пользователю об этом (стрелка 12) и прекращает дальнейший процесс обработки данных, в противном случае СУБД определяет часть концептуальной модели, которая затрагивается запросом пользователя.
СУБД получает информацию о запрошенной части концептуальной модели.
СУБД запрашивает информацию о местоположении данных на физическом уровне (файлы или физические адреса).
В СУБД возвращается информация о местоположении данных в терминах операционной системы.
СУБД вежливо просит операционную систему предоставить необходимые данные, используя средства операционной системы.
Операционная система осуществляет перекачку информации из устройств хранения и пересылает ее в системный буфер.
Операционная система оповещает СУБД об окончании пересылки.
СУБД выбирает из доставленной информации, находящейся в системном буфере, только то, что нужно пользователю, и пересылает эти данные в рабочую область пользователя.