PDA

View Full Version : Soalan berkenaan Database..help!!


mattroxxx
20-08-03, 01:59 PM
:salam:
aritu saya ada pegi interview. Ada satu soalan dia tanya begini.

Situasinya di sebuah mesin ATM. Ali telah memasukkan kad, memilih utk mengeluarkan wang sebanyak rm1000. Katakan dlm akaun Ali ada rm1500 keseluruhannya.
Setelah wang tersebut keluar, kad pun keluar, tiba2 takde bekalan elektrik.

Soalannya, :::
1. adakah database ATM tersebut update data2 transaksi yg dilakukan oleh Ali?
2. dlm masa yg sama, Ali telah ke rangkaian MEPS lain utk mengeluarkan baki yg ada iaitu rm500. Bagaimana database boleh mengatasi masalah yg berlaku supaya Ali tidak mengeluarkan wangnya lebih dr baki yg sedia ada? (How to make sure that Ali did not over withdrawal the money that he have?)

sekian, wassalam. :D

awanferra
20-08-03, 04:20 PM
kalau bank yg sama, kemungkinan data tu boleh di recover immediately.. kalau meps, mungkin mengambil masa yg lama..
tapi dont worry.. duit tu tak hilang... kemungkinan selepas ali keluarkan 500, baki dlm bank adalah 0. tapi dia akan dapat balik duit 1000 tu nanti...

C-Fumofufu
20-08-03, 07:20 PM
tak salah ako semua transaksi akan diupdate ke database utama dalam time slice. or ape tah terma die, tak ingat. kire cam lepas 2 jam ke baru die updatekan. tapi tak semudah tu la, kalo senang camtu orang leh tarik duit dari bank ni pastu dari bank lain dan lagi dan lagi sampai lebeh dari bilangan yagn ade dalam akaun.

mattroxxx
21-08-03, 12:16 PM
Kiriman asal oleh awanferra
kalau bank yg sama, kemungkinan data tu boleh di recover immediately.. kalau meps, mungkin mengambil masa yg lama..
tapi dont worry.. duit tu tak hilang... kemungkinan selepas ali keluarkan 500, baki dlm bank adalah 0. tapi dia akan dapat balik duit 1000 tu nanti...

let's say, on the same time,
bini Ali, Fatimah buat satu transaksi melalui Internet Banking cthnya cam Maybank2u.com

katakan dia nak transfer rm1000 ke akaun lain..

camne tu?? apa proses dlm database yg terlibat??:::

senyumsokmo
21-08-03, 12:24 PM
bagus soalan tu....boleh lah kongsi ilmu...

awanferra
21-08-03, 03:43 PM
dalam bank database, diorang akan implement row locking..
waktu row tu digunakan, takde orang lain boleh update row tu..
ada banyak type lock, exclusive, read, write.. bla bla bla...

belatuk
21-08-03, 05:04 PM
dpd apa yg aku tau... kalau kad dah keluar tu maknanya transaksi dah complete... so rekod transaksi tu sepatutnya dah disimpan dlm database...

tapi aku tak pasti sistem atm skrg ni macam mana.. sama ada proses update tu dibuat secara real time ataupun batch.. tapi kalau tgk caranya mcm real time.. bab ni kena tanya la org2 yg terlibat develop sistem atm bank... :)

mattroxxx
21-08-03, 05:14 PM
ok guys...thank a lot...

setelah buat revision sket...meh aku terangkan..

Dalam SQL ada 2 function yg agak penting iaitu COMMIT
dan ROLLBACK. Bilamana semua condition di check dan
OK, COMMIT akan berfungsi kalau sebaliknya ROLLBACK
akan berfungsi. Dalam kes ATM ni, bilamana nilai
pengeluaran direkodkan dan baki ditolak, duit keluar,
so COMMIT akan berfungsi. Jadi kalau pergi ke mana2
MEPS selepas tu akan dapat baki terkini. Tapi kalau
semasa pertengahan proses ada interrupt, ROLLBACK akan
dijalankan...kiranya proses jadi tak lengkap la..

betulkan kalo aku salah, geng! terima kasih semua...:D

izafarid
21-08-03, 05:26 PM
bagi sistem yang sensitif dan mempunyai transaksi yang kritikal (seperti urusan perbankan), locking management perlu dilaksanakan. column locking, row locking, table locking, database locking.
Locking nie pun bukan senang nak buat, jenis pun banyak, kena monitor betul-betul silap gaya bleh dead-lock, bila dead-lock... err... err... tak ingat dahlah kuliah 3 tahun lepas :)

|enn0n
21-08-03, 05:29 PM
izafarid... dead-lock tuh macam rambut bob marley tuh ke..? yang pesen rambut bebudak skang duk buat tuh...

kambinggila
15-10-03, 05:02 PM
hehe jangan risau... atm machine tu kalau dah keluarkan kad.. secara sah duit anda dah di tolak..

macam ni.. ni sistem kat bank aku... masa ko withdraw jer duit ko.. data akan di simpan dalam satu online table untuk reference sistem bank sendiri ataupon meps.. nak ikutkan meps dia ada pengantara untuk access baki akaun customer bank lain..

macam matroxx cakap memang kita ada commit atau rollback funciton.. tapi depends sesetengah sistem dia ada auto reversal function.. so apa apa problem dia akan revert sendiri :) nak secara detail tanya orang maintain atm :)