W Cat - SQL за 24 часа

Тут можно читать онлайн W Cat - SQL за 24 часа - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-db. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    SQL за 24 часа
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.5/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

W Cat - SQL за 24 часа краткое содержание

SQL за 24 часа - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)

SQL за 24 часа - читать книгу онлайн бесплатно, автор W Cat
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Команда ROLLBACK TO SAVEPOINT

Команда возврата к точке отката имеет следующий синтаксис.

ROLLBACK TO ИМЯ_ТОЧКИ_ОТКАТА;

В следующем примере мы сначала удалим оставшиеся три. записи из таблицы, но перед каждым удалением создадим по точке отката, чтобы иметь возможность вернуться к любой из них и вернуть соответствующие данные в их прежнее состояние. SAVEPOINT SPl;

Точка отката создана.

DELETE FROM PRODUCTSJTMP WHERE PROD.ZD - '11235';

1 строка удалена.

SAVEPOINT SP2;

Точка отката создана.

DELETE FROM PRODUCTS_TMP WHERE PROD_ID - '90';

1 строка удалена.

SAVEPOINT SP3;

Точка отката создана.

DELETE FROM PRODUCTSJTMP WHERE PROD_ID - '2345';

1 строка удалена.

Теперь после выполнения всех удалений вы имеете возможность передумать и вернуться, например, к точке отката, которую вы назвали SP2. Поскольку SP2 была создана после выполнения первого удаления, возврат к ней означает отмену двух последних удалений.

ROLLBACK SP2;

Отмена выполнена.

При откате к точке SP2 оказывается выполненным только первое удаление. SELECT * FROM PRODUCTS_TMP;

PROD_ID PROD_DESC COST

90 ФОНАРИ 14.5 2345 ПОЛОЧКА ИЗ ДУБА 59.99

2 строки выбраны.

Помните, что сама по себе команда ROLLBACK возвращает к состоянию, сложившемуся после применения последнего из операторов COMMIT или ROLLBACK. В нашем случае операторы COMMIT не применялись, поэтому будут отменены все удаления:

ROLLBACK;

Отмена выполнена.

SELECT * FROM PRODUCTS_TMP;

PPOD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

90 ФОНАРИ 14.5

2345 ПОЛОЧКА ИЗ ДУБА 59.99

3 строки выбраны.

Команда RELEASE SAVEPOINT

Команда RELEASE SAVEPOINT используется для удаления точек отката. После удаления точки отката у вас не будет возможности осуществить откат к этой точке с помощью КОМаНДЫ ROLLBACK.

RELEASE SAVEPOINT ИМЯ_ТОЧКИ_ОТКАТА;

Команда SET TRANSACTION

Команда SET TRANSACTION используется для инициализации транзакций. Эта команда используется для задания характеристик транзакций, следующих после нее. Так, можно потребовать, чтобы транзакции выполняли только чтение данных либо осуществляли и чтение, и запись. Например,

SET TRANSACTION READ WRITE; SET TRANSACTION READ ONLY;

Транзакциям можно назначить и другие характеристики, но их рассмотрение выходит за рамки этой книги. Дополнительную информацию вы найдете в документации той реализации SQL, которую используете.

Управление транзакциями и производительность базы данных

Недостаточный контроль за транзакциями может замедлить работу базы данных и даже совсем блокировать ее. Частое замедление работы базы данных может быть следствием недостаточного контроля за транзакциями при массовом вводе, обновлении или удалении данных. Эти процессы не только сами по себе требуют больших ресурсов процессора и памяти, но и вызывают заполнение области хранения временных данных, освобождающейся только в результате выполнения команд COMMIT И ROLLBACK.

В результате применения команды COMMIT результаты выполнения транзакций записываются в базу данных, а информация в области для временных данных, обеспечивающая возможность отмены, стирается. В случае использования команды

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

Резюме

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

Не забывайте достаточно часто использовать команды COMMIT и ROLLBACK при выполнении большого числа транзакций, чтобы не вызвать переполнения доступного базе данных пространства. Не забывайте также, что команды управления транзакциями используются только с командами DML (командами INSERT, UPDATE и DELETE).

Вопросы и ответы

Обязательно ли подтверждение после каждого использования командыINSERT?

Нет, не обязательно. Если вам требуется ввести в таблицу несколько сотен тысяч строк, то команду COMMIT рекомендуется использовать после ввода каждых 5000-10000 строк, в зависимости от размера области, предназначенной для хранения временных данных. Помните, что база данных не может работать, когда эта область переполнена.

Каким образом командаROLLBACK отменяет изменения, сделанные в результате транзакции?

Команда ROLLBACK удаляет информацию о сделанных изменениях из области с временными данными.

Допустим, при выполнении транзакции 99 % ее операторов завершились успешно, а 1 % вернули ошибки, имеется ли возможность отменить только эти ошибочные операторы?

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

КомандаCOMMIT делает транзакцию перманентной. Можно ли после этого изменить данные?

В данном случае перманентность означает внесение изменений в базу данных. У вас всегда имеется возможность внесения новых изменений в базу данных с помощью оператора UPDATE.

Практикум

Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе теку-

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

Тесты

1. Верно ли следующее утверждение: "Если вы подтвердили несколько транзакций а затем ввели еще несколько, не подтвердив их, то в результате применения команды ROLLBACK будут отменены вообще все^транзакции, выполненные в течение данного сеанса доступа к базе данных?"

2. Верно ли следующее утверждение: "Команда SAVEPOINT сохраняет транзакции после выполнения определенного количества транзакций?"

3. Кратко охарактеризуйте назначение команд COMMIT, ROLLBACK и SAVEPOINT.

Упражнения

1. Рассмотрите следующие транзакции и создайте точки отката после каждой третьей из них. После этого подтвердите все транзакции.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




SQL за 24 часа отзывы


Отзывы читателей о книге SQL за 24 часа, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x