Содержание лекционного занятия:
· Определение базы данных.
· Основные функции СУБД.
· Управление данными
· Управление транзакциями
Развитие компьютерных технологий, связанных с хранением и обработкой данных, привело к появлению в конце 60-х — начале 70-х годов специализированного программного обеспечения, получившего название систем управления базами данных (СУБД,) (DataBase Management Systems — DBMS). СУБД позволяют структурировать, систематизировать и организовывать данные для их компьютерного хранения и обработки. Именно системы управления базами данных являются основой практически любой информационной системы.
СУБД можно определить как некую систему управления данными, обладающую следующими свойствами:
· поддержание логически согласованного набора файлов;
· обеспечение языка манипулирования данными;
· восстановление информации после разного рода сбоев;
· обеспечение параллельной работы нескольких пользователей.
Основные функции СУБД
К основным функциям, выполняемым системами управления базами данных, обычно относят следующие:
Непосредственное управление данными во внешней памяти
Функция непосредственного управления данными во внешней памяти включает обеспечение необходимых структур внешней памяти (постоянных запоминающих устройств — как правило, магнитных дисков) как для хранения данных, непосредственно входящих в базу данных, так и для служебных целей, например для ускорения доступа к данным в некоторых случаях (обычно для этого используются индексы).
Управление буферами оперативной памяти
Объем информации, хранящейся в базе данных, с которой работает СУБД, обычно достаточно велик и практически всегда превышает доступный объем оперативной памяти. При этом время доступа к данным, хранящимся в оперативной памяти, существенно меньше, чем к данным, хранящимся на устройствах внешней памяти.
Управление транзакциями
Транзакцией называется последовательность операций над базой данных, рассматриваемых СУБД как единое целое. Если все операции успешно выполнены, то транзакция также считается успешно выполненной и СУБД фиксирует (COMMIT) все изменения данных, произведенные этой транзакцией (то есть заносит изменения во внешнюю память). Если же хотя бы одна операция транзакции заканчивается неудачей, то транзакция считается невыполненной и производится откат (ROLLBACK) — отмена всех изменений данных, произведенных в ходе выполнения транзакции, и возврат базы данных к состоянию до начала выполнения транзакции.
Протоколирование (Журнализация)
Одним из основных требований к СУБД является надежность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя.
Аппаратные сбои обычно подразделяются на два вида:
· мягкие сбои связаны с внезапной остановкой работы компьютера.
· жесткие сбои характеризуются потерей информации на носителях внешней памяти.
Программные сбои обычно возникают вследствие ошибок в программах. Причем эти ошибки могут быть как в самой СУБД, что может привести к аварийному завершению ее работы, так и в пользовательской программе.
Журнал представляет собой особую часть базы данных, недоступную пользователям СУБД и поддерживаемую с особой тщательностью, в которую поступают записи обо всех изменениях основной части базы данных.
Для восстановления базы данных после жесткого сбоя используют журнал и архивную копию базы данных.
Поддержка языков баз данных
Для работы с информацией, хранящейся в базе данных, используются специальные языки, носящее общее название языков баз данных. Чаще всего выделяются два языка:
· язык определения схем данных (Schema Definition Language, SDL) служит главным образом для определения логической структуры базы данных;
· язык манипулирования данными (Data Manipulation Language, DML) содержит набор операторов манипулирования данными, то есть операторов, позволяющих заносить данные в базу, а также удалять, модифицировать или выбирать существующие данные.
Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language). Таким образом, указанные выше языки баз данных на сегодняшний день фактически являются подмножествами единого стандартного языка SQL.
Вопросы для самоконтроля:
1.Определение информационных систем.
2.Классификация, архитектура ИС.
Рекомендуемая литература:
1.ДейтК.Дж. Введение в системы баз данных. - К.: Диалектика, 1998. - 784 с.
2.Ульман Дж., УидомД. Основы систем баз данных. - М.: ЛОРИ, 2000. - 374 с.