- •Основы баз данных. Введение.
- •БзХранятся не только данные, но и знания о применении этих данных. Реализуются они в виде процедур и алгоритмов. Выборки обрабатывают данные.
- •История БнД.
- •Проблемы бд:
- •Состав БнД.
- •Процесс проектирования базы данных.
- •Er-модель (модель Чена).
- •Основные понятия:
- •Виды связи
- •Рекурсивные связи
- •Представление связей более высокого порядка (не бинарных).
- •Избыточное дублирование.
- •Реляционная модель данных.
- •12 Правил Кодда, которым должна удовлетворять реляционная база данных.
- •Операции над данными.
- •Реляционная алгебра.
- •Свойства реляционных операций.
- •Понятие функциональной зависимости (ф.З).
- •Запись запросов на языке реляционной алгебры.
- •Проектирование реляционной базы данных.
- •Методы проектирования.
- •7 Правил Джексона.
- •Язык доступа к данным, основанный на исчислении с переменными кортежами.
- •Атрибуты, используемые для описания таблиц.
- •Обработка ссылочной целостности.
- •Операторы манипулирования данными.
- •Как задается условие?
- •Запросы, которые реализуются на основе соединения.
- •Подзапрос.
- •Использование квантора exists для поиска пересечения и разности.
- •Квантор общности моделирующий операцию деления.
- •Соответствия между операциями реляционной алгебры и sql.
- •Технологии клиент-сервер.
- •1 Вариант - файловый сервер.
- •2 Вариант – удаленный доступ.
- •3 Вариант – сервер Базы Данных.
- •4 Вариант – сервер приложений.
- •Внутренняя модель данных.
- •B-дерево.
- •Язык query by example (qbe)
- •Операции выборки в отношениях, имеющих древовидную структуру
- •Операции запоминания
- •Библиотечные функции
Проблемы бд:
Администратор БнД (АБД) - человек или группа людей- должны поддерживать БД в актуальном состоянии;
Восстановление данных при сбоях оборудования;
Нарушение физической целостности при сбоях оборудования.
Меры преодоления проблем нарушения физической целостности:
введение копии базы данных
в некоторый момент времени, называемый контрольной точкой, производится копия. Копия хранится на носителях, между контрольными точками ведется журнал изменений базы данных. Обычно используется копия дед-отец-сын.
Рис.1
В 4 контрольной точке затирается дед, отец становится дедом, сын – отцом и появляется новый сын.
Рис.2
Пусть после 4 контрольной точки произошел сбой, тогда для восстановления базы данных осуществляется откат до 4 контрольной точки. Если копия не прочиталась, то откат осуществляется до следующей контрольной точки. Если копия прочиталась нормально, то осуществляется докат –выполнение всех операций, записанных в журнале изменений. Но изменение может произойти в момент копирования, и тогда будет несоответствие копий, в связи с этим копии делают во время перерывов.
Второй вариант решения проблемы нарушения физической целостности6
В базе данных реальных изменений не происходит, все изменения фиксируются в журнале, а ночью происходят реальные изменения в базе данных.
Третий вариант предполагает наличие двух баз одновременно, с одной мы работаем, а изменения происходят в двух базах одновременно, если одна из баз данных выходит из строя, то мы работаем с другой.
Логическая целостность – нарушается, если база некорректно обновлена
Например, фамилию записали не буквами, а на псевдокодах. Тогда должен сработать сервер и выдать ошибку, что не тот формат записи.
Меры защиты:
Ограничивается доступ к информации по обновлению;
Устанавливаются специальные фильтры или маски, которые проверяют формат введенной информации;
Используются специальные активные процедуры (триггеры), которые могут проверить соответствие формата.
Семантическая целостность – соответствие данных в разных полях.
Осуществляется проверка связи между данными, хранящимися в разных полях.
Например, дата окончания школы не может быть на 16 лет раньше рождения.
Механизмы поддержания семантической целостности:
Механизм триггеров - активная процедура, автоматически вызывается, когда это необходимо.
Существуют специальные процедуры, которые осуществляют контроль за внесенной информацией..
Защита от несанкционированного доступа.
Выход: установит права доступа или пароли, а так же кодирование информации. Права доступа указывают пользователю круг операторов, которыми он может пользоваться. Пароли предназначены для подтверждения прав доступа пользователя к нужной информации.
Коллективный доступ к данным
Совместное обновление.
Пусть есть какое-то поле а, и два пользователя, которые хотят одновременно обновит это поле, первый хочет записать туда 7, а второй 3.. Тогда , чтобы избежать конфликтов, применяются блокировки и уровни изоляции данных.
Первый пользователь, который первым предъявил права, блокирует поле для других,
вносит в это поле 7, снимает блокировку, право переходит ко второму пользователю, который вносит 3, это значение поля не верно для пользователя первого. Чтобы такого не было, уровни изоляции могут распространяться на всю базу, на отдельную таблицу, на запись, на поле. Изоляция идет на все время, пока первый пользователь не закончит работать с базой, с отдельной таблицей, записью…
Представление – часть базы данных, отобранная из реального хранилища предоставленная для работы пользователя – виртуальная база.
Приложение – программа пользователя, которая использует информацию из базы данных.
Виртуальное поле – поле, которое реально в базе не хранится, а его значение получается путем некоторых вычислений. Например, поле возраст – это виртуальное поле, так как его можно вычислить путем вычитания из текущей даты дату рождения.
Прозрачное поле – поле, которое в базе реально существует, но пользователю оно не доступно. Такие поля получаются, когда мы оперируем с представлением.