
- •Место баз данных в Космических войсках
- •Основные понятия теории баз данных
- •Понятие системы баз данных
- •Базы данных и их назначение
- •Данные и модели данных
- •Типы систем баз данных
- •Архитектура системы баз данных
- •Уровни архитектуры
- •Система управления базами данных
- •Система управления передачей данных
- •Архитектура «клиент-сервер»
- •Утилиты
- •Распределенная обработка
- •Семантическое моделирование
- •Общий подход
- •Модель «сущность/связь»
Система управления базами данных
СУБД представляет программное обеспечение, которое управляет всем доступом к БД. Концептуально это происходит следующим образом:
Пользователь выдает запрос на доступ к данным, применяя определенный подъязык данных (обычно это язык SQL).
СУБД перехватывает этот запрос и анализирует его.
СУБД просматривает внешнюю схему для этого пользователя, отображение «внешний-концептуальный», концептуальную схему, отображение «концептуальный-внутренний» и определение структуры хранения.
СУБД выполняет необходимые операции в хранимой БД.
Рассмотрим функции СУБД в отдельности (взаимодействие этих функций и основные компоненты СУБД представлены на рис. 1.3):
Определение данных. СУБД должна поддерживать средства определения данных в виде исходной формы и преобразования этих определений в соответствующую объектную форму. Иначе говоря, СУБД должна включать компоненты процессора языка определения данных (ЯОД) или компилятора ЯОД для каждого из поддерживаемых ею языков определения данных.
Обработка данных. СУБД должна обрабатывать запросы пользователя на выборку, изменение или удаление данных, уже существующих в БД, или добавление в нее новы данных. Другими словами, СУБД должна включать в себя компонент процессора языка манипулирования данными (ЯМД) или компилятора ЯМД. Следует различать планируемые запросы к БД (запрос, необходимость выполнения которого была предусмотрена заранее) и непланируемые запросы (произвольные запросы, необходимость выполнения которого не была предусмотрена заранее и возникла по какой-либо причине). Первые обычно выдаются написанными заранее приложениями, а вторые – вводятся интерактивно, с помощью процессора языка запросов (не является частью самой СУБД).
Оптимизация и выполнение. Запросы должны быть обработаны таким компонентом СУБД как оптимизатор, назначение которого состоит в поиске достаточно эффективного способа выполнения каждого из запросов. Оптимизированные запросы выполняются под управлением менеджера времени выполнения (run-time manager).
Рис. 1.3 Основные функции и компоненты типичной СУБД
Защита и сохранение целостности данных. СУБД должна контролировать пользовательские запросы и пресекать попытки нарушения ограничений защиты и сохранения целостности данных.
Восстановление данных и поддержка параллельности. СУБД (или компонент, называемый менеджером транзакций, диспетчером выполнения транзакций) должна обеспечить необходимый контроль над восстановлением данных и управлением параллельностью обработки.
Словарь данных. СУБД должна поддерживать функцию ведения словаря данных, который содержит определения объектов системы (метаданные) и может рассматриваться как самостоятельная БД с системной информацией.
Производительность. СУБД должна выполнять все указанные функции с максимально возможной эффективностью.
Подводя итог сказанному, можно сделать вывод, что в целом, назначением СУБД является предоставление пользовательского интерфейса с системой баз данных, т.е. ограничительного уровня, ниже которого для пользователя все остается невидимым.