Студопедия

КАТЕГОРИИ:


Архитектура-(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

Операции работы с множеством.

В SQL оператор select позволяет выполнять операции объединения, пересечения, разности. Для объединения двух отношений используется ключевое слово union. Если требуется объединить отношение R1 и R2, то оператор будет выглядеть так:

(select*from R1) union

(select*from R2)

Операция пересечения в SQL обозначается ключевым словом intersect.

Для операций разности используется ключевое слово except.

Модификация содержимого БД связана со вставкой, обновлением и удалением. Оператор вставки Insert добавляет новые строки в таблицу. Оператор обновления Update модифицирует 1 или несколько атрибутов определённых строк таблицы. Оператор удаления Delete удаляет 1 или несколько строк из таблицы. Чтобы вставить строку в таблицу, необходимо задать значения атрибутов этой таблицы. Оператор Insert выглядит следующим образом:

Insert in to <имя таблицы>

values (указываются значения, которые следуют в том же порядке, что и имена атрибутов в таблице).

Если тип данных текстовый или символьный, то значение атрибута указывается в апострофах. Если при добавлении новой строки пользователь задаёт значения не всех атрибутов таблицы или желает изменить порядок ввода значения атрибутов, то в скобках после имени таблицы указываются имена атрибутов, а в скобках после ключевого слова values - их соответствующие значения. Каждый из пропущенных атрибутов получает своё значение по умолчанию.

Оператор обновления изменяет 1 или несколько строк таблицы. Состоит из 3-х предложений.

Update <имя таблицы>

set <атрибут = значение>

where <условие отбора>

Update определяет какую таблицу обновлять, set содержит 1 или более аргументов (через запятую), определяющих какие атрибуты обновлять и какими будут их новые значения. Where служит для определения строк, в которых будут проводиться изменения. Если предложение Where отсутствует, то изменяться будут значения атрибутов во всех строках. Выражение в правой части присваивания может быть сложным и даже содержать вложенные операторы select.

В нём указывается имя таблицы и условие отбора.

Delete from <имя таблицы>

<условие отбора>

Удаляются те строки таблицы, которые удовлетворяют условию.

Тран-я, или атомарная тран-я, — это логический модуль, действия кото­рого должны быть выполнены полностью или не выполнены вовсе. Понятие атомар­ность заимствовано из физики и имеет тот же смысл: единица (модуль), которая не может быть разбита на меньшие составляющие.

Тран-я — это также и декларативная единица, т.е. разработчик прил декларирует некоторую совокупность действий БД как транзакцию. Прил будет выполнять эти действия как модуль. Если при выполнении данной совокупности действий возникают какие-либо проблемы, должны быть отменены все созданные этими действиями изменения и восстановлено предвари­тельное состояние.

Все операции доступа к базам данных и особенно все модификации БД должны выполняться как часть тран-ии. Прил подключается к серверу БД и обращается с запросом на создание (открытие) новой тран-ии. Серии запросов и обновлений выполняются прилм в пределах открытой тран-ии. Затем прил может выполнить фиксацию (commit) тран-ии, тем самым признавая окончательными все обновления, или же вы­полнить откат (rollback) тран-ии, тем самым отменяя все обновления и воз­вращая базу данных в исходное состояние. Промежуточных состояний нет. Или все обновления фиксируются в базе данных, или же состояние БД не подвергается воздействию тран-ии вообще. После того как тран-я закры­та, вследствие операции фиксации или отката, для последующего доступа к базе данных прил должно открыть новую транзакцию.

В теории и практике БД определяются четыре важнейших свойства тран-ий, сокращенно именуемых ACID (аббревиатура от английского названия свойств: атомарность, согласованность, изолированность и продолжительность).

• Атомарность (atomicity). Или все обновления тран-ии происходят успешно, или же никаких обновлений не происходит вовсе.

• Согласованность (consistency). Каждая тран-я должна оставлять базу данных в согласованном состоянии. Свойства, подобные ссылочной целостности, не должны нарушаться.

• Изолированность (isolation). При параллельном выполнении нескольких тран-ий результат выполнения каждой из тран-ий должен быть тем же, что и при ее отдельном выполнении.

• Продолжительность (durability). После успешного завершения тран-ии про­изведенные ею в базе данных изменения должны становиться перманентными. Даже серьезные сбои не должны нарушать перманентность тран-ии.

Большинство систем с СУБД поддерживают широкий набор типов тран-ий. Например, Oracle работает с тран-ями запроса, обновления, вставки и удаления.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 404; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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