Транзакции | Основы SQL
Vložit
- čas přidán 9. 07. 2024
- Лекция по транзакциям в базах данных. Страница курса - www.asozykin.ru/courses/sql
Поддержать курс можно через сервис Cloudtips - pay.cloudtips.ru/p/45a4055b
Заранее спасибо за помощь!
VK - avsozykin
telegram - t.me/a_sozykin
Мой сайт - www.asozykin.ru
00:00 - Выполнение последовательности команд SQL
01:14 - Причины проблем в выполнении команд SQL
02:26 - Транзакции
03:32 - Фиксация и откат транзакций: COMMIT и ROLLBACK
05:00 - Завершение транзакций
06:05 - Итоги
Инструкция по созданию демонстрационной базы данных, которая используется в курсе - www.asozykin.ru/posts/demo_da...
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках - / andreysozykincs - Věda a technologie
ОТЛИЧНАЯ ПОДАЧА МАТЕРИАЛА
АВТОР, ПРИЯТНЫЙ ЧЕЛОВЕК!
Спасибо за урок. Ещё полезно знать что есть команда savepoint. Это точка на которой мы хотим зафиксироваться в момент выполнения транзакции, и если мы потом сделаем rollback то откатимся именно к savepoint-у иногда это важно. И ещё полезно погуглить про ACID.
Спасибо большое! Очень доходчиво и понятно!
Отличное объяснение концепции!
Благодарю! Применяю в работе тестировщика! :)
Супер большое спасибо за материал
спасибо...доволен, что подписался на Ваш канал: ликбез на высочайшем уровне!
Пожалуйста! Рад, что нравится!
Спасибо за лекции и проделанную работу.
Пожалуйста!
Очень понятно, спасибо.
Смотрю уже второй ваш курс. Подача информации - лучшее, что я видела на отечетсвенном ютубе. Надеюсь, будут еще какие-нибудь актуальные для меня курсы в будущем!
Спасибо за приятный отзыв! Есть ли пожелания по темам курсов?
@@AndreySozykin кубернетис, докеры, Linux.
это лучшее в сети на эту тему
Вот это очень круто! Спасибо! Продолжайте пожалуйста!
Спасибо!
@@AndreySozykin спасибо вам!
Великолепно!
Спасибо!
Спасибо огромное,ты спас на одну дипломную работу больше! Желаю удачи!
Очень рад. Что за тема и какой университет?
@@AndreySozykin Колледж, а тема разработка "Электронной библиотеки"
Спасибо за урок!
Пожалуйста!
СПАСИБО!!!
Очень понятно.
Спасибо!
Спасибо!
Пожалуйста!
Спасибо за SQL
давно нужно было подключить Cloudtips )
Пожалуйста! Про Cloudtips я недавно узнал 😟😟😟
Спасибо
Спасибо. Хорошо бы еще небольшой практикум по выборкам из SQL через библиотеки Python или JS. SQL тема огромная. Я так понимаю, view-шки, триггреры и индексы еще впереди. Спасибо за Ваш труд.
Практикум по SQL на Python могу сделать. JS, к сожалению, не знаю совершенно, поэтому не получится. Ещё планирую записывать решение разных задачек, начать хочу с leetcode.
По тематикам: видео про индексы уже сделал - czcams.com/video/C34HS5wU8Zg/video.html. Ещё будут видео по ограничениям и представлениям. По триггерам пока не планирую записывать, на мой взгляд это не начальный уровень.
@@AndreySozykin Спасибо огромное, за Ваш Труд.
@@AndreySozykin
да, не начальный, но с другой стороны триггеры и курсоры - это тоже не бог весть что:)) Да ещё и в Вашем исполнении☝🏼 - объяснили бы суть, показали несколько ходовых примеров - это уже будет огромным трамплином для незнающих. После введения от вас можно будет смело идти в доки за деталями. А вот если сразу в доки без Вашего введения - это будет очень сложно людям.
Вы очень хорошо передаете суть сущностей.
Андрей, добрый день! Спасибо за курс! Хотелось бы увидеть от Вас разбор UNION и VIEW, планируете ли записывать?
По VIEW точно буду делать, по UNION ещё не решил. Мне кажется, что UNION достаточно редко используется.
@@AndreySozykin товарищ сказал, что в работе использует в основном JOIN, VIEW и UNION. Возможно он ошибся)
@@AndreySozykin а по USING будет?
Спасибо большое за лекции - отлично заходят, всем вокруг советую!
Хотелось бы услышать про SAVEPOINT и о том сколько команд можно впихнуть в транзакцию и какие команды необратимы. Шикарно бы ещё узнать как это под капотом работает - там какая-то доп. структура данных хранит состояние для отката или как оно вообще?)) А по производительности сильно бьет злоупотребление транзакциями?
На производительность влияют длинные Транзакции. Если таких не делать, то все будет хорошо.
Устройство под капотом сильно зависит от системы управления базой данных. И такой материал больше подходит для курса по архитектуре баз данных, а не SQL.
@@AndreySozykin спасибо!
По устройству согласен. Я просто сперва задал вопрос, а потом посмотрел первое видео - о целях курса)) В этих целях лекции шикарны🤘
А как понять что что-то пошло не так? Как понять что ставить в итоге commit или rollback?
В языках программирования есть обработка исключений, как вариант в try пишем запрос а в catch блоке уже отказываемся, если есть какая-нибудь ошибка)
start transaction? это oracle?
Пример на троечку. Для транзакции достаточно одного запроса. Я уж молчу о том что вполне достаточно ограничиться триггером
Спасибо за курс. Немного только режет слух уменьшить и увеличить счет в некоем банке. Правильно списать деньги с одного клиента и зачислить деньги на счет другого клиента, при условии конечно, что оба клиента обслуживаются в одном банке.
Списать и зачислить - это терминология банка. Для базы данных чаще всего используют обычные математические термины.
@@AndreySozykin Ясно
чем вам автоккомит мешает ? 80% запросов в базу, однозапросные и требование на доп команду коммит после каждого запроса - избыточно.
если же разработчик с головой и понимает, что несколько запросов надо объединить в одну транзакцию, то нет проблем. begin transaction и автокоммиты идут лесом.
Для большинства случаев автокоммит вполне подойдёт. Я как раз сказал, что отключать его нужно только для серьезных действий, когда возможна потеря данных.
Вы пишете про разработчика с головой, но мой курс для начинающих, которым как раз нужно объяснять именно такие базовые вещи.
@@AndreySozykin видимо не так вас понял, сам редко когда сейчас могу покодить, вот освежаю знания благодаря вашем видео )
разработчик всегда должен быть с головой. не поверите, сталкивался с противоположным случаем, автоккомит отключен и ой, а чего у нас данные в базе старые.... )
Я начинал с Oracle, поэтому для мена автокоммит в Postgres был большой неожиданностью. Возможно, я просто привык что Транзакции нужно явно коммитить, чтобы данные записались, и это кажется мне максимально естественным.
ни одна команда не завершает транзакцию неявно - субд просто не позволит запустить такие команды внутри транзакции и выплюнет ошибку.