ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 17.03.2024
Просмотров: 89
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Приведем преимущества банка данных по сравнению с традиционным бумажным методом содержания записей и расставим их по порядку начиная с главного:
Низкие трудозатраты при работе.
Скорость работы.
Применимость (нужная информация доступна в любой момент времени).
Компактность.
В многопользовательской среде - централизованное управление данными.
Рассмотрев требования, предъявляемые к банкам данных и их преимущества теперь рассмотрим основные функции системы управления базой данных как особенно значимого компонента банка данных.
Перечислим основные функции системы управления базами данных.
Первая функция – определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки.
Создание структуры базы данных происходит в режиме диалога, причем запрос самой системой управления базой данных у пользователя необходимых данных происходит последовательно. В большей части современных СУБД база данных представляет из себя множество таблиц. Данная функция позволяет описать и создать в памяти структуру таблицы, провести начальную загрузку данных в таблицы. Примеры таких действий для системы управления базой данных MS Access представлены на рисунке 2.2.
Рисунок 2.2 – Формирование структуры базы данных в СУБД Access
Вторая функция – предоставление пользователям возможности манипулирования данными. К этой функции относится выборка необходимых данных, выполнение вычислений, разработка интерфейса ввода/вывода и визуализация.
Возможности системы управления базой данных по предоставлению пользователю возможности манипулирования данными представляются либо на основе использования специального языка программирования, входящего в состав системы управления базой данных, либо с помощью графического интерфейса.
В системе управления базой данных MS Access реализация этой функции может быть реализована путем созданием запросов и форм ввода с помощью графического интерфейса (Рис. 2.3).
Рисунок 2.3. – Формирование запроса на выборку в системе управления базами данных MS Access
Для клиент-серверных архитектур систем управления базами данных существуют специальные средства, позволяющие выполнять запросы, а так же программные средства, позволяющие создавать графический интерфейс пользователя.
Третья функция – обеспечение независимости прикладных программ и данных. В данной функции имеется ввиду и логическая и физическая независимость.
Система управления базой данных поддерживает два независимых взгляда на базу данных. Поддержание взгляда пользователя и взгляда системы является важнейшим свойством системы управления базой данных. Взгляд пользователя воплощается в логическом представлении данных, и его отражении в прикладных программах. Взгляд системы это физическое представление данных в памяти запоминающего устройства. Логическая независимость данных дает возможность изменять логическое представление базы данных без необходимого изменения физической структуры хранения данных. Изменение логического представления базы данных, относящееся к прикладным программам не требует изменение структуры хранения данных. Физическая независимость данных дает возможность изменять способы организации базы данных в запоминающем устройстве системы и не требовать изменения логического представления данных в прикладных программах. В этом случае изменяя способы организации данных не потребуется изменение прикладных программ.
Четвертая функция – защита логической целостности базы данных.
Цель данной функции это повышение достоверности данных в базе данных. Когда может быть нарушена достоверности данных в базе данных? При вводе данных в базу данных или при несанкционированных действиях различных процедур обработки данных, получающих и вносящие в базы данных ошибочные или неправильно корректированные данные. Повысить достоверность данных в системе можно путем объявления ограничения целостности. Ограничение целостности занимаются выявлением ошибочных или неправильно корректированных данных. Соответствие вводимых данных их типу, описанному при создании структуры проверяется во всех современных системах управления базами данных. Система не позволит ввести недопустимую дату, не существующее время, не даст возможность ввести символ в поле числового типа, и т.п. В развитых системах ограничения целостности описывает программист, исходя из смыслового содержания задачи, и их проверка осуществляется при каждом последующем обновлении данных. Более подробно разные аспекты логической целостности базы данных будем рассматривать в последующих разделах курса.
Пятая функция – защита физической целостности.
Во время работы информационной системы, частью которой является база данных, возможны различные сбои. Они могут происходить из-за отключения электропитания и приводить к повреждению носителей информации в системе. При этом дальнейшая работа становится под угрозу из-за нарушения связей между данными. В современных системах управления базами данных
имеется целый комплекс мероприятий и средств, для восстановления базы данных. Основное понятие, используемое для восстановления данных, является транзакция. Транзакция – это единица действий, производимых с базой данных. Транзакция может включать в свой состав несколько операторов изменения базы данных. Но при этом есть основное правило транзакции – либо выполняются все операторы транзакции, либо не выполняется ни один. Система управления базой данных ведет журнал транзакций.
Рассмотрим необходимость использования транзакций в базах данных на примере проведения банковских операций. Предположим, что база данных используется в некотором банке и один из клиентов желает перевести деньги на счет другого клиента банка. В базе данных хранится информация о количестве денег у каждого из клиентов. Нам необходимо сделать два изменения в базе данных – уменьшить сумму денег на счете одного из клиентов и, соответственно, увеличить сумму денег на другом счете. Надо заметить, что реальный перевод денег в банке представляет собой гораздо более сложный процесс, затрагивающий много таблиц, а возможно, и много баз данных. Однако суть остается та же – нужно либо совершить все действия (увеличить счет одного клиента и уменьшить счет другого), либо не выполнить ни одно из этих действий – основное правило транзакции. Нельзя уменьшить сумму денег на одном счете, но не увеличить сумму денег на другом. Предположим также, что после выполнения первого из действий (уменьшения суммы денег на счете первого клиента) произошел сбой. Например, могла прерваться связь клиентского компьютера с базой данных или на клиентском компьютере мог произойти системный сбой, что привело к перезагрузке операционной системы. Что в этом случае стало с базой данных? Команда на уменьшение денег на счете первого клиента была выполнена, а вторая команда – на увеличение денег на другом счете – нет, что привело бы к противоречивому, неактуальному состоянию базы данных.
Использование механизма транзакций позволяет находить решение в этом и подобных случаях. Перед выполнением первого действия выдается команда начала транзакции. В транзакцию включается операция снятия денег на одном счете и увеличения суммы на другом счете наших клиентов. Оператор завершения транзакций обычно называется COMMIT. Поскольку после выполнения первого действия транзакция не была завершена, изменения не будут внесены в базу данных. Изменения вносятся (фиксируются) только после завершения транзакции. До выдачи данного оператора сохранения данных в базе не произойдет.
В нашем примере, поскольку оператор фиксации транзакции не был выдан, база данных не изменяется а «откатывается» к первоначальному состоянию – иначе говоря, суммы на счетах клиентов останутся те же, что и были до начала транзакции. Администратор базы данных может отслеживать состояние транзакций и в необходимых случаях вручную «откатывать» транзакции. Кроме того, в очевидных случаях система управления базой данных самостоятельно принимает решение об «откате» транзакции.
Бывают транзакции, которые длятся несколько часов или даже несколько дней, а бывают и короткие, как в рассмотренном примере. Увеличение количества разнообразных действий в рамках одной транзакции неминуемо приведет к увеличения занимаемых системных ресурсов. Соответственно желательно делать транзакции по возможности более короткими. В упомянутый выше журнал транзакций заносятся все транзакции – и зафиксированные, и не зафиксированные т.е. завершившиеся «откатом». Ведение журнала транзакций совместно с созданием резервных копий базы данных позволяет достичь высокой надежности, эффективности и восстанавливаемости базы данных.
Если предположить, что база данных была испорчена в результате аппаратного сбоя компьютера, на котором был установлен сервер системы управления базой данных. Что в этом случае используется для восстановления базы данных? Для восстановления базы данных, в этом случае используется последняя сделанная резервная копия базы данных и журнал транзакций. Нужно отметить, в этом случае уже учитываются только те транзакции, которые были зафиксированы после создания резервной копии. Почти все современные системы управления базой данных дают возможность администратору восстановить базу данных с помощью резервной копии и журнала транзакций. В таких современных системах в определенный момент базы данных копируется на резервные носители, автоматически создаются резервные копии. Все обращения к базам данных фиксируются программно в журнал изменений. Если база данных повреждена, запускается процедура восстановления, в процессе которой в резервную копию из журнала изменений вносятся все произведенные изменения.
Шестая функция – управление полномочиями пользователей на доступ к базе данных.
Доступ к данным является самым сложным моментом, который регулируется кроме всего административно и уголовно. Пользователи могут иметь разные полномочия по работе с данными. Некоторые данные должны быть недоступны. Некоторые действия должны быть недоступны определенным пользователям. В системе управления базой данных имеется определенный механизм, задача которого разграничить полномочия пользователей. Это происходит либо с помощью паролей, либо с помощью процедуры описания полномочий.
Седьмая функция – синхронизация работы нескольких пользователей.
Может возникнуть такая ситуация, когда одновременно несколько пользователей выполняют одновременно операцию с одними и теми же данными. Эта ситуация может привести к нарушению логической целостности данных, поэтому система должна предусматривать меры, не допускающие обновление данных другим пользователям. Обновления не должны производится пока работающий с этими данными пользователь полностью не закончит с ними работать. В этой функции так же есть ключевое понятие и называется оно блокировка. Блокировки необходимы для того, чтобы запретить различным пользователям возможность одновременно работать с базой данных (вносить изменения в базу данных), поскольку это может привести к ошибкам. Этот запрет в системе управления базой данных реализуется установкой блокировки на объекты, которые использует транзакция. Блокировки по типам различают: табличные, страничные, строчные и другие, которые отличаются друг от друга количеством заблокированных записей. Чаще других используется строчная блокировка – при обращении транзакции к одной строке блокируется только эта строка, остальные строки остаются доступными для изменения.
Рассмотрим как производится процесс внесения изменений в базу данных. Этот процесс включает следующую последовательность действий. В начале выдается оператор начала транзакции, затем выдается оператор изменения данных, далее система управления базой данных анализирует оператор и пытается установить блокировки, необходимые для его выполнения, в случае успешной блокировки оператор выполняется, затем процесс повторяется для следующего оператора транзакции. После того, как все операторы успешно выполнены внутри транзакции выполняется оператор фиксации транзакции. Система управления базой данных фиксирует изменения, сделанные транзакцией, и снимает блокировки. В случае неуспешного выполнения какого-либо из операторов транзакция «откатывается», данные получают прежние значения, блокировки снимаются.
Восьмая функция – управление ресурсами среды хранения.
База данных располагается во внешнем запоминающем устройстве. При работе в базе данных заносятся новые данные путем занимания памяти и удаляются данные, при этом память освобождается. Система управления базы данных выделяет ресурсы памяти для новых данных