Функции систем управления базами данных

СУБД должна выполнять следующие функции:

1. Организация и поддержание логической структуры данных. Обеспечивается средствами модели организации данных. Известны три основные модели организации данных: иерархическая, сетевая и реляционная. (Модель данных определяется способом организации данных, ограничениями целостности, множеством операций, допустимых над объектами организации данных);

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

Транзакцией называют последовательную совокупность операций, имеющую отдельное смысловое значение по отношению к текущему состоянию БД.

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

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

1) определение страницы файла данных, содержащей указанную запись;

2) считывание и пересылку соответствующей страницы в буфер ОЗУ;

3) собственно удаление записи в буфере ОЗУ;

4) проверку ограничений целостности по связям и другим параметрам после удаления;

5) «выталкивание» и фиксацию в файле БД нового состояния соответствующей страницы данных.

Транзакции принято разделять на две разновидности:

1) изменяющие состояние БД после завершения транзакции;

2) изменяющие состояние БД лишь временно, с восстановлением исходного состояния данных после завершения транзакции.



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

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

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

5. Поддержка языков БД.

Для работы с БД используются специальные языки, в целом называемые языками БД. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка – язык определения схемы БД (SDL- SchemaDefinitionLanguage) и язык манипулирования данными (DML – DataManipulationLanguage). SDL служил для определения логической структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.

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

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

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

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

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






Дата добавления: 2016-05-31; просмотров: 402; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2017 год. Материал предоставляется для ознакомительных и учебных целей. | Обратная связь
Генерация страницы за: 0.009 сек.