一、數(shù)據(jù)庫怎么學習
新手學習數(shù)據(jù)庫務必把握的知識要點:
數(shù)據(jù)庫的安裝下載:了解數(shù)據(jù)庫的環(huán)境變量,文件目錄構造。
數(shù)據(jù)庫網(wǎng)絡服務器的啟動,登陸與登出。
數(shù)據(jù)庫常用命令及語法標準。
數(shù)據(jù)庫基本數(shù)據(jù)類型與數(shù)據(jù)表的實際操作。比如,數(shù)據(jù)表的增刪、單表查尋、多表查詢等。
數(shù)據(jù)庫運算符和函數(shù),比如,日期函數(shù),時間函數(shù),信息函數(shù),聚合函數(shù),數(shù)據(jù)加密涵數(shù),自定義函數(shù)等。
數(shù)據(jù)庫存儲過程,存儲過程的調度。
數(shù)據(jù)庫每個存儲引擎的特性。
數(shù)據(jù)庫事務管理的定義和應用等。
數(shù)據(jù)庫管理權限和用戶管理等。
上述知識了解之后,就需要學習一下數(shù)據(jù)庫的常見的函數(shù),再以后便是要學習,存儲過程,函數(shù),觸發(fā)器原理,事務管理。學完之后,基礎數(shù)據(jù)庫方面就沒什么難題了,要是不做高級的科學研究,這些專業(yè)知識就夠了。要想學精數(shù)據(jù)庫,就需要多練習,試著自己建立一個含有邏輯性的合乎第三范式之上的數(shù)據(jù)庫,隨后寫SQL、觸發(fā)器原理、存儲過程、view視圖等。最重要的便是,把它們中間的邏輯弄清楚。
數(shù)據(jù)庫理論知識是學好數(shù)據(jù)庫的基礎,雖然理論知識會有點枯燥,但是這是學好數(shù)據(jù)庫的前提。如果沒有理論基礎,學習的東西就不扎實。例如,數(shù)據(jù)庫理論中會講解E-R圖、數(shù)據(jù)庫設計原則等知識,如果不了解這些知識,就很難獨立設計一個很好的數(shù)據(jù)庫及表??梢詫⒗碚摵蛯嵗Y合在一起來學習,這樣效率會更高。
二、如何成為數(shù)據(jù)庫工程師
數(shù)據(jù)庫工程師一般分為開發(fā)和管理兩種。
1、數(shù)據(jù)庫開發(fā)
一般人剛接觸數(shù)據(jù)庫基本都是數(shù)據(jù)庫開發(fā),就是寫SQL代碼,做報表。按照一定的語法完成某項邏輯任務。這階段就是按需求查詢出數(shù)據(jù)即可,不出邏輯錯誤就行了。
一般這樣的工作一些小公司都會直接讓軟件開發(fā)工程師兼崗,只有那種數(shù)據(jù)需求量比較頻繁的公司才會單獨設立這種比較初級的數(shù)據(jù)統(tǒng)計崗位。
抑或是給一些銀行,電信,電力等這種大型的企業(yè)做服務外包,這些企業(yè)在目前還是很需要這類數(shù)據(jù)庫開發(fā)類人才的,特別是剛畢業(yè)的大學實習生。
隨著你的技術知識的積累,接觸的開發(fā)任務會越來越多,越來越復雜。這時候你接觸到的技術會越來越多,從數(shù)據(jù)采集,到數(shù)據(jù)加工處理,再到數(shù)據(jù)分發(fā)等等都會涉及到。
2、數(shù)據(jù)庫管理
數(shù)據(jù)庫管理就是我們常說的DBA,主要是從事的數(shù)據(jù)庫管理工作,包括數(shù)據(jù)的備份,恢復,故障處理,語句優(yōu)化,性能監(jiān)控等,對操作系統(tǒng)和數(shù)據(jù)庫的原理要比較了解。
這個崗位對自身的技術能力要求比較高,所以剛入行的除非在這一方面有比較高的造詣和研究,一般的公司是不會招新人從事這份工作的。
一般是數(shù)據(jù)庫開發(fā)或者軟件開發(fā)的轉行做DBA,他們使用的數(shù)據(jù)庫比較多,經(jīng)過日積月累對數(shù)據(jù)庫性能和故障處理有一定的了解。當然也有其他職務轉做DBA的,不變的是他們都和數(shù)據(jù)庫打交道比較久。
3、薪酬對比
在職務薪酬這一塊,DBA的薪酬一般是高于數(shù)據(jù)庫開發(fā)的,經(jīng)驗豐富的DBA一般人只能望其項背,當然也有從刪庫到跑路的DBA。重要的還是對一些技術原理的掌握和對故障的精準判斷,這些都是靠時間積累的。就像一個老中醫(yī)一樣,功力越深越吃香。
4、流行度
目前在國內DBA一般是Oracle和Mysql較多,SQL Server的DBA也有,只是相對前兩個比較少,這與數(shù)據(jù)庫所占份額及流行度有關。Oracle和Mysql在Windows和Linux環(huán)境都可以很好的兼容,SQL Server在2017年之前都一直只支持自家的Windows操作系統(tǒng),之后才開始兼容Linux。
5、新手選擇
新手同學在入數(shù)據(jù)這一行的啟蒙數(shù)據(jù)庫大多數(shù)都是SQL Server(原因應該是大學的教程是以SQL Server為平臺),主要是它可視化界面比Oracle和Mysql友好。
但是真正的大神還是比較喜歡命令界面,畢竟命令界面的響應速度快的不是一點點,而且命令界面也有助于更好的記住數(shù)據(jù)庫的相關命令。
6、學習建議
如果你想快速上手數(shù)據(jù)庫的唯一途徑就是理論加實踐,多看書,多操作。那些標榜一個月從入門到精通的培訓或教程實在不敢茍同,真正能讓人成長起來的還是工作后每天成堆的數(shù)據(jù)需求,迫使不斷努力進步。當然這里不是否定培訓價值,他們是引導我們打好基礎的有效途徑,其他的完全靠自己。因為有些問題只有在工作中遇到了才知道怎么處理,紙上談兵是解決不了問題的。
此外還是得有不恥下問的精神和勇氣,即使老師想把所有知識都傳授給你,但是他不知道你哪里不懂,那他只能按照自己的章法去傳授,這樣的結果就是他的任務完成了,至于你懂了沒他并不知道。
數(shù)據(jù)庫打好基礎真的不難,只要肯花時間去練。短時間就可以掌握這些基礎知識。再加上實踐,經(jīng)過時間的錘煉,總會在某一方面有自己的建樹。