Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИТвМ2011КОНТР_РАБ.doc
Скачиваний:
15
Добавлен:
16.11.2018
Размер:
708.61 Кб
Скачать
    1. Журнализация и восстановление бд после сбоев

СУБД должна обеспечивать надежное хранение данных во внешней памяти. Под надежностью хранения понимается способность СУБД восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя (внезапное аварийное выключения питания компьютера, потеря информации на носителях внешней памяти, аварийное завершение работы СУБД и др.). Восстановление первоначального состояния БД обеспечивается посредством архивной копии БД и журнала.

Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью, в которую поступают записи обо всех изменениях основной части БД. Запись об изменении любого объекта БД попадает во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД.

Восстановление БД с помощью журнала может происходить несколькими способами: произвести откат транзакции путем выполнения обратных операций, следуя от конца локального журнала; исходя из архивной копии БД по журналу воспроизводится работа всех транзакций.

    1. Поддержка языков бд.

Язык баз данных - язык для работы с базами данных, позволяющий "программировать" выполнение типовых операций обработки данных.

Выделяют следующие разновидности реляционных языков баз данных:

1. dBASe-подобные языки - приближены к языкам структурного программирования (используются циклы, условные операторы, переменные); обеспечивают создание интерфейса пользователя;

2. графические языки (QBE) - отличаются наглядностью, ориентированы на конечных пользователей;

3. SQL-подобные языки - позволяют сформулировать инструкции по выполнению типовых операции по обработке данных на близком пользователям языке; является стандартным языком современных реляционных БД.

Пример SQL-запроса.

SELECT Отд_Размер

FROM Сотрудники, Отделы

WHERE Сотр_Имя = "Иванов И.И." AND Сотр_Отд_Номер = Отд_Номер

    1. Типовая организация современной субд

Состав компонентов типичной СУБД соответствует набору основных функций:

  1. ядро СУБД - наиболее внутренняя часть СУБД, отвечает за управление данными во внешней памяти, буферизацию, управление транзакциями и журнализацию.

  2. компилятор языка БД - осуществляет компиляцию операторов языка БД в некоторую выполняемую программу.

  3. подсистема поддержки времени выполнения - интерпретатор внутреннего машинно-независимого кода, в который преобразуются операторы языка БД в процессе компиляции.

  4. утилиты БД - процедуры, которые слишком накладно выполнять с использованием языка БД (загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д.).

В некоторых СУБД эти компоненты выделяются явно, в других - такое разделение можно провести только логически.

    1. Модели баз данных

Ядром любой базы данных является модель данных. С помощью модели данных представляются объекты предметной области и взаимосвязи между ними.

Модель данных - совокупность структур данных, ограничений целостности и операций манипулирования данными.

Выделяют три основных типа моделей данных:

  1. иерархическую,

  2. сетевую,

  3. реляционную.

СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве.

Иерархическая модель данных - объекты БД образуют перевернутое дерево; вершина (узел) дерева - это запись, значения полей которой описывают некоторый объект предметной области. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем уровне. Количество деревьев в базе данных определяется числом корневых записей.

Пример

Сетевая модель данных - напоминает иерархическую, но каждый узел БД может быть связан с любым другим узлом.

Пример

Реляционная модель данных - ориентирована на организацию данных в виде двумерных таблиц; проста в работе и реализации, позволяет создавать быстро работающие СУБД. Реляционные СУБД являются наиболее распространенными в настоящее время.

Понятие модели данных было введено в обиход применительно к реляционным системам и поэтому наиболее эффективно используется в контексте реляционных баз данных.

Контрольные вопросы.

  1. Перечислите типовые операции СУБД

  2. Перечислите основные функции СУБД

  3. В чём состоит функция управления данными во внешней памяти?

  4. В чём состоит функция управления буферами оперативной памяти?

  5. В чём состоит функция управления транзакциями?

  6. В чём состоит функция журнализации?

  7. Перечислите разновидности реляционных языков баз данных

  8. Перечислите компоненты типичной СУБД

  9. Дайте определение Модели данных

  10. Перечислите основные типы моделей данных

  11. Дайте определение иерархической модель данных

  12. Дайте определение сетевой модель данных

  13. Дайте определение реляционной модель данных