Database somo la 24: Transaction kwenye database
Katika somo hili utakwend akujifunza kuhusu nadharia ya transaction kwenye database
Transaction kwenye Database
1. Maana ya Transaction
Transaction ni seti ya shughuli zinazofanyika kwenye database ambazo zinapaswa kutekelezwa kama kitengo kimoja cha kazi. Hii inamaanisha kuwa shughuli zote ndani ya transaction zinapaswa kufanyika kikamilifu au kutofanyika kabisa ili kuhakikisha data inabaki katika hali thabiti.
Mfano wa transaction:
- Kuongeza pesa kwenye akaunti ya mtumiaji mmoja huku ukitoa pesa kwa mtumiaji mwingine.
- Kufanya malipo ya bidhaa huku ukisasisha hesabu ya bidhaa hizo kwenye stoo.
2. Kanuni za Transaction (ACID)
Transactions hufuata kanuni za ACID, ambazo zinahakikisha uadilifu wa data:
- Atomicity (Umoja): Shughuli zote ndani ya transaction zinapaswa kufanyika kikamilifu au kutofanyika kabisa. Ikiwa sehemu moja ya transaction inashindwa, shughuli yote itarudishwa nyuma.
- Consistency (Mlingano): Transaction inapaswa kubadilisha data kutoka hali moja thabiti kwenda hali nyingine thabiti.
- Isolation (Kutengwa): Transactions zinapaswa kutekelezwa bila kuingiliana, ili shughuli ya transaction moja isivuruge nyingine.
- Durability (Uimara): Mara transaction inapokamilika, mabadiliko ya data yanapaswa kuhifadhiwa hata kama kuna hitilafu kama kukatika kwa umeme.
3. Jinsi Transaction Inavyofanya Kazi
Transaction kawaida hufuata hatua zifuatazo:
- Kuanza: Transaction inaanza kwa kutumia amri ya
BEGIN TRANSACTION. - Kutekeleza: Maswali ya SQL kama
INSERT,UPDATE, naDELETEyanafanyika. - Kukamilisha: Transaction inathibitishwa kwa kutumia
COMMIT, ambayo huhifadhi mabadiliko kwenye database. - Kurudisha Nyuma: Ikiwa kuna hitilafu, mabadiliko yote hurudishwa nyuma kwa kutumia
ROLLBACK.
4. Amri za Transaction
a) BEGIN TRANSACTION
Hutangaza mwanzo wa transaction.
BEGIN TRANSACTION;
b) COMMIT
Huhifadhi mabadiliko yote yaliyofanyika ndani ya transaction.
COMMIT;
c) ROLLBACK
Hutengua mabadiliko yote yaliyofanyika ndani ya transaction ikiwa kuna hitilafu.
ROLLBACK;
5. Mfano wa Transaction
Mfano wa Kawaida
Kuongeza pesa kwenye akaunti ya mtumiaji mmoja na kutoa pesa kwa mwingine:
BEGIN TRANSACTION;
-- Toa pesa kutoka akaunti ya A
UPDATE Akaunti
SET salio = salio - 1000
WHERE akaunti_id = 1;
-- Ongeza pesa kwenye akaunti ya B
UPDATE Akaunti
SET salio = salio + 1000
WHERE akaunti_id = 2;
-- Hifadhi ma...Umeionaje Makala hii.. ?
Share On:
👉1 web hosting 👉2 Sira ya Mtume Muhammad (s.a.w) 👉3 Kitabu cha Afya 👉4 kitabu cha Simulizi 👉5 Bongolite - Game zone - Play free game 👉6 ai web app
Post zinazofanana:
SQL somo la 18: Jinsi ya kutengeneza function kwenye mysql database
Wakati mwingne utahitaji kuwa na function ili kurahisisha uchakataji wa data nyingi bila ya kurudia rudia kuandika code.
Soma Zaidi...SQL somo la 14: Jinsi ya kutafuta rank na position kwa kutumia sql
Katika somo hili utakwend akujifunza jinsi ya kutafuta rank ama position kwenye data base yako kwa kutumia sql. Pia utajifunza kuhusu table alias
Soma Zaidi...SQL - MySQL somo la 10: Kupangilia muonekano wa data wakati wa kuzisoma kwenyed database
Katika somo hili utakwenda kujifunza jinsi ya kusoma data kutoka kwenye database katika mitindo mbalimbali kama kutoka kubwa kwenda ndogo, ama ndogo kwenda kubwa na mingineyo.
Soma Zaidi...SQL - MySQL somo la 12: Jinsi ya kutafuta wastani, jumla na idadi kwenye database
Katika somo hili utakwenda kujifunza jinsi ya kufanya mahesabu mbalimbali kwenye database. Kwa mfano kutafuta jumla, idadi na wastani
Soma Zaidi...Database somo la 22: Primary Key na Foreign Key
Katika somo hili utakwend akujifunza kuhusu Primary Key na Foreign Key
Soma Zaidi...SQL -MySQL somo la 5: Aina za data zinazotumika kwenye Mysql Database
Katika somo hili utakwenda kujifunza aina mbalimbali za data zinazotumika kwenye mysql database
Soma Zaidi...