ОСОБЛИВОСТІ РЕАЛІЗАЦІЇ SQL ТРАНЗАКЦІЙ ЗА ДОПОМОГОЮ JDBC
16.11.2022 02:18
[1. Інформаційні системи і технології]
Автор: Афанасьєва Анна Миколаївна, студентка, Харківський національний університет радіоелектроніки, м. Харків
Кожен день кожен з нас виконує функції. Організм виконує функції підтримання життя в нашому тілі, ми ж виконуємо функції, необхідні для нас. Наприклад, вживаємо їжу або працюємо. Деякі з цих функцій мають виконуватися в певній послідовності. Наприклад, якщо ми взяли зубну щітку в руки, то маємо далі нанести зубну пасту на неї і т.д. Так само працюють і транзакції в базах даних. Ми маємо або виконати певну послідовність запитів, або повернути все в початковий стан.
Розглянемо ситуацію, коли в нас є організована схема бази даних університету. Один із студентів факультету А написав заяву на переведення на факультет Б. То нам треба зробити декілька кроків:
• змінити назву деканату;
• змінити назву групи;
• змінити предмети, які вивчає студент.
А що станеться, як ми змінимо тільки назву деканату? Тут постає очевидним факт, що студент буде втрачений, бо деканат в нього новий, а група і предмети старі. В такому випадку обовʼязково треба використовувати транзакції, вони гарантують, що або всі операції будуть виконані, або жодна з них. Тобто. В разі помилки ми отримаємо не втраченого студента, а просто студент залишиться на обліку в деканаті А.
Транзакції в базах даних за допомогою JDBC можна закривати з 2-ма флагами: commit, rollback. Сommit застосовує зміни, які відбулися(навіть якщо не виконані всі запити), а rollback при помилці поверне все в початковий стан, наче запитів і не було.
При створенні транзакцій дотримуються 4 валстивості:
• атомарність( запис в базу всіх даних, або нічого);
• узгодженість(кожен запит має переводити базу даних з одного узгодженого стану в інший)
• ізольованість(кожна транзакція виконується незалежно від інших, вони не можуть впливати один на одну)
• довговічність(результати завершеної транзакції мають зберігатися в базі і не мають бути загубленими)
Отже, були розглянуті особливості організації і реалізації транзакцій баз даних за допомогою JDBC. Для подальших досліджень пропонується розглянути використання транзакцій в багатопоточному середовищі, а також розглянути субтранзакції.
Література
1. Hunko M.A., Tkachov V.M. Development of a module for sorting the ipaddresses of user nodes in cloud firewall protection of web resourсes. Дев’ята міжнародна науково-технічна конференція «Сучасні напрями розвитку інформаційнокомунікаційних технологій та засобів управління». 2019. С. 30.
2. Tkachov V. Technology of Load Balancing in Anonymous Network Based on Proxy Nodes Cascade Platform / V. Tkachov, M. Hunko, M. Bondarenko, S. Artyomov // Четверта міжнародна науково-технічна конференція «Комп’ютерні та інформаційні системи і технології». Збірка наукових праць. Харків: ХНУРЕ. – 2020. – С. 82.
3. Tkachov V. Principles of Constructing an Overlay Network Based on Cellular Communication Systems for Secure Control of Intelligent Mobile Objects / Vitalii Tkachov, Andriy Kovalenko, Mykhailo Hunko and Kateryna Hvozdetska // Информационные технологии и безопасность. Материалы XIX Международной научно-практической конференции ИТБ-2020. – К.: ООО «Инжиниринг», 2020.
4. Гунько М. А. Розробка моделі інтелектуальної мобільної системи для своєчасного запобігання механічних перешкод / М. А. Гунько // «Інформаційне суспільство: технологічні, економічні та технічні аспекти становлення (випуск 49)» : матеріали Міжнар. наук. Інтернет-конф., 10 червня 2020 р. – Тернопіль, 2020. – С. 7–8.
5. Krivoulya G. Implementation of mobile eye tracking systems for preventing emergency situations based on monitoring of driver behavior / Krivoulya G., Tokariev V., Tkachov V., Hunko M // Проблеми інформатизації : тези доп. 7-ї міжнар. наук.-техн. конф., 13-15 листопада 2019 р., м. Черкаси, м. Харків, м. Баку, м. Бельсько-Бяла : [у 3 т.]. Т. 3 / Черк. держ. технолог. ун-т [та ін.]. – Харків, 2019. – С. 36.