Классификация СУБД. Режимы работы пользователя в СУБД.
По степени универсальности : СУБД общего назначения не ориентированы на какую-либо конкретную предметную область или на информационные потребности конкретной группы пользователей. Они не всегда позволяют добиться требуемой производительности и/или удовлетворить заданные ограничения по объёму памяти, предоставляемой для хранения БД.
Тогда - специализированную СУБД для данного конкретного применения. Примером специализированной СУБД может быть система IMBASE, используемая для автоматизации проектных и конструкторских разработок.
По типу модели данных,
· иерархические. Первой такая СУБД - система IMS (Information Management System) компании IBM, · сетевые. Первой сетевой СУБД считается система IDS (Integrated Data Store), разработанная компанией General Electric немного позже системы IMS;
· реляционные. Первые коммерческие реляционные СУБД от компаний IBM, Oracle Corporation, Relation Technology Inc. и других поставщиков появились в начале 80-х годов. Реляционные СУБД просты в использовании, повышают производительность программистов при разработке прикладных программ, хорошо приспособлены для работы в архитектуре клиент/сервер, позволяют параллельную обработку БД, хорошо приспособлены к графическим пользовательским интерфейсам.
· объектно-реляционные (постреляционные). Объектно-реляционные СУБД продолжают использовать стандартный язык запросов для реляционных БД – SQL, но с объектными расширениями;
· объектно-ориентированные. В основе объектно-ориентированных СУБД лежит объектно-ориентированная модель обработки данных.
· многомерные, в основе которых лежит многомерная модель данных.
На самом общем уровне все СУБД можно разделить на:
- профессиональные (промышленные), которые представляют собой программную основу для разработки автоматизированных систем управления крупными экономическими объектами. (Oracle, DB2, Sybase, Informix, Inqres, Progress.)
- персональные (настольные). (DBASE,FoxBase, FoxPro, Clipper, Paradox, Access.)
«Режим» - определённый порядок работы или состояния компьютера или программы.
Возможна работа пользователя с СУБД в трех режимах:
1) Через меню системы. Он реализуется чаще всего в виде различных меню и диалоговых окон, с помощью которых пользователь постепенно уточняет, какие действия он хочет выполнить и какую информацию получить из БД. Для этого не надо знать языка СУБД.
2) Командный режим – интерактивный режим. Это способ реализации возможностей языка, т.е. непосредственное выполнение команд. Система выдаёт подсказку и ожидает ответа – ввод соответствующей команды. После ввода команды система осуществляет синтаксический контроль текста введённой команды и (при отсутствии ошибок) выполняет команду. Команда в процессе её выполнения может проводить собственный диалог с пользователем или выдавать конкретные сообщения. После выполнения текущей команды система постоянно выдаёт подсказку (приглашение) о готовности принять очередную команду.
3) Программный режим. Обеспечивает организацию доступа к данным и управление ими из прикладных программ. Пользователь может писать программы на языке команд, который поддерживает СУБД, производить отладку и выполнение программ. Текст программы можно вводить с помощью встроенного текстового или любого другого редактора.
Функции СУБД
1. Ведение словаря данных ( систематизированного каталога)
Описывает метаданные:
Имена, типы и максимальная длина
Информация о связях
Ограничения на данные
Схемы данных
Статистические данные
Имена санкционированных пользователей и др.
1. Поддержка транзакций
Транзакция – набор действий, выполняемых пользователем или программой с целью изменения содержимого БД так, чтобы та не находилась в противоречивом состоянии.
Транзакция –последовательность операций над БД (с целью доступа или изменения содержимого), рассматриваемая СУБД как единое целое.
Изменения в БД фиксируются только при полном выполнении транзакций.
Виды
-простые (добавление, удаление, обновление сведений о некоем объекте)
-сложные (внесение в БД нескольких изменений).
Транзакции необходимы для поддержания логической целостности БД.
2. Восстановление БД после сбоев
Журнализация – «ведение» журнала изменений в БД. Обеспечивает надежность хранения данных во внешней памяти (призвано сохранять промежуточное сотояние БД, необходимое для отката транзакций после сбоя)
Сбои:
- мягкие (незавершение работы одной транзакции)
- жесткие (потеря информации во внешней памяти)
Журнал – часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью(иногда поддерживаются 2 копии журнала, расположенные на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД.
При журнализации поддерживается стратегия «упреждающей» записи в журнал: запись об изменении любого объекта БД должна попасть в журнал раньше, чем измененный объект попадет во внешнюю память основной части БД.
Методы восстановления БД с использованием журнала транзакций
1) Накат – внесение изменений в сохраненную копию БД результатов всех завершенных транзакций согласно записям в журнале.
2) Откат – отмена изменений, произведенными в БД ошибочно или незавершенными транзакциями. Далее повторно запуск транзакции, которая выполнялась на момент сбоя.
3. Контроль доступа к данным
4. Поддержка индивидуальной работы
5. Поддержка распределения обработки данных (в сети)
6. Поддержка целостности данных
7. Поддержка независимости от данных (независимость программ от структуры данных)
8. Вспомогательные функции для: администрирования БД, импорта, экспорта БД, статистического анализа.
9. Управление данными во внешней памяти. Включает наличие необходимых структур внешней памяти для хранения данных БД и служебной информации.
10.Управление буферами оперативной памяти.
Причины буферизации данных в оперативной памяти:
-объем БД обычно значительно больше объема оперативной памяти
-если постоянно обращаться ко внешней памяти, то и СУБД будет работать со скоростью устройства внешней памяти.
Существуют отдельные направления развития СУБД, которые ориентированы на постоянное присутствие в оперативной памяти всей БД.