事務(wù)由在數(shù)據(jù)庫中執(zhí)行的一系列命令組成。事務(wù)中的每個(gè)命令都是原子的,即它不能進(jìn)一步拆分為子命令。事務(wù)中的任何命令可能會(huì)也可能不會(huì)更改數(shù)據(jù)庫的結(jié)構(gòu)。而且,事務(wù)所需的更改必須一起進(jìn)行。如果不執(zhí)行此規(guī)則,則在系統(tǒng)故障、斷電或其他原因時(shí),數(shù)據(jù)可能會(huì)丟失。
一個(gè)簡單的事務(wù)示例如下 –
Harry 需要將 100 盧比從他的賬戶轉(zhuǎn)入 Sally 的賬戶。這是作為交易完成的。首先,Harry 的賬戶詳細(xì)信息被讀取,他的余額減少了 100。這些新數(shù)據(jù)被保存回 Harry 的賬戶中。接下來,Sally 的帳戶詳細(xì)信息被讀取,她的余額增加了 100。這些新數(shù)據(jù)被保存回 Sally 的帳戶中。
但是,在數(shù)據(jù)庫中實(shí)現(xiàn)事務(wù)很復(fù)雜。在上面的例子中,如果從 Harry 的賬戶中提取資金后系統(tǒng)崩潰,這筆錢將永遠(yuǎn)不會(huì)添加到 Sally 的賬戶中。因此,信息會(huì)丟失,Sally 的帳戶永遠(yuǎn)不會(huì)更新。
事務(wù)處理流程
事務(wù)由一系列讀寫操作組成。這些用于讀取任何對象的當(dāng)前值,并寫回經(jīng)過一些計(jì)算后獲得的更新值。
讀取操作
要讀取任何數(shù)據(jù)庫對象,首先將其帶入從磁盤存入主存。之后,其值被復(fù)制到所需的變量中。
寫入操作
寫入任何數(shù)據(jù)庫對象,都會(huì)保存內(nèi)存中的值然后存儲(chǔ)回磁盤。
以上就是數(shù)據(jù)庫中事務(wù)的定義的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!