㈠ 資料庫事務操作
資料庫事務(Database Transaction) ,是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。
原子性(Atomic)(Atomicity) 事務必須是原子工作單元;對於其數據修改,要麼全都執行,要麼全都不執行。通常,與某個事務關聯的操作具有共同的目標,並且是相互依賴的。如果系統只執行這些操作的一個子集,則可能會破壞事務的總體目標。原子性消除了系統處理操作子集的可能性。
一致性(Consistent)(Consistency) 事務在完成時,必須使所有的數據都保持一致狀態。在相關資料庫中,所有規則都必須應用於事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如 B 樹索引或雙向鏈表)都必須是正確的。某些維護一致性的責任由應用程序開發人員承擔,他們必須確保應用程序已強制所有已知的完整性約束。如,當開發用於轉賬的應用程序時,應避免在轉賬過程中任意移動小數點。隔離性(Insulation)(Isolation) 由並發事務所作的修改必須與任何其它並發事務所作的修改隔離。事務查看數據時數據所處的狀態,要麼是另一並發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會查看中間狀態的數據。這稱為隔離性,因為它能夠重新裝載起始數據,並且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。當事務可序列化時將獲得最高的隔離級別。在此級別上,從一組可並行執行的事務獲得的結果與通過連續運行每個事務所獲得的結果相同。由於高度隔離會限制可並行執行的事務數,所以一些應用程序降低隔離級別以換取更大的吞吐量。持久性(Duration)(Durability) 事務完成之後,它對於系統的影響是永久性的。該修改即使出現致命的系統故障也將一直保持。
㈡ 什麼是資料庫事務
資料庫事務,是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程序更加可靠。
一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性。事務是資料庫運行中的邏輯工作單位,由DBMS中的事務管理子系統負責事務的處理。
企業級的資料庫管理系統(DBMS)都有責任提供一種保證事務的物理完整性的機制。就常用的sql Server2000系統而言,它具備鎖定設備隔離事務、記錄設備保證事務持久性等機制。因此,我們不必關心資料庫事務的物理完整性,而應該關注在什麼情況下使用資料庫事務、事務對性能的影響,如何使用事務等等。
拓展資料:
事務有三種模型:
1、隱式事務是指每一條數據操作語句都自動地成為一個事務,事務的開始是隱式的,事務的結束有明確的標記。
2、顯式事務是指有顯式的開始和結束標記的事務,每個事務都有顯式的開始和結束標記。
3、自動事務是系統自動默認的,開始和結束不用標記。
㈢ 資料庫中的事務管理是什麼
事務管理對於一系列資料庫操作進行管理。
一個事務包含一個或多個SQL語句,是邏輯管理的工作單元(原子單元)。
一個事務開始於第一次執行的SQL語句,結束於Commit
或
Rollback
或
DDL語句。
注意:其中Commit,
Rollback是顯示的提交事務,而DDL語句是隱式的提交事務的。DDL語句的操作是沒有辦法回滾的。
事務處理(TRANSACTION)是由一個或多個SQL語句序列結合在一起所形成的一個邏輯處理單元。事務處理中的每個語句都是完成整個任務的一部分工作,所有的語句組織在一起能夠完成某一特定的任務。DBMS在對事務處理中的語句進行處理時,是按照下面的約定來進行的,這就是「事務處理中的所有語句被作為一個原子工作單位,所有的語句既可成功地被執行,也可以沒有任何一個語句被執行」。DBMS負責完成這種約定,即使在事務處理中應用程序異常退出,或者是硬體出現故障等各種意外情況下,也是如此。在任何意外情況下,DBMS都負責確保在系統恢復正常後,資料庫內容決不會出現「部分事務處理中的語句被執行完」的情況。
㈣ 資料庫事務處理指什麼
指的是,你對資料庫操作的動作,比如更新,查詢,刪除,插入等
例如提交delete from table where 欄位1='a';
這就是提交一個事務。
㈤ 請高手們講講資料庫中事務的使用吧!!!!
事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向數據的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程序更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性:
· 原子性
事務必須是原子工作單元;對於其數據修改,要麼全都執行,要麼全都不執行。通常,與某個事務關聯的操作具有共同的目標,並且是相互依賴的。如果系統只執行這些操作的一個子集,則可能會破壞事務的總體目標。原子性消除了系統處理操作子集的可能性。
· 一致性
事務在完成時,必須使所有的數據都保持一致狀態。在相關資料庫中,所有規則都必須應用於事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如 B 樹索引或雙向鏈表)都必須是正確的。某些維護一致性的責任由應用程序開發人員承擔,他們必須確保應用程序已強制所有已知的完整性約束。例如,當開發用於轉帳的應用程序時,應避免在轉帳過程中任意移動小數點。
· 隔離性
由並發事務所作的修改必須與任何其它並發事務所作的修改隔離。事務查看數據時數據所處的狀態,要麼是另一並發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會查看中間狀態的數據。這稱為可串列性,因為它能夠重新裝載起始數據,並且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。當事務可序列化時將獲得最高的隔離級別。在此級別上,從一組可並行執行的事務獲得的結果與通過連續運行每個事務所獲得的結果相同。由於高度隔離會限制可並行執行的事務數,所以一些應用程序降低隔離級別以換取更大的吞吐量。
· 持久性
事務完成之後,它對於系統的影響是永久性的。該修改即使出現致命的系統故障也將一直保持。
那麼該處理結果是不明確的。
不加控制的並發存取會產生以下幾種錯誤:
1 丟失修改(lost updates)
當多個事務並發修改一個數據時,不加控制會得出錯誤的結
果,一個修改會覆蓋掉另一個修改。
2 讀的不可重復性
當多個事務按某種時間順序存取若干數據時,如果對並發存
取不加控制,也會產生錯誤。
3 臟讀(DIRDY DATA),讀的不一致性
4 游標帶來的當前值的混亂
事務在執行過程中它在某個表上的當前查找位置是由游標表
示的。游標指向當前正處理的記錄。當處理完該條記錄後,則指
向下一條記錄。在多個事務並發執行時,某一事務的修改可能產
生負作用,使與這些游標有關的事務出錯。
5 未釋放修改造成連鎖退出
一個事務在進行修改操作的過程中可能會發生故障,這時需
要將已做的修改回退(Rollback)。如果在已進行過或已發現錯
誤尚未復原之前允許其它事務讀已做過修改(臟讀),則會導致
連鎖退出。
6 一事務在對一表更新時,另外的事務卻修改或刪除此表的
定義。
資料庫會為每個事務自動地設置適當級別的鎖定。對於前面
講述的問題:臟讀、未釋放修改造成的連鎖退出、一事務在對一
表更新時另外的事務卻修改或刪除此表的定義,資料庫都會自動
解決。而另外的三個問題則需要在編程過程中人為地定義事務或
加鎖來解決。
三 事務和恢復
資料庫本身肩負著管理事務的責任。事務是最小的邏輯工作
單元,在這個工作單元中,對資料庫的所有更新工作,要麼必須
全部成功,要麼必須全部失敗(回退)。只要應用程序指定了某
段程序為一個事務並做了相應的處理(提交或回退),資料庫系
統會自動維護事務本身的特性。
四 ORACLE資料庫的事務定義
ORACLE事務從COMMIT、ROLLBACK、連接到資料庫或開始第一
條可執行的SQL語句時開始,到一條COMMIT、ROLLBACK語句或退出
資料庫時結束。如果在一個事務中包含DDL語句,則在DDL語句的
前後都會隱含地執行COMMIT語句,從而開始或結束一個事務。
如果一個事務由於某些故障或者由於用戶改變主意而必須在
提交前取消它,則資料庫被恢復到這些語句和過程執行之前的狀
態。
利用ROLLBACK語句可以在COMMIT命令前隨時撤消或回退一個
事務。可以回退整個事務,也可以會退部分事務,但是不能回退
一個已經被提交的事務。回退部分事務的ROLLBACK命令為:
ROLLBACK to savepoint 存儲點名
存儲點是用戶放入事務中的標記,用來表示一個可被回退的
位置。存儲點通過在事務中放入一個SAVEPOINT命令而被插入。該
命令的語法是:
SAVEPOINT 存儲點名
如果在ROLLBACK語句中沒有給出存儲點名,則整個事務被回
退。
五 SYBASE資料庫的事務定義
SYBASE通過使用BEGIN TRANsaction和COMMIT TRANsaction命令指
示SQL將任意數目的語句作為一個單元來處理。ROLLBACK TRANsaction
命令則允許用戶恢復到事務的開始,或恢復到事務內部已經被用SAVE
TRANsaction命令定義的存儲點上。
BEGIN TRANsaction和COMMIT TRANsaction能夠包含任意數目的SQL
語句和存儲過程,方法很簡單:
BEGIN TRANsaction [事務名稱]
COMMIT TRANsaction
如果一個事務由於某些故障或者由於用戶改變主意而必須在提交
前取消它,則資料庫被恢復到這些語句和過程執行之前的狀態。
利用ROLLBACK TRANsaction命令可以在COMMIT TRANsaction命令
前隨時回退一個事務。可以回退整個事務,也可以回退部分事務,但
是不能回退一個已經被提交的事務。ROLLBACK TRANsaction命令為:
ROLLBACK TRANsaction [事務名|存儲點名]
存儲點名是用戶放入事務中的標記,用來表示一個可以被回退的
位置。存儲點名通過在事務中放入一個SAVE TRANsaction命令而被插
入。該命令的句法是:
SAVE TRANsaction 存儲點名
如果在ROLLBACK TRANsaction中沒有給出存儲點名或事務名,則
事務被回退到批處理中的第一個BEGIN TRANsaction語句處。
㈥ 在資料庫中什麼叫做事務處理
簡單來說就是 單一的邏輯單元處理一系列事物。操作一系列數據時,如有一條不合適或取消,所有數據均會到最初狀態,即回滾。
說的比較抽象,我給你舉個小例子你就明白了。
例如 ATM 機。
用戶把錢從一個銀行賬號轉賬至另一個銀行賬號,這種操作不能被部分完成。
如轉的過程中 1卡錢被相應扣除,2卡在存中,這時機器出現故障,轉賬被取消。取消的同時,即要事物回滾,回到1卡原有的狀態。
明白了嗎
㈦ 請教!成為一名合格的資料庫工程師需掌握那些知識技能
數工討論群:27955282 數工考試交流群:37263632
你們交流。
2004資料庫系統工程師級大綱
一、考試說明
1.考試要求
(1)掌握計算機體系結構以及各主要部件的性能和基本工作原理;
<廣告>
(2)掌握操作系統、程序設計語言的基礎知識,了解編譯程序的基本知識;
(3)熟練掌握常用數據結構和常用演算法;
(4)熟悉軟體工程和軟體開發項目管理的基礎知識;
(5)熟悉計算機網路的原理和技術;
(6)掌握資料庫原理及基本理論;
(7)掌握常用的大型資料庫管理系統的應用技術;
(8)掌握資料庫應用系統的設計方法和開發過程;
(9)熟悉資料庫系統的管理和維護方法,了解相關的安全技術;
(10)了解資料庫發展趨勢與新技術;
(11)掌握常用信息技術標准、安全性,以及有關法律、法規的基本知識;
(12)了解信息化、計算機應用的基礎知識;
(13)正確閱讀和理解計算機領域的英文資料。
2. 通過本考試的合格人員能參與應用信息系統的規劃、設計、構建、運行和管理,能按照用戶需求,設計、建立、運行、維護高質量的資料庫和數據倉庫;作為數據管理員管理信息系統中的數據資源,作為資料庫管理員建立和維護核心資料庫;擔任資料庫系統有關的技術支持,同時具備一定的網路結構設計及組網能力;具有工程師的實際工作能力和業務水平,能指導計算機技術與軟體專業助理工程師(或技術員)工作。
3. 本考試設置的科目包括
(1)信息系統知識,考試時間為150分鍾,筆試;
(2)資料庫系統設計與管理,考試時間為150分鍾,筆試。
二、考試范圍
考試科目1:信息系統知識
1. 計算機系統知識
1.1 硬體知識
1.1.1 計算機體系結構和主要部件的基本工作原理
?CPU和存儲器的組成、性能、基本工作原理
?常用I/O設備、通信設備的性能,以及基本工作原理
?I/O介面的功能、類型和特點
?CISC/RISC,流水線操作,多處理機,並行處理
1.1.2 存儲系統
?虛擬存儲器基本工作原理,多級存儲體系
?RAID類型和特性
1.1.3 安全性、可靠性與系統性能評測基礎知識
?診斷與容錯
?系統可靠性分析評價
? 計算機系統性能評測方法
1.2 數據結構與演算法
1.2.1 常用數據結構
?數組(靜態數組、動態數組)
?線性表、鏈表(單向鏈表、雙向鏈表、循環鏈表)
?棧和隊列
?樹(二叉樹、查找樹、平衡樹、遍歷樹、堆)、圖、集合的定義、存儲和操作
?Hash(存儲位置計算、碰撞處理)
1.2.2 常用演算法
?排序演算法、查找演算法、數值計算、字元串處理、數據壓縮演算法、遞歸演算法、圖的相關演算法
?演算法與數據結構的關系,演算法效率,演算法設計,演算法描述(流程圖、偽代碼、決策表),演算法的復雜性
1.3 軟體知識
1.3.1 操作系統知識
?操作系統的類型、特徵、地位、內核(中斷控制)、進程、線程概念
?處理機管理(狀態轉換、同步與互斥、信號燈、分時輪轉、搶占、死鎖)
?存儲管理(主存保護、動態連接分配、分段、分頁、虛存)
?設備管理(I/O控制、假離線、磁碟調度)
?文件管理(文件目錄、文件的結構和組織、存取方法、存取控制、恢復處理、共享和安全)
?作業管理(作業調度、作業控制語言(JCL)、多道程序設計)
?漢字處理,多媒體處理,人機界面
?網路操作系統和嵌入式操作系統基礎知識
?操作系統的配置
1.3.2 程序設計語言和語言處理程序的知識
? 匯編、編譯、解釋系統的基礎知識和基本工作原理
? 程序設計語言的基本成分:數據、運算、控制和傳輸,程序調用的實現機制
? 各類程序設計語言的主要特點和適用情況
1.4 計算機網路知識
?網路體系結構(網路拓撲、OSI/RM、基本的網路協議)
?傳輸介質,傳輸技術,傳輸方法,傳輸控制
?常用網路設備和各類通信設備
?Client/Server結構、Browser/Server結構、Browser/Web/Datebase結構
?LAN拓撲,存取控制,LAN的組網,LAN間連接,LAN-WAN連接
?網際網路基礎知識及應用
?網路軟體
?網路管理
?網路性能分析
?網路有關的法律、法規
2. 資料庫技術
2.1 資料庫技術基礎
2.1.1 資料庫模型
?資料庫系統的三級模式(概念模式、外模式、內模式),兩級映像(概念模式/外模式、外模式/內模式)
?資料庫模型:數據模型的組成要素,概念數據模型ER圖(實體、屬性、關系),邏輯數據模型(關系模型、層次模型、網路模型)
2.1.2 資料庫管理系統的功能和特徵
?主要功能(資料庫定義、資料庫操作、資料庫控制、事務管理、用戶視圖)
?特徵(確保數據獨立性、資料庫存取、同時執行過程、排它控制、故障恢復、安全性、完整性)
?RDB(關系資料庫),OODB(面向對象資料庫),ORDB(對象關系資料庫),NDB(網狀資料庫)
?幾種常用Web資料庫的特點
2.1.3 資料庫系統體系結構
? 集中式資料庫系統
? Client/Server資料庫系統
? 並行資料庫系統
? 分布式資料庫系統
? 對象關系資料庫系統
2.2 數據操作
2.2.1 關系運算
?關系代數運算(並、交、差、笛卡兒積、選擇、投影、連接、除)
?元組演算
?完整性約束
2.2.2 關系資料庫標准語言(SQL)
?SQL的功能與特點
?用SQL進行數據定義(表、視圖、索引、約束)
?用SQL進行數據操作(數據檢索、數據插入/刪除/更新、觸發控制)
?安全性和授權
?程序中的API,嵌入SQL
2.3 資料庫的控制功能
?資料庫事務管理(ACID屬性)
?資料庫備份與恢復技術(UNDO、REDO)
?並發控制
2.4 資料庫設計基礎理論
2.4.1 關系資料庫設計
?函數依賴
?規范化(第一範式、第二範式、第三範式、BC範式、第四範式、第五範式)
?模式分解及分解應遵循的原則
2.4.2 對象關系資料庫設計
?嵌套關系、 復雜類型,繼承與引用類型
?與復雜類型有關的查詢
?SQL中的函數與過程
?對象關系
2.5 數據挖掘和數據倉庫基礎知識
?數據挖掘應用和分類
?關聯規則、聚類
?數據倉庫的成分
?數據倉庫的模式
2.6 多媒體基本知識
2.6.1 多媒體技術基本概念
?多媒體系統基礎知識
?常用多媒體文件格式
2.6.2 多媒體壓縮編碼技術
?多媒體壓縮編碼技術
?統計編碼
?預測編碼
?編碼的國際標准
2.6.3多媒體技術應用
?簡單圖形的繪制,圖像文件的處理方法
?音頻和視頻信息的應用
?多媒體應用開發過程
2.7 系統性能知識
?性能計算(響應時間、吞吐量、周轉時間)
?性能指標和性能設計
?性能測試和性能評估
2.8 計算機應用基礎知識
?信息管理、數據處理、輔助設計、科學計算,人工智慧等基礎知識
?遠程通信服務及相關通信協議基礎知識
3. 系統開發和運行維護知識
3.1 軟體工程、軟體過程改進和軟體開發項目管理知識
?軟體工程知識
?軟體開發生命周期階段目標和任務
?軟體開發項目基礎知識(時間管理、成本管理、質量管理、人力資源管理、風險管理等)及其常用管理工具
?主要的軟體開發方法(生命周期法、原型法、面向對象法、CASE)
?軟體開發工具與環境知識
?軟體質量管理基礎知識
?軟體過程改進基礎知識
?軟體開發過程評估、軟體能力成熟度評估的基礎知識
3.2 系統分析基礎知識
?系統分析的目的和任務
?結構化分析方法(數據流圖(DFD)和數據字典(DD),實體關系圖(ERD),描述加工處理的結構化語言)
?統一建模語言(UML)
?系統規格說明書
3.3 系統設計知識
?系統設計的目的和任務
?結構化設計方法和工具(系統流程圖、HIPO圖、控制流程圖)
?系統總體結構設計(總體布局,設計原則,模塊結構設計,數據存取設計,系統配置方案)
?系統詳細設計(代碼設計、資料庫設計、用戶界面設計、處理過程設計)
?系統設計說明書
3.4 系統實施知識
?系統實施的主要任務
?結構化程序設計、面向對象程序設計、可視化程序設計
?程序設計語言的選擇、程序設計風格
?系統測試的目的、類型,系統測試方法(黑盒測試、白盒測試、灰盒測試)
?測試設計和管理(錯誤曲線、錯誤排除、收斂、注入故障、測試試用例設計、系統測試報告)
?系統轉換基礎知識
3.5 系統運行和維護知識
?系統運行管理知識
?系統維護知識
?系統評價知識
4. 安全性知識
?安全性基本概念(網路安全、操作系統安全、資料庫安全)
?計算機病毒的防治,計算機犯罪的防範,容災
?訪問控制、防闖入、安全管理措施
?加密與解密機制
?風險分析、風險類型、抗風險措施和內部控制
5.標准化知識
?標准化意識,標准化的發展,標准出台過程
?國際標准、國家標准、行業標准、企業標准基本知識
?代碼標准、文件格式標准、安全標准軟體開發規范和文檔標准
?標准化機構
6.信息化基礎知識
?信息化意識
?全球信息化趨勢、國家信息化戰略、企業信息化戰略和策略
?有關的法律、法規
?遠程教育、電子商務、電子政務等基礎知識
?企業信息資源管理基礎知識
7.計算機專業英語
?掌握計算機技術的基本詞彙
?能正確閱讀和理解計算機領域的英文資料
考試科目2:資料庫系統設計與管理
1.資料庫設計
1.1理解系統需求說明
?了解用戶需求、確定系統范圍
?確定應用系統資料庫的各種關系
?現有環境與新系統環境的關系
?新系統中的數據項、數據字典、數據流
1.2 系統開發的准備
?選擇開發方法,准備開發環境,制訂開發計劃
1.3 設計系統功能
?選擇系統機構,設計各子系統的功能和介面,設計安全性策略、需求和實現方法,制定詳細的工作流和數據流
1.4 資料庫設計
1.4.1 設計數據模型
?概念結構設計(設計ER模型)
?邏輯結構設計(轉換成DBMS所能接收的數據模型)
?評審設計
1.4.2 物理結構設計
?設計方法與內容
?存取方法的選擇
?評審設計與性能預測
1.4.3 資料庫實施與維護
?數據載入與應用程序調試
?資料庫試運行
?資料庫運行與維護
1.4.4 資料庫的保護
?資料庫的備份與恢復
?資料庫的安全性
?資料庫的完整性
?資料庫的並發控制
1.5 編寫外部設計文檔
?編寫系統說明書(系統配置圖、各子系統關系圖、系統流程圖,系統功能說明、輸入輸出規格說明、數據規格說明、用戶手冊框架)
?設計系統測試要求
1.6 設計評審
2. 資料庫應用系統設計
2.1 設計資料庫應用系統結構
?信息系統的架構(如Client/Server)與DBMS
?多用戶資料庫環境(文件伺服器體系結構、Client/Server體系結構)
?大規模資料庫和並行計算機體系結構(SMP、MPP)
?中間件角色和相關工具
?按構件分解,確定構件功能規格以及構件之間的介面
2.2 設計輸入輸出
?屏幕界面設計,設計輸入輸出檢查方法和檢查信息
?資料庫交互與連接(掌握C程序設計語言,以及Java、Visual Basic、Visual C++、PowerBuilder、Delphi中任一種開發工具與資料庫互連的方法(如何與資料庫伺服器溝通))
2.3 設計物理數據
?分析事務在資料庫上運行的頻率和性能要求,確定邏輯數據組織方式、存儲介質,設計索引結構和處理方式
?將邏輯數據結構變換成物理數據結構,計算容量(空間代價),確定存取方法(時間效率)、系統配置(維護代價)並進行優化
2.4 設計安全體系
?明確安全等級
?資料庫的登錄方式
?資料庫訪問
?許可(對象許可、命令許可、授權許可的方法)
2.5 應用程序開發
2.5.1 應用程序開發
?選擇應用程序開發平台
?系統實施順序
?框架開發
?基礎小組的程序開發
?源代碼控制
?版本控制
2.5.2 模塊劃分(原則、方法、標准)
2.5.3 編寫程序設計文檔
?模塊規格說明書(功能和介面說明、程序處理邏輯的描述、輸入輸出數據格式的描述)
?測試要求說明書(測試類型和目標,測試用例,測試方法)
2.5.4 程序設計評審
2.6 編寫應用系統設計文檔
?系統配置說明、構件劃分圖、構件間的介面、構件處理說明、屏幕設計文檔、報表設計文檔、程序設計文檔、文件設計文檔、資料庫設計文檔
2.7 設計評審
3. 資料庫應用系統實施
3.1 整個系統的配置與管理
3.2 常用資料庫管理系統的應用(SQL Server、Oracle、Sybase、DB2、Access或Visual Foxpro)
?創建資料庫
?創建表、創建索引、創建視圖、創建約束、創建UDDT(用戶自定義類型)
?創建和管理觸發器
?建立安全體系
3.3 資料庫應用系統安裝
?擬定系統安裝計劃(考慮費用、客戶關系、雇員關系、後勤關系和風險等因素)
?擬定人力資源使用計劃(組織機構安排的合理性)
?直接安裝(安裝新系統並使系統快速進入運行狀態)
?並行安裝(新舊系統並行運行一段時間)
?階段安裝(經過一系列的步驟和階段使新系統各部分逐步投入運行)
3.4 資料庫應用系統測試
?擬定測試目標、計劃、方法與步驟
?數據載入,准備測試數據
?指導應用程序員進行模塊測試進行驗收
?准備系統集成測試環境測試工具
?寫出資料庫運行測試報告
3.5 培訓與用戶支持
4.資料庫系統的運行和管理
4.1 資料庫系統的運行計劃
?運行策略的確定
<廣告>
?確定資料庫系統報警對象和報警方式
?資料庫系統的管理計劃(執行,故障/恢復,安全性,完整性,用戶培訓和維護)
4.2 資料庫系統的運行和維護
?新舊系統的轉換
?收集和分析報警數據(執行報警、故障報警、安全報警)
?連續穩定的運行
?資料庫維護(資料庫重構、安全視圖的評價和驗證、文檔維護)
?資料庫系統的運行統計(收集、分析、提出改進措施)
?關於運行標准和標准改進一致性的建議
?資料庫系統的審計
4.3 資料庫管理
?數據字典和數據倉庫的管理
?數據完整性維護和管理(實體完整性、參照完整性)
?資料庫物理結構的管理(保證數據不推遲訪問)
?資料庫空間及碎片管理
?備份和恢復(順序、日誌(審計痕跡)、檢查點)
?死鎖管理(集中式、分布式)
?並發控制(可串列性、鎖機制、時間戳、優化)
?數據安全性管理(加密、安全、訪問控制、視圖、有效性確認規則)
?資料庫管理員(DBA)職責
4.4 性能調整
?SQL語句的編碼檢驗
?表設計的評價
?索引的改進
?物理分配的改進
?設備增強
?資料庫性能優化
4.5 用戶支持
?用戶培訓
?售後服務
5. SQL
5.1 資料庫語言
?資料庫語言的要素
?資料庫語言的使用方式(互動式和嵌入式)
5.2 SQL概述
?SQL語句的特徵
?SQL語句的基本成分
5.3 資料庫定義
?創建資料庫(Create Datebase)、創建表(Create Table)
?定義數據完整性
?修改表(Alter Table)、刪除表(Drop Table)
?定義索引(Create Index)、刪除索引(Drop Index)
?定義視圖(Create View)、刪除視圖(Drop View)、更新視圖
5.4 數據操作
?Select語句的基本機構
?簡單查詢
?SQL中的選擇、投影
?字元串比較,涉及空值的比較
?日期時間,布爾值,輸出排序
?多表查詢
?避免屬性歧義
?SQL中的連接、並、交、差
?SQL中的元組變數
?子查詢
5.5 完整性控制與安全機制
?主鍵(Primary Key)約束
?外鍵(Foreign Key)約束
?屬性值上的約束(Null、Check、Create Domain)
?全局約束(Create Assertions)
?許可權、授權(Grant)、銷權(Revoke)
5.6 創建觸發器(Create Trigger)
5.7 SQL使用方式
?互動式SQL
?嵌入式SQL
?SQL與宿主語言介面(Declare、共享變數、游標、卷游標)
?動態SQL
?API
5.8 SQL 標准化
6. 網路環境下的資料庫
6.1 分布式資料庫
6.1.1 分布式資料庫的概念
?分布式資料庫的特點與目標
6.1.2 分布式資料庫的體系結構
?分布式資料庫的模式結構
?數據分布的策略(數據分片、分布透明性)
?分布式資料庫管理系統
6.1.3 分布式查詢處理和優化
6.1.4 分布式事務管理
?分布式資料庫的恢復(故障、恢復、2段提交、3段提交)
?分布式資料庫的透明性(局部、分裂、復制、處理、並發、執行)
6.1.5 分布式資料庫系統的應用
6.2 網路環境下資料庫系統的設計與實施
?數據的分布設計
?負載均衡設計
?資料庫互連技術
6.3 面向Web的DBMS技術
?三層體系結構
?動態Web網頁
?ASP、JSP、XML的應用
7.資料庫的安全性
7.1 安全性策略的理解
?資料庫視圖的安全性策略
?數據的安全級別(最重要的、重要的、注意、選擇)
7.2 資料庫安全測量
?用戶訪問控制(採用口令等)
?程序訪問控制(包含在程序中的SQL命令限制)
?表的訪問控制(視圖機制)
?控制訪問的函數和操作
?外部存儲數據的加密與解密
8. 資料庫發展趨勢與新技術
8.1 面向對象資料庫(OODBMS)
8.1.1 OODBMS的特徵
8.1.2 面向對象數據模型
?對象結構、對象類、繼承與多重繼承、對象標識、對象包含、對象嵌套
8.1.3 面向對象資料庫語言
8.1.4 對象關系資料庫系統(ORDBMS)
?嵌套關系
?復雜類型
?繼承、引用類型
?與復雜類型有關的查詢
?函數與過程
?面向對象與對象關系
?ORDBMS應用領域
8.2 企業資源計劃(ERP)和資料庫
8.2.1 ERP概述
?基本MRP(製造資源計劃)、閉環MRP、ERP
?基本原理、發展趨勢
?ERP設計的總體思路(一個中心、兩類業務、三條干線)
8.2.2 ERP與資料庫
?運行資料庫與ERP數據模型之間的關系
?運行資料庫與ERP資料庫之間的關系
8.2.3 案例分析
8.3 決策支持系統的建立
?決策支持系統的概念
?數據倉庫設計
?數據轉移技術
?聯機分析處理(OLAP)技術
?企業決策支持解決方案
?聯機事務處理(OLTP)
㈧ 關於SQL資料庫的事務處理
如果只對一個表操作,可以採用adLockBatchOptimistic模式,即:
rs.open sql語句,連接,adOpenKeyset,adLockBatchOptimistic
更新的時候不需要事務處理,而是:
do while not rs.eof
rs.edit
rs.fields(...).value=...
rs.update
rs.movenext
loop
rs.updatebatch
㈨ mysql資料庫 事務提交怎麼處理
查看 MySQL 客戶端的事務提交方式命令:select @@autocommit;
修改 MySQL 客戶端的事務提交方式為手動提交命令:set @@autocommit = 0;
(註:0 表示手動提交,即使用 MySQL 客戶端執行 SQL 命令後必須使用commit命令執行事務,否則所執行的 SQL 命令無效,如果想撤銷事務則使用 rollback 命令。1 表示自動提交,即在 MySQL 客戶端不在需要手動執行 commit 命令。)
MySQL 在自動提交模式下,每個 SQL 語句都是一個獨立的事務。
注意:
1、手動設置set @@autocommit = 0,即設定為非自動提交模式,只對當前的mysql命令行窗口有效,打開一個新的窗口後,默認還是自動提交;
2、對於非自動提交模式,比如在命令行中添加一條記錄,退出命令行後在重新打開命令行,之前插入的記錄是不在的。(用select * from + 表名 驗證一下就可以了)
㈩ 資料庫事務的處理模型
事務有三種模型:
1.隱式事務是指每一條數據操作語句都自動地成為一個事務,事務的開始是隱式的,事務的結束有明確的
標記。
2.顯式事務是指有顯式的開始和結束標記的事務,每個事務都有顯式的開始和結束標記。
3.自動事務是系統自動默認的,開始和結束不用標記。
並發控制
1. 資料庫系統一個明顯的特點是多個用戶共享資料庫資源,尤其是多個用戶可以同時存取相同數據。
串列控制:如果事務是順序執行的,即一個事務完成之後,再開始另一個事務
並行控制:如果DBMS可以同時接受多個事務,並且這些事務在時間上可以重疊執行。
2.並發控制概述
事務是並發控制的基本單位,保證事務ACID的特性是事務處理的重要任務,而並發操作有可能會破壞其ACID特性。
DBMS並發控制機制的責任:
對並發操作進行正確調度,保證事務的隔離性更一般,確保資料庫的一致性。
如果沒有鎖定且多個用戶同時訪問一個資料庫,則當他們的事務同時使用相同的數據時可能會發生問題。由於並發操作帶來的數據不一致性包括:丟失數據修改、讀」臟」數據(臟讀)、不可重復讀、產生幽靈數據。
(1)丟失數據修改
當兩個或多個事務選擇同一行,然後基於最初選定的值更新該行時,會發生丟失更新問題。每個事務都不知道其它事務的存在。最後的更新將重寫由其它事務所做的更新,這將導致數據丟失。如上例。
再例如,兩個編輯人員製作了同一文檔的電子復本。每個編輯人員獨立地更改其復本,然後保存更改後的復本,這樣就覆蓋了原始文檔。最後保存其更改復本的編輯人員覆蓋了第一個編輯人員所做的更改。如果在第一個編輯人員完成之後第二個編輯人員才能進行更改,則可以避免該問題。
(2)讀「臟」數據(臟讀)
讀「臟」數據是指事務T1修改某一數據,並將其寫回磁碟,事務T2讀取同一數據後,T1由於某種原因被除撤消,而此時T1把已修改過的數據又恢復原值,T2讀到的數據與資料庫的數據不一致,則T2讀到的數據就為「臟」數據,即不正確的數據。
例如:一個編輯人員正在更改電子文檔。在更改過程中,另一個編輯人員復制了該文檔(該復本包含到目前為止所做的全部更改)並將其分發給預期的用戶。此後,第一個編輯人員認為所做的更改是錯誤的,於是刪除了所做的編輯並保存了文檔。分發給用戶的文檔包含不再存在的編輯內容,並且這些編輯內容應認為從未存在過。如果在第一個編輯人員確定最終更改前任何人都不能讀取更改的文檔,則可以避免該問題。
( 3)不可重復讀
指事務T1讀取數據後,事務T2執行更新操作,使T1無法讀取前一次結果。不可重復讀包括三種情況:
事務T1讀取某一數據後,T2對其做了修改,當T1再次讀該數據後,得到與前一不同的值。
(4)產生幽靈數據
按一定條件從資料庫中讀取了某些記錄後,T2刪除了其中部分記錄,當T1再次按相同條件讀取數據時,發現某些記錄消失
T1按一定條件從資料庫中讀取某些數據記錄後,T2插入了一些記錄,當T1再次按相同條件讀取數據時,發現多了一些記錄。