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