Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введение в язык SQL

Транзакции

Как уже отмечалось, транзакция – логическая единица работы, обычно включающая несколько операций над базой данных. Для пользователя должна иметься возможность указать системе, что отдельные операции являются частью одной транзакции. Для этого используются операции BEGIN TRANSACTION, COMMIT и ROLLBACK. Как правило, транзакция начинается при выполнении операции BEGIN TRANSACTION и прекращается при выполнении операции COMMIT или ROLLBACK.

BEGIN TRANSACTION /* Перевести деньги со счета A на счет B */

UPDATE account A /* Снятие денег со счета A */

UPDATE account B /* Помещение денег на счет B */

IF <проверка условия> THEN

COMMIT; /* Нормальное завершение */

ELSE ROLLBACK /* Аварийное завершение (откат) */

ENDIF

Свойства транзакций:

§ Атомарность – гарантия (с логической точки зрения), что операции будут выполнены полностью или не выполнены вовсе, даже если в системе до окончания процесса выполнения произойдет сбой.

§ Продолжительность – гарантия того, что если транзакция успешно выполнила оператор COMMIT, то все выполненные ею изменения будут реализованы в БД, даже если в системе в какой-то момент произойдет сбой.

§ Изолированность. Если в системе выполняется одновременно несколько транзакций, то все изменения, сделанные одной из них, не будут видны остальным, пока она не выполнит оператор COMMIT.

§ Упорядоченность. При параллельном выполнении нескольких транзакций, операции которых чередуются между собой, гарантируется, что осуществление этих операций будет упорядоченным (serializable), т.е. результат будет таким же, как при строго последовательном выполнении этих же транзакций в произвольном порядке.

SQL (Structured Query Language) является стандартным языком работы с реляционными базами данных и в настоящее время поддерживается практически всеми продуктами, представленными на рынке. Он был разработан в компании IBM Research в начале 1970-х годов. Первой серьезной реализацией этого языка был продукт-прототип System R компании IBM; впоследствии он был реализован в многочисленных коммерческих продуктах компании IBM, так и других изготовителей. В 1992 году вышел стандарт SQL/92, а в 1999 году – SQL3 (или SQL/99).

Необходимо отметить несколько его особенностей:

§ Язык SQL первоначально разрабатывался конкретно как подъязык данных, однако впоследствии в стандарт были включены постоянные хранимые модули (Persistent Stored Modules – PSM), после чего язык стал полностью вычислительным.

§ В языке SQL вместо терминов «отношение» и «переменная-отношение» используется термин «таблица», так как именно он закреплен в стандарте.

§ Язык SQL – язык очень большого объема. Документ по его стандарту содержит свыше 1000 страниц. Поэтому в этом курсе будут рассмотрены лишь некоторые самые важные его аспекты.

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

<== предыдущая лекция | следующая лекция ==>
Базовые переменные отношения и представления | Обзор языка SQL
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 256; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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