Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы баз денных.doc
Скачиваний:
106
Добавлен:
10.12.2013
Размер:
789.5 Кб
Скачать

Проблемы бд:

  • Администратор БнД (АБД) - человек или группа людей- должны поддерживать БД в актуальном состоянии;

  • Восстановление данных при сбоях оборудования;

  • Нарушение физической целостности при сбоях оборудования.

Меры преодоления проблем нарушения физической целостности:

  1. введение копии базы данных

в некоторый момент времени, называемый контрольной точкой, производится копия. Копия хранится на носителях, между контрольными точками ведется журнал изменений базы данных. Обычно используется копия дед-отец-сын.

Рис.1

В 4 контрольной точке затирается дед, отец становится дедом, сын – отцом и появляется новый сын.

Рис.2

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

  1. Второй вариант решения проблемы нарушения физической целостности6

В базе данных реальных изменений не происходит, все изменения фиксируются в журнале, а ночью происходят реальные изменения в базе данных.

  1. Третий вариант предполагает наличие двух баз одновременно, с одной мы работаем, а изменения происходят в двух базах одновременно, если одна из баз данных выходит из строя, то мы работаем с другой.

  • Логическая целостность – нарушается, если база некорректно обновлена

Например, фамилию записали не буквами, а на псевдокодах. Тогда должен сработать сервер и выдать ошибку, что не тот формат записи.

Меры защиты:

  1. Ограничивается доступ к информации по обновлению;

  2. Устанавливаются специальные фильтры или маски, которые проверяют формат введенной информации;

  3. Используются специальные активные процедуры (триггеры), которые могут проверить соответствие формата.

  • Семантическая целостность – соответствие данных в разных полях.

Осуществляется проверка связи между данными, хранящимися в разных полях.

Например, дата окончания школы не может быть на 16 лет раньше рождения.

Механизмы поддержания семантической целостности:

  1. Механизм триггеров - активная процедура, автоматически вызывается, когда это необходимо.

  2. Существуют специальные процедуры, которые осуществляют контроль за внесенной информацией..

  • Защита от несанкционированного доступа.

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

  • Коллективный доступ к данным

  1. Совместное обновление.

Пусть есть какое-то поле а, и два пользователя, которые хотят одновременно обновит это поле, первый хочет записать туда 7, а второй 3.. Тогда , чтобы избежать конфликтов, применяются блокировки и уровни изоляции данных.

Первый пользователь, который первым предъявил права, блокирует поле для других,

вносит в это поле 7, снимает блокировку, право переходит ко второму пользователю, который вносит 3, это значение поля не верно для пользователя первого. Чтобы такого не было, уровни изоляции могут распространяться на всю базу, на отдельную таблицу, на запись, на поле. Изоляция идет на все время, пока первый пользователь не закончит работать с базой, с отдельной таблицей, записью…

  1. Представление – часть базы данных, отобранная из реального хранилища предоставленная для работы пользователя – виртуальная база.

Приложение – программа пользователя, которая использует информацию из базы данных.

Виртуальное поле – поле, которое реально в базе не хранится, а его значение получается путем некоторых вычислений. Например, поле возраст – это виртуальное поле, так как его можно вычислить путем вычитания из текущей даты дату рождения.

Прозрачное поле – поле, которое в базе реально существует, но пользователю оно не доступно. Такие поля получаются, когда мы оперируем с представлением.

Соседние файлы в предмете Базы данных