Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
gek_igor.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
557 Кб
Скачать
☆

60 Функции, классификация и структура субд. Компоненты субд

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

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

- упр-е данными во внеш.памяти;

- упр-ие буферами оп.памяти;

- операции над БД;

- обеспечение надежности хранения данных в БД;

- поддержка языка управления БД.

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

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

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

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

Возможны 2 вида аппаратных сбоев:«мягкие» сбои,к-е приводят к внезапной остановке работы компа (напрр, аварийное выключение питания),и «жесткие» сбои,характ-емые потерей инф-и на носителях внеш.памяти.

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

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

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

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

Типовая организация СУБД. Организация типичной СУБД и состав ее компонентов соответствуют рассмотренному набору фзий. СУБД представляет собой 3 взаимосвязанные компоненты:

- командный язык для выполнения требуемых операций с данными (ввод, вывод, модификация),

- интерпретирующую систему (или компилятор) для обработки команд и перевода их на язык машины,

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

- внутр.часть -ядро СУБД;

- компилятор языка БД (обычно SQL);

- подсистему поддержки времени выполнения;

- набор утилит.

Ядро СУБД отвечает за упр-ие данными во внеш памяти,буферами оп.памяти, транз-ми,за ведение ж-ла.

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