Технологии баз данных
и знаний


ЛЕКЦИИ

Лекция на тему

СИСТЕМЫ УПРАВЛЕНИЯ БАЗЫ ДАННЫХ

Разработчик: доц. Туркина Е.П.

 

План лекции

1. Понятие СУБД

2. Архитектура СУБД

3. Классификация СУБД

4. Функциональные возможности и производительность СУБД

5. Режимы работы пользователя с СУБД

6. Направления развития СУБД

Литература

Глоссарий

 

&

 

4. ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И ПРОИЗВОДИТЕЛЬНОСТЬ СУБД

К основным функциям СУБД относятся:

¨ Ведение системного каталога, доступного конечным пользователям

Системный каталог, или словарь данных, является хранилищем информации, описывающей данные в базе данных (по сути, это "данные о данных", или метаданные). Обычно в системном каталоге хранятся следующие сведения:

имена, типы и размеры элементов данных;

имена связей;

накладываемые на данные ограничения поддержки целостности;

имена санкционированных пользователей, которым предоставлено праводоступа к данным;

внешняя, концептуальная и внутренняя схемы и отображения между ними;

статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.

Наличие системного каталога позволяет:

централизовано хранить информацию о данных, что обеспечивает контроль доступа к этим данным и любому другому ресурсу;

легко обнаружить избыточность и противоречивость описания отдельных элементов данных;

протоколировать внесение в базу данных изменений и определить их последствия еще до их внесения, поскольку в системном каталоге зафиксированы все существующие элементы данных, установленные между ними связи, а также все их пользователи;

усилить меры обеспечения безопасности;

выполнять аудит сохраняемой информации.

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

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

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

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

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

¨  Контроль  доступа к данным. СУБД должна иметь механизм, гарантирующий возможность доступа к базе данных только санкционированных пользователей.

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

¨ Поддержка целостности данных. Целостность базы данных означает корректность и непротиворечивость хранимых данных. Она может рассматриваться как еще один тип защиты базы данных. Целостность обычно выражается в виде ограничений или правил сохранения непротиворечивости данных, которые не должны нарушаться в базе. СУБД должна обладать инструментами контроля за тем, чтобы данные и их изменения соответствовали заданным правилам.

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

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

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

Приложения выполняют пять основных функций: 1. Создание, чтение, обновление и удаление представлений. 2. Форматирование представлений. 3. Реализация ограничений. 4. Обеспечение механизмов безопасности и контроля. 5. Реализация логики обработки информации.

Производительность СУБД оценивается:

• временем выполнения запросов;

• скоростью поиска информации в неиндексированных полях;

• временем выполнения операций импортирования базы данных из других форматов;

• скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;

• максимальным числом параллельных обращений к данным в многопользовательском режиме;

• временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

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

• производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.

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

 

 


© Минск БГЭУ,
2005 - 201
9