一般數據庫工程師的主要工作包括:數據備份;數據庫日常維護;數據結構方面的設計;SQL調優(yōu);解決由于數據庫操作所造成的系統性能問(wèn)題;給開(kāi)發(fā)人員開(kāi)展一些數據庫方面的培訓。那么成為一名合格的數據庫工程師需掌握哪些知識技能呢?
一、數據庫應用系統分析及規劃:1.軟件工程與軟件生命周期。 2.數據庫系統生命周期。 3.數據庫開(kāi)發(fā)方法與工具。 4.數據庫應用體系結構。 5.數據庫應用接口。
二、數據庫設計及實(shí)現: 1.概念設計。 2.邏輯設計。 3.物理設計。 4.數據庫對象實(shí)現及操作。
三、數據庫存儲技術(shù):1.存儲與文件結構。 2. 索引技術(shù)。
四、并發(fā)控制技術(shù):1.事務(wù)管理。 2.并發(fā)控制技術(shù)。3.死鎖處理。
五、數據庫管理與維護:1、數據完整性。 2、數據庫安全性。 3、數據庫可靠性。 4、監控分析。 5、參數調整。 6、查詢(xún)優(yōu)化。 7、空間管理。
六、數據庫技術(shù)的發(fā)展與新技術(shù):1、分布式數據庫。 2、對象數據庫。 3、并行數據庫。 4、數據倉庫與數據挖掘。
目前主流的數據庫無(wú)論規模如何,例如Access(這個(gè)現在基本沒(méi)人用),MySQL,Microsoft Server SQL,還是大規模的Oracle,都是關(guān)系數據庫,我這么說(shuō)很抽象,你可能不知道什么是關(guān)系數據庫,所以你應該先學(xué)習數據庫系統概論,明白其存在的意義,了解其在計算機系統當中的地位,然后再進(jìn)行進(jìn)一步探究,前沿基礎課我想應該是離散數學(xué)。
因為涉及關(guān)系演算,關(guān)系代數,以及一系列抽象概念都和離散數學(xué)有關(guān)聯(lián),將來(lái)進(jìn)行高效率的嵌套查詢(xún)、修改、刪除、增添數據,都是涉及這些內容,不過(guò)要是面向小型的開(kāi)發(fā),效率也無(wú)關(guān)緊要,可以使用一些可視化的軟件建立維護數據庫,但是使用的過(guò)程中難免會(huì )遇到不理解的問(wèn)題,如實(shí)體完整性約束、表的主碼、外碼確立,安全性考慮、范式理論,都比較難以理解,所以還是建議先從離散數學(xué)看起,然后再看數據庫系統概論類(lèi)的書(shū)籍,然后選擇一款規模較小的如MySQL進(jìn)行SQL語(yǔ)言的實(shí)踐,再往后就是數據庫與軟件或網(wǎng)絡(luò )如J2EE技術(shù)之間的關(guān)聯(lián),還要面對諸多問(wèn)題,總之走一步算一步,步步為營(yíng),急不來(lái),祝學(xué)習成功~! 如果對您有幫助,請記得采納為滿(mǎn)意答案,謝謝!祝您生活愉快! Vae團隊招人!!!歡迎各位加入!!!走過(guò)路過(guò)不要錯過(guò)!!!迅猛發(fā)展中!!。
一 事務(wù)處理介紹 事務(wù)是這樣一種機制,它確保多個(gè)SQL語(yǔ)句被當作單個(gè)工作單 元來(lái)處理。
事務(wù)具有以下的作用: * 一致性:同時(shí)進(jìn)行的查詢(xún)和更新彼此不會(huì )發(fā)生沖突,其他 用戶(hù)不會(huì )看到發(fā)生了變化但尚未提交的數據。 * 可恢復性:一旦系統故障,數據庫會(huì )自動(dòng)地完全恢復未完 成的事務(wù)。
二 事務(wù)與一致性 事務(wù)是完整性的單位,一個(gè)事務(wù)的執行是把數據庫從一個(gè)一 致的狀態(tài)轉換成另一個(gè)一致的狀態(tài)。因此,如果事務(wù)孤立執行時(shí) 是正確的,但如果多個(gè)事務(wù)并發(fā)交錯地執行,就可能相互干擾, 造成數據庫狀態(tài)的不一致。
在多用戶(hù)環(huán)境中,數據庫必須避免同 時(shí)進(jìn)行的查詢(xún)和更新發(fā)生沖突。這一點(diǎn)是很重要的,如果正在被 處理的數據能夠在該處理正在運行時(shí)被另一用戶(hù)的修改所改變, 那么該處理結果是不明確的。
不加控制的并發(fā)存取會(huì )產(chǎn)生以下幾種錯誤: 1 丟失修改(lost updates) 當多個(gè)事務(wù)并發(fā)修改一個(gè)數據時(shí),不加控制會(huì )得出錯誤的結 果,一個(gè)修改會(huì )覆蓋掉另一個(gè)修改。 2 讀的不可重復性 當多個(gè)事務(wù)按某種時(shí)間順序存取若干數據時(shí),如果對并發(fā)存 取不加控制,也會(huì )產(chǎn)生錯誤。
3 臟讀(DIRDY DATA),讀的不一致性 4 光標帶來(lái)的當前值的混亂 事務(wù)在執行過(guò)程中它在某個(gè)表上的當前查找位置是由光標表 示的。光標指向當前正處理的記錄。
當處理完該條記錄后,則指 向下一條記錄。在多個(gè)事務(wù)并發(fā)執行時(shí),某一事務(wù)的修改可能產(chǎn) 生負作用,使與這些光標有關(guān)的事務(wù)出錯。
5 未釋放修改造成連鎖退出 一個(gè)事務(wù)在進(jìn)行修改操作的過(guò)程中可能會(huì )發(fā)生故障,這時(shí)需 要將已做的修改回退(Rollback)。如果在已進(jìn)行過(guò)或已發(fā)現錯 誤尚未復原之前允許其它事務(wù)讀已做過(guò)修改(臟讀),則會(huì )導致 連鎖退出。
6 一事務(wù)在對一表更新時(shí),另外的事務(wù)卻修改或刪除此表的 定義。 數據庫會(huì )為每個(gè)事務(wù)自動(dòng)地設置適當級別的鎖定。
對于前面 講述的問(wèn)題:臟讀、未釋放修改造成的連鎖退出、一事務(wù)在對一 表更新時(shí)另外的事務(wù)卻修改或刪除此表的定義,數據庫都會(huì )自動(dòng) 解決。而另外的三個(gè)問(wèn)題則需要在編程過(guò)程中人為地定義事務(wù)或 加鎖來(lái)解決。
三 事務(wù)和恢復 數據庫本身肩負著(zhù)管理事務(wù)的責任。事務(wù)是最小的邏輯工作 單元,在這個(gè)工作單元中,對數據庫的所有更新工作,要么必須 全部成功,要么必須全部失敗(回退)。
只要應用程序指定了某 段程序為一個(gè)事務(wù)并做了相應的處理(提交或回退),數據庫系 統會(huì )自動(dòng)維護事務(wù)本身的特性。 四 ORACLE數據庫的事務(wù)定義 ORACLE事務(wù)從COMMIT、ROLLBACK、連接到數據庫或開(kāi)始第一 條可執行的SQL語(yǔ)句時(shí)開(kāi)始,到一條COMMIT、ROLLBACK語(yǔ)句或退出 數據庫時(shí)結束。
如果在一個(gè)事務(wù)中包含DDL語(yǔ)句,則在DDL語(yǔ)句的 前后都會(huì )隱含地執行COMMIT語(yǔ)句,從而開(kāi)始或結束一個(gè)事務(wù)。 如果一個(gè)事務(wù)由于某些故障或者由于用戶(hù)改變主意而必須在 提交前取消它,則數據庫被恢復到這些語(yǔ)句和過(guò)程執行之前的狀 態(tài)。
利用ROLLBACK語(yǔ)句可以在COMMIT命令前隨時(shí)撤消或回退一個(gè) 事務(wù)。可以回退整個(gè)事務(wù),也可以會(huì )退部分事務(wù),但是不能回退 一個(gè)已經(jīng)被提交的事務(wù)。
回退部分事務(wù)的ROLLBACK命令為: ROLLBACK to savepoint 存儲點(diǎn)名 存儲點(diǎn)是用戶(hù)放入事務(wù)中的標記,用來(lái)表示一個(gè)可被回退的 位置。存儲點(diǎn)通過(guò)在事務(wù)中放入一個(gè)SAVEPOINT命令而被插入。
該 命令的語(yǔ)法是: SAVEPOINT 存儲點(diǎn)名 如果在ROLLBACK語(yǔ)句中沒(méi)有給出存儲點(diǎn)名,則整個(gè)事務(wù)被回 退。 五 SYBASE數據庫的事務(wù)定義 SYBASE通過(guò)使用BEGIN TRANsaction和COMMIT TRANsaction命令指 示SQL將任意數目的語(yǔ)句作為一個(gè)單元來(lái)處理。
ROLLBACK TRANsaction 命令則允許用戶(hù)恢復到事務(wù)的開(kāi)始,或恢復到事務(wù)內部已經(jīng)被用SAVE TRANsaction命令定義的存儲點(diǎn)上。 BEGIN TRANsaction和COMMIT TRANsaction能夠包含任意數目的SQL 語(yǔ)句和存儲過(guò)程,方法很簡(jiǎn)單: BEGIN TRANsaction [事務(wù)名稱(chēng)] COMMIT TRANsaction 如果一個(gè)事務(wù)由于某些故障或者由于用戶(hù)改變主意而必須在提交 前取消它,則數據庫被恢復到這些語(yǔ)句和過(guò)程執行之前的狀態(tài)。
利用ROLLBACK TRANsaction命令可以在COMMIT TRANsaction命令 前隨時(shí)回退一個(gè)事務(wù)。可以回退整個(gè)事務(wù),也可以回退部分事務(wù),但 是不能回退一個(gè)已經(jīng)被提交的事務(wù)。
ROLLBACK TRANsaction命令為: ROLLBACK TRANsaction [事務(wù)名|存儲點(diǎn)名] 存儲點(diǎn)名是用戶(hù)放入事務(wù)中的標記,用來(lái)表示一個(gè)可以被回退的 位置。存儲點(diǎn)名通過(guò)在事務(wù)中放入一個(gè)SAVE TRANsaction命令而被插 入。
該命令的句法是: SAVE TRANsaction 存儲點(diǎn)名 如果在ROLLBACK TRANsaction中沒(méi)有給出存儲點(diǎn)名或事務(wù)名,則 事務(wù)被回退到批處理中的第一個(gè)BEGIN TRANsaction語(yǔ)句處。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.703秒