国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 信息時(shí)代 > 事務(wù)(數(shù)據(jù)庫(kù))

事務(wù)(數(shù)據(jù)庫(kù))

時(shí)間:2022-11-12 00:30:01 | 來(lái)源:信息時(shí)代

時(shí)間:2022-11-12 00:30:01 來(lái)源:信息時(shí)代

    事務(wù) : 為完成一項(xiàng)數(shù)據(jù)處理任務(wù)而執(zhí)行的一個(gè)數(shù)據(jù)庫(kù)操作序列。這些操作要么全部被執(zhí)行要么一個(gè)也沒有被執(zhí)行,是一個(gè)不可分割的工作單位,它的執(zhí)行能夠保證數(shù)據(jù)庫(kù)從一個(gè)正確的狀態(tài)轉(zhuǎn)移到另一個(gè)正確的狀態(tài)。具體地說(shuō),事務(wù)需要滿足以下四個(gè)方面的性質(zhì),稱之為事務(wù)的ACID性質(zhì)(ACID property):
(1)原子性(atomicity): 指系統(tǒng)必須保證事務(wù)中的全部操作要么全部正確地被執(zhí)行要么什么也沒有被執(zhí)行,也就是說(shuō),一個(gè)事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的操作是一個(gè)不可分割的操作序列。如果因?yàn)楣收隙故聞?wù)未能完成,在恢復(fù)時(shí)要消除其對(duì)數(shù)據(jù)庫(kù)已造成的影響。
(2)一致性(consistency): 指事務(wù)的執(zhí)行必須保持?jǐn)?shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)轉(zhuǎn)變到另一個(gè)一致性狀態(tài)。
(3) 隔離性(isolation): 指某個(gè)事務(wù)的執(zhí)行應(yīng)感覺不到其他事務(wù)的存在,也就是說(shuō),即使是在多個(gè)事務(wù)并發(fā)執(zhí)行、相互干擾的情況下,一個(gè)事務(wù)的執(zhí)行效果和只有該事務(wù)存在情況下的執(zhí)行效果是一樣的。
(4)持久性(durability): 指一旦事務(wù)提交成功,它對(duì)數(shù)據(jù)庫(kù)的改變必須是永久的,即使以后計(jì)算機(jī)或數(shù)據(jù)庫(kù)的存儲(chǔ)介質(zhì)發(fā)生故障,也不能消除事務(wù)的執(zhí)行效果。
事務(wù)的上述性質(zhì)中,原子性是最基本的。一致性是用于保障在操作數(shù)據(jù)庫(kù)后仍然能滿足事先定義的各種邏輯約束。隔離性是針對(duì)多個(gè)事務(wù)交叉執(zhí)行、相互干擾情況下對(duì)系統(tǒng)的并發(fā)控制要求。持久性是對(duì)各種系統(tǒng)故障發(fā)生時(shí)的要求。數(shù)據(jù)庫(kù)管理系統(tǒng)為了支持上述事務(wù)的概念,需要實(shí)現(xiàn)完整性檢查、并發(fā)控制、故障恢復(fù)等多個(gè)子系統(tǒng)或者功能模塊??梢?支持事務(wù)是現(xiàn)代數(shù)據(jù)庫(kù)管理系統(tǒng)最重要的特征。
在關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,事務(wù)就是一組SQL語(yǔ)句或者是一個(gè)包含SQL語(yǔ)句的程序。用戶可用以下3條語(yǔ)句來(lái)組織事務(wù):
BEGIN TRANSACTION
COMMIT
ROLLBACK
事務(wù)通常是以BEGIN TRANSACTION開始,以COMMIT或ROLLBACK結(jié)束。COMMIT表示提交,即提交事務(wù)的所有操作。具體地說(shuō),就是將事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的更新真正寫回到磁盤上的物理數(shù)據(jù)庫(kù)中去,事務(wù)正常結(jié)束。ROLLBACK表示回退,即在事務(wù)運(yùn)行的過(guò)程中發(fā)生了某種故障,事務(wù)不能繼續(xù)執(zhí)行,系統(tǒng)將事務(wù)中對(duì)數(shù)據(jù)庫(kù)的所有已完成的操作全部撤銷,回退到事務(wù)開始時(shí)的狀態(tài)。數(shù)據(jù)庫(kù)管理系統(tǒng)在用戶沒有明確定義事務(wù)的時(shí)候,按照其缺省的規(guī)定來(lái)分割事務(wù),通常是一條SQL語(yǔ)句作為一個(gè)完整的事務(wù)對(duì)待。
值得說(shuō)明的是,事務(wù)的ACID性質(zhì)是對(duì)事務(wù)的完整的要求。實(shí)際系統(tǒng)中,由于嚴(yán)格維持全部的四個(gè)特性代價(jià)太大,對(duì)數(shù)據(jù)庫(kù)系統(tǒng)整體的性能是一個(gè)巨大的壓力。因此,在具體實(shí)現(xiàn)時(shí)也有多種不同的選擇。例如,關(guān)于隔離性,嚴(yán)格的隔離性是以資源的獨(dú)占為代價(jià)的,無(wú)疑會(huì)大大降低系統(tǒng)的并發(fā)度和事務(wù)處理的性能,但是,有些應(yīng)用(比如統(tǒng)計(jì)全班同學(xué)的平均成績(jī)等數(shù)據(jù)分析型應(yīng)用)對(duì)于數(shù)據(jù)的隔離性要求可以降低一些,因此,許多商用數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)了多個(gè)隔離級(jí)別,用戶可以根據(jù)應(yīng)用的具體情況進(jìn)行選擇。SQL2語(yǔ)言提供事務(wù)的四種隔離性等級(jí)讓用戶選擇,這四個(gè)等級(jí)從高到低為:
(1)可串行化(serializable): 這是最高的等級(jí),也是缺省的定義。
(2)可重復(fù)讀(repeatable read): 只允許事務(wù)讀已提交的數(shù)據(jù),并且在兩次讀同一數(shù)據(jù)時(shí)不允許其他事務(wù)修改此數(shù)據(jù)。
(3)讀提交數(shù)據(jù)(read committed):只允許事務(wù)讀已提交的數(shù)據(jù),但未必要求“可重復(fù)讀”。例如,在事務(wù)兩次讀同一個(gè)數(shù)據(jù)時(shí),有可能值不一樣,即第二次讀數(shù)據(jù)時(shí)值已被其他已提交事務(wù)修改過(guò)。
(4)可以讀未提交數(shù)據(jù)(read uncommitted):允許事務(wù)讀已提交或未提交的數(shù)據(jù)。這是SQL2中最低的一個(gè)等級(jí)。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉