Содержание
- 2. Ограничения целостности Констрейнты (CONSTRAINT) PRIMARY KEY NOT NULL UNIQUE INDEX FOREIGN KEY CHECK
- 3. Триггеры БД Триггер – специальный объект БД, представляющий собой программный код, который выполняется при наступлении определенных
- 4. Управление транзакциями Восстановление в системе баз данных означает, в первую очередь, восстановление самой базы данных, т.е.
- 5. Управление транзакциями Транзакция — это логическая единица работы; она начинается с выполнения операции BEGIN TRANSACTION и
- 6. Управление транзакциями
- 7. Управление транзакциями Итак, вполне очевидно, что в данном примере следует избегать такой ситуации, когда одно из
- 8. Управление транзакциями Компонент системы, который обеспечивает такую неразрывность (или подобие неразрывности), называется диспетчером транзакций (для его
- 9. Управление транзакциями Оператор COMMIT (Зафиксировать) сигнализирует об успешном окончании транзакции. Он сообщает диспетчеру транзакций, что логическая
- 10. Управление транзакциями Оператор ROLLBACK (Выполнить откат) сигнализирует о неудачном окончании транзакции. Он сообщает диспетчеру транзакций, что
- 11. Управление транзакциями Неявно заданный оператор ROLLBACK. В приведенном примере явно предусмотрено выполнение проверок на наличие ошибок
- 12. Управление транзакциями Журнал восстановления. На первый взгляд не всегда очевидно, как можно обеспечить отмену обновления. Ответ
- 13. Управление транзакциями В действительности на практике журнал состоит из двух частей — активной (или оперативной) части
- 14. Управление транзакциями Выполнение программы как последовательности транзакций. Необходимо обратить особое внимание на то, что операторы COMMIT
- 15. Управление транзакциями По определению база данных должна всегда находиться, по меньшей мере, в непротиворечивом состоянии. Под
- 16. Управление транзакциями Но одной непротиворечивости недостаточно; база данных должна отвечать требованиям допустимости, а не только непротиворечивости!
- 17. Управление транзакциями Можно подытожить материал этого раздела, сделав заключение, что транзакции обладают (или должны обладать!) четырьмя
- 18. Управление транзакциями Правильность. Транзакции преобразуют базу данных из одного правильного состояния в другое; при этом правильность
- 19. Управление транзакциями Изолированность. Иначе говоря, для любых отдельных транзакций А и В справедливо следующее утверждение: транзакция
- 20. Восстановление системы Локальные сбои – сбои в пределах определенной транзакции (рассмотрели восстановление – ROLLBACK); Глобальное нарушение
- 21. Восстановление системы Такие отказы подразделяются на две основные категории: Отказы системы (например, сбои в питании) воздействуют
- 22. Восстановление системы Критическим моментом в отказе системы является потеря содержимого основной (оперативной) памяти (в частности, буферов
- 23. Восстановление системы Возникает очевидный вопрос: как система определяет в процессе перезапуска, какую транзакцию следует отменить, а
- 24. Восстановление системы
- 25. Восстановление системы Отказ системы произошел в момент времени tf. ■ Ближайшая к моменту tf контрольная точка
- 26. Восстановление системы Отказы носителей — это нарушения наподобие поломки головок дискового накопителя или отказа контроллера дисков,
- 27. Восстановление системы Кроме того, в языке SQL поддерживаются точки сохранения (ручной режим). Приведенный ниже оператор создает
- 28. Параллельность Термин параллельность обозначает такое свойство СУБД, которое, как правило, позволяет одновременно обращаться с помощью многих
- 29. Параллельность По сути, возникают три основные ситуации, в которых могут происходить нарушения работы. Это такие ситуации,
- 30. Параллельность Ниже перечислены три возникающие проблемы параллельной работы транзакций. ■ Проблема потерянного обновления. ■ Проблема зависимости
- 31. Параллельность Проблема потерянного обновления Транзакция А выполняет выборку некоторого кортежа t в момент времени tl, транзакция
- 32. Параллельность Проблема незафиксированных результатов Проблема зависимости от незафиксированных результатов возникает, если одной транзакции разрешено выполнять выборку
- 33. Параллельность Проблема незафиксированных результатов В примере транзакция А получает доступ к незафиксированному обновлению (называемому также незафиксированным
- 34. Параллельность Проблема незафиксированных результатов Транзакция А становится не только зависимой от незафиксированного изменения в момент времени
- 35. Транзакция А подсчитывает остатки на счетах, а транзакция В переводит сумму 10 со счета 3 на
- 36. Механизм блокировок Указанные проблемы могут быть устранены с помощью механизма управления параллельным выполнением, называемого блокировкой. В
- 37. Механизм блокировок Обычно в СУБД поддерживаются блокировки двух типов: исключительные блокировки (блокировки X — exclusive) разделяемые
- 38. Механизм блокировок Если транзакция А владеет исключительной блокировкой (X), то запрос от некоторой другой транзакции В
- 39. Эти правила можно подытожить с помощью матрицы совместимости типов блокировок. Такая матрица интерпретируется следующим образом: рассмотрим
- 40. Механизм блокировок Описание протокола доступа к данным, или протокола блокировки,который позволяет использовать только что описанные блокировки
- 41. Механизм блокировок 3. Если запрос на блокировку от транзакции В не может быть немедленно удовлетворен из-за
- 42. Механизм блокировок При таких обстоятельствах обе транзакции не могут выполнять свои действия, поэтому проблема потери какого-либо
- 43. Механизм блокировок Решение проблемы зависимости от незафиксированного обновления:
- 45. Скачать презентацию