- •Банки и базы данных. Модели данных. Системы управления базами данных
- •Введение
- •Система баз данных
- •Файловые системы
- •Структуры файлов
- •Именование файлов
- •Понятие БД и СУБД
- •Система баз данных
- •Понятие СУБД
- •Уровни абстракции в СУБД. Функции абстрактных данных
- •Функции СУБД
- •Экспертные системы и базы знаний
- •Экспертные системы и базы знаний
- •Классификация баз данных
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •2) Классификация БД по организации хранения данных и обращения к ним :
- •3) Классификация БД по типу хранимой информации:
- •Свойства БД
- •Компоненты СУБД
- •Логическое и физическое описание данных
- •Компоненты банка данных
- •Требования,
- •Компоненты инфологической модели
- •ПОСТРОЕНИЕ МОДЕЛИ
- •Связи «объект - свойство»
- •Модель сущность-связь
- •Модель сущность-связь
- •Три типа бинарных связей
- •Более сложные элементы модели сущность-связь
- •Более сложные элементы модели сущность-связь
- •Диаграммы сущность- связь
- •Общие характеристики ранних систем
- •Системы, основанные на инвертированных списках
- •Структуры данных на инвертированных списках
- •Манипулирование данными
- •Иерархическая модель
- •Иерархические структуры данных
- •Ограничения целостности в иерархической модели
- •Сетевая модель
- •Сетевые структуры данных
- •Основные достоинства и недостатки ранних СУБД
- •История реляционной модели
- •Недостатки реляционной модели
- •Основные определения
- •Основные определения
- •Эквиваленты
- •Ограничения
- •Ограничения
- •Языки манипулирования данными
- •Получение реляционной схемы из ER-схемы
- •Получение реляционной схемы из ER-схемы
- •Реляционная алгебра
- •Традиционные операции
- •Специальные операции
- •Специальные операции
- •Свойства операций реляционной алгебры
- •Реляционное исчисление
- •Разница между реляционной алгеброй и реляционным исчислением
- •Алгебраическая версия этого запроса
- •Этот же запрос в терминах реляционного исчисления
- •Вывод
- •Зачем нужна нормализация
- •Нормальные формы
- •Нормальные формы
- •Определение
- •Функциональная
- •1-я нормальная форма
- •2-я нормальная форма
- •3-я нормальная форма
- •Нормальная форма Бойса- Кодда
- •4-я нормальная форма
- •5-я нормальная форма
- •Доменно-ключевая нормальная форма
- •История SQL
- •История SQL
- •Некоторые популярные диалекты SQL:
- •Достоинства языка SQL:
- •Синтаксические
- •Соглашения об именах
- •Правила создания идентификаторов
- •Константы
- •Операторы
- •Категории операторов:
- •Арифметические
- •Оператор присваивания
- •Побитовые операторы
- •Операторы сравнения
- •Логические операторы
- •Унарные операторы
- •Приоритет операторов
- •Язык определения данных
- •Типы данных
- •Типы данных
- •Типы данных
- •Создание домена
- •Изменение домена
- •Схема
- •Создание таблицы
- •Параметры
- •Изменение таблицы
- •Изменение таблицы
- •Изменение таблицы
- •Язык манипулирования данными
- •Оператор INSERT
- •Оператор UPDATE
- •Оператор DELETE
- •Оператор SELECT
- •Оператор SELECT
- •Агрегатные функции в SQL
- •Виды агрегатный функций
- •Использование агрегатных функций
- •Выполнение агрегатных функций
- •Группировка для агрегатных функций
- •Использование HAVING
- •Проекция и выборка
- •Декартовое произведение
- •Предварительные
- •Локальная автономия
- •Независимость от центрального узла
- •Непрерывное функционирование
- •Независимость от расположения
- •Независимость от фрагментации
- •Независимость от репликации
- •Обработка распределенных запросов
- •Управление распределенными транзакциями
- •Распространение
- •Распределенные базы данных и Интернет.
- •Системы типа клиент/сервер
- •Серверы баз данных
- •БАЗЫ ДАННЫХ В INTERNET
- •Обзор ПТК данного вида
- •Техническое задание на разработку структур ПТК
- •Требования к ПТК
- •Требования к ПТК
- •Требования к ПТК
- •Эскизный проект структуры ПО ПТК
- •Эксплуатация баз данных. Защита баз данных. Управление транзакциями. Управление параллельным доступом. Заключение.
- •Понятие восстановления системы
- •Понятие транзакции
- •Восстановление
- •Свойства АСИД
- •Восстановление после отказов системы
- •Параллелизм. Проблемы параллелизма
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости
- •Проблема несовместимого анализа
- •Понятие блокировки
- •Решение проблем параллелизма
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости
- •Проблема незафиксированной зависимости
- •Тупиковые ситуации
- •СПАСИБО ЗА ВНИМАНИЕ !
Понятие восстановления системы
Восстановление в системе управления базами данных, означает в первую очередь восстановление самой базы данных, т.е. возвращение базы данных в правильное состояние, если какой-либо сбой сделал текущее состояние неправильным или подозрительным.
Понятие транзакции
Транзакция – это логическая единица работы.
Транзакция– не просто одиночная операция системы баз данных, а скорее согласование нескольких таких операций.
Восстановление
транзакции
Транзакция начинается с успешного выполнения оператора
BEGIN TRANSACTION и заканчивается успешным выполнением либо оператора COMMIT, либо ROLLBACK.
Оператор COMMIT устанавливает так называемую точку фиксации.
Свойства АСИД
Транзакции обладают четырьмя важными свойствами(АСИД):
Атомарность;
Согласованность;
Изоляция;
Долговечность.
Восстановление после отказов системы
Критической точкой в отказе системы является потеря содержимого оперативной памяти (в частности, рабочих буферов базы данных).
Время |
tc |
tf |
Тра T1 нза T2 кци T3 и T4
T5
Контрольная точка |
Отказ системы |
(время tc) |
(время tf) |
Параллелизм. Проблемы параллелизма
Термин параллелизм означает возможность одновременной обработки в СУБД многих транзакций с доступом к одним и тем же данным, причем в одно и то же время.
Основные проблемы, возникающие при параллельной обработке транзакций следующие:
проблема потери результатов обновления;
проблема незафиксированной зависимости;
проблема несовместимого анализа.
Проблема потери результатов обновления
Транзакция A |
Время |
Транзакция B |
Извлечение кортежа р |
t1 |
– |
– |
t2 |
Извлечение кортежа р |
Обновление кортежа р |
t3 |
– |
– |
t4 |
Обновление кортежа р |
Проблема незафиксированной зависимости
Транзакция A |
Время |
Транзакция B |
|
– |
t1 |
Обновление кортежа р |
|
Извлечение кортежа |
t2 |
– |
|
р |
|
|
|
– |
t3 |
Отмена |
выполнения |
|
|
транзакции |
|
Проблема несовместимого анализа
Транзакция A |
Время |
Транзакция B |
|
Извлечение кортежа СЧЕТ 1: |
t1 |
– |
|
СУММА = 40 |
|
|
|
Извлечение кортежа СЧЕТ 1: |
t2 |
– |
|
СУММА = 90 |
|
|
|
– |
t3 |
Извлечение кортежа СЧЕТ 3: |
|
– |
t4 |
Обновление кортежа СЧЕТ 3: |
|
|
|
30 20 |
|
– |
t5 |
Извлечение кортежа СЧЕТ 1: |
|
– |
t6 |
Обновление кортежа СЧЕТ 1: |
|
|
|
40 50 |
|
– |
t7 |
Завершение |
выполнения |
|
|
транзакции |
|
Извлечение кортежа СЧЕТ 3: |
t8 |
– |
|
СУММА = 110 (а не 120) |
|
|
|
Понятие блокировки
В случае, когда для выполнения некоторой транзакции необходимо, чтобы некоторый объект (кортеж) не изменялся непредсказуемо и без ведома этой транзакции, такой объект блокируется. Таким образом, эффект блокировки состоит в том, чтобы "заблокировать доступ к этому объекту со стороны других транзакций", а значит, предотвратить непредсказуемое изменение этого объекта.
