O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
AMALIY ISH
Guruh: DBM001-2
Fan nomi: Ma’lumotlar bazasini boshqarish
Bajardi: Ramazonov Shamshod
Tekshirdi: Gaipnazarov Rustam
Toshkent 2023
Reja:
Tranzaksiya nima?
Tranzaksiyaga misol.
Tranzaksiyadan foydalanish.
PostgreSQL'da "tranzaksiya" ma'lumotlar bazasida bir yoki bir nechta amallarni bitta bo'lib bajarish uchun yaratilgan dasturiy vosita. Tranzaksiyalar ma'lumotlar bazasining ishlashini boshqarishda integritet va xavfsizlikni ta'minlash uchun muhimdir.
Tranzaksiya, bitta yoki bir nechta SQL so'rovlarini o'z ichiga oladi va ularni bir vaqtning o'zida bajaradi. Agar barcha so'rovlardan biri ham muvaffaqiyatli bajarilgan bo'lsa, tranzaksiya "commit" (tasdiqlash) bilan tugaydi. Aks holda, "rollback" (qaytarish) amaliyoti orqali barcha o'zgarishlar bekor qilinadi va tranzaksiya bekor qilinadi.
Tranzaksiyalar quyidagi muhim xususiyatlarga ega:
ACID O'zgaruvchanligi (Atomicity): Tranzaksiyada barcha operatsiyalar yoki hech narsa bajarilmaydi. Agar bitta operatsiya muvaffaqiyatli bajarilmagan bo'lsa, tranzaksiya barcha o'zgarishlarni bekor qiladi.
Xavfsizlik (Consistency): Tranzaksiyada barcha o'zgarishlar ma'lumotlar bazasini ma'lum bir tilga o'tkazadi. Tranzaksiya natijasida ma'lumotlar bazasi ma'lum bir to'g'ridan-to'g'ri holatda bo'lishi kerak.
Islohot (Isolation): Bitta tranzaksiya bajarilayotgan vaqtida boshqa tranzaksiyalardagi o'zgarishlardan tashqari o'zgartirilgan ma'lumotlarni ko'rish mumkin emas.
Tasdiqlash (Durability): Tranzaksiya tasdiqlanganidan so'ng, barcha o'zgarishlar ma'lumotlar bazasida saqlanadi va doimiy ravishda muhafaza qilinadi.
Tranzaksiyalar quyidagi so'zlar orqali boshlanadi va tugayadi:
BEGIN;
UPDATE users SET balance = balance - 100 WHERE id = 1;
UPDATE users SET balance = balance + 100 WHERE id = 2;
COMMIT;
Bu misolda, tranzaksiya boshlanadi, ikkita h
isob-kitobni yangilaydi va agar barcha o'zgarishlar muvaffaqiyatli bo'lsa, tranzaksiya tasdiqlanadi (COMMIT). Agar biror bir o'zgarish xato ro'y berib, tranzaksiya bekor qilinadi (ROLLBACK).
Xulosa:
Biz bu amaliy ishda tranzaksiya yaratdik va uni ishlatib ko’rdik. Tranzaksiyani vazifasi bazadagi users jadvaliga qo’shilgan foydalanuvchilarning id si 2 ga teng bo’lgan foydalanuvchini balansini 100 ga oshirib qo’ydik. Shunday qilib tranzaksiyamiz COMMIT qaytardi va amaliyotimiz bajarildi.
Foydalanilgan adabiyotlar:
PostgreSQL rasmiy sayti: https://www.postgresql.org/
“Amaliy PostgreSQL” kitobi, Jon Uorsli, Joshua D. Dreyk
3. PostgreSQL hujjatlari: https://www.postgresql.org/docs/
4. Postgresql Vikipediyada: https://ru.wikipedia.org/wiki/PostgreSQL
5. Habr veb-saytidagi "PostgreSQL-ga kirish" maqolasi: https://habr.com/ru/post/206900/
Dostları ilə paylaş: |