русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Согласованность (целостность)


Дата добавления: 2015-07-09; просмотров: 545; Нарушение авторских прав


Транзакция переводит базу данных из одного согласованного (целостного) состояния в другое, также целостное. В ходе выполнения транзакции база данных может временно пребывать в нецелостном состоянии.

Очень многие правила целостности базы данных таковы, что их просто невозможно не нарушить, выполнив только одну команду SQL. Такие команды объединяют в единую транзакцию, результатом которой является новое целостное состояние БД. В крайнем случае, если транзакция не сумеет довести БД до конечного целостного состояния, она вернется к начальному, также целостному, состоянию.

Поясним это свойство на примере. Рассмотрим процесс удаления студента из нашей демонстрационной базы данных с перенесением данных о студенте и всех его оценках в архивную базу данных. В предыдущей лекции были рассмотрены триггеры для выполнения переноса в архив всех строк таблицы оценок marks, относящихся к данному студенту и строки с данными о самом студенте. Схематически процесс удаления строки из таблицы students со всеми сопутствующими действиями показан на рис.5.1.

 

Рис. 5.1 – Процесс удаления строки из таблицы students

Он состоит из четырех команд SQL, выполняемых последовательно, причем все промежуточные состояния базы данных после выполнения отдельных команд являются несогласованными. При возникновении любой внештатной ситуации (допустим, пользователь не имеет привилегий на выполнение какой-либо одной из операций или на архивные таблицы наложены какие-либо дополнительные ограничения) будет автоматически выполнен откат в иходное состояние.

Наконец, после выполнения последнего удаления система снова окажется в согласованном состоянии. Но и в этот момент еще возможен откат в исходное состояние, на этот раз по команде ROLLBACK, которая уже инициируется пользователем, а не сервером. Откат станет невозможным только после выполнения команды фиксации транзакции COMMIT. Любая из этих двух команд тем или иным образом, но завершает транзакцию.



<== предыдущая лекция | следующая лекция ==>
Аудит объектов | Поддержка транзакций в языке SQL


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.43 сек.