Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену.docx
Скачиваний:
31
Добавлен:
15.06.2021
Размер:
316.27 Кб
Скачать

2. Понятие субд.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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