一、數據庫怎么學習
新手學習數據庫務必把(ba)握的(de)知識要(yao)點:
數據庫的(de)安裝下(xia)載:了解數據庫的(de)環境變(bian)量,文件目錄構造。
數(shu)據庫(ku)網絡服務器(qi)的啟(qi)動(dong),登陸與(yu)登出。
數據(ju)庫常用命令及語(yu)法標(biao)準(zhun)。
數(shu)據(ju)庫基本數(shu)據(ju)類型與數(shu)據(ju)表(biao)的實(shi)際操作。比如,數(shu)據(ju)表(biao)的增刪、單表(biao)查尋、多表(biao)查詢等。
數(shu)(shu)(shu)據(ju)庫(ku)運算符和函(han)(han)數(shu)(shu)(shu),比如,日期(qi)函(han)(han)數(shu)(shu)(shu),時間函(han)(han)數(shu)(shu)(shu),信息(xi)函(han)(han)數(shu)(shu)(shu),聚(ju)合(he)函(han)(han)數(shu)(shu)(shu),數(shu)(shu)(shu)據(ju)加密涵數(shu)(shu)(shu),自定義函(han)(han)數(shu)(shu)(shu)等。
數據庫(ku)存(cun)儲(chu)(chu)過(guo)程,存(cun)儲(chu)(chu)過(guo)程的(de)調度。
數據庫每個(ge)存儲引擎的特性。
數(shu)據庫事務管理的定義和應用等。
數據庫(ku)管理權限(xian)和用戶管理等。
上述知(zhi)識了解之(zhi)后(hou),就(jiu)(jiu)需要(yao)學(xue)習(xi)一(yi)下數據(ju)庫的(de)(de)常見的(de)(de)函數,再以后(hou)便是(shi)要(yao)學(xue)習(xi),存儲過(guo)程(cheng)(cheng),函數,觸(chu)發器(qi)(qi)原(yuan)理(li),事務管理(li)。學(xue)完(wan)之(zhi)后(hou),基礎數據(ju)庫方面(mian)就(jiu)(jiu)沒什么難題(ti)了,要(yao)是(shi)不做(zuo)高級(ji)的(de)(de)科學(xue)研究,這些(xie)專業知(zhi)識就(jiu)(jiu)夠了。要(yao)想學(xue)精數據(ju)庫,就(jiu)(jiu)需要(yao)多練習(xi),試著自己(ji)建立一(yi)個含(han)有邏(luo)(luo)輯性的(de)(de)合乎第三范式之(zhi)上的(de)(de)數據(ju)庫,隨后(hou)寫SQL、觸(chu)發器(qi)(qi)原(yuan)理(li)、存儲過(guo)程(cheng)(cheng)、view視圖(tu)等。最重要(yao)的(de)(de)便是(shi),把它們中間的(de)(de)邏(luo)(luo)輯弄清楚。
數據庫(ku)理(li)論(lun)知識是(shi)學好(hao)(hao)數據庫(ku)的(de)基(ji)礎,雖(sui)然理(li)論(lun)知識會有點枯(ku)燥,但是(shi)這(zhe)是(shi)學好(hao)(hao)數據庫(ku)的(de)前(qian)提。如(ru)果沒有理(li)論(lun)基(ji)礎,學習(xi)(xi)的(de)東西就不(bu)(bu)扎實。例如(ru),數據庫(ku)理(li)論(lun)中會講解E-R圖、數據庫(ku)設(she)(she)計原則等知識,如(ru)果不(bu)(bu)了(le)解這(zhe)些(xie)知識,就很(hen)難獨立設(she)(she)計一個(ge)很(hen)好(hao)(hao)的(de)數據庫(ku)及表。可以將理(li)論(lun)和實例結合在一起來學習(xi)(xi),這(zhe)樣效率會更高(gao)。
二、如何成為數據庫工程師
數據庫工程師一般分(fen)為開發和(he)管理(li)兩種。
1、數據庫開發
一般人剛接觸數(shu)(shu)據庫基(ji)本(ben)都(dou)是數(shu)(shu)據庫開發,就(jiu)是寫SQL代碼,做報(bao)表。按照一定的(de)語(yu)法完成(cheng)某項邏輯任務。這(zhe)階段就(jiu)是按需求(qiu)查詢出數(shu)(shu)據即可,不出邏輯錯誤就(jiu)行了(le)。
一(yi)(yi)般這樣的(de)(de)工(gong)(gong)作(zuo)一(yi)(yi)些(xie)小公司(si)都(dou)會(hui)直接讓軟件(jian)開發工(gong)(gong)程師兼崗(gang),只有那種(zhong)數(shu)據需求(qiu)量(liang)比較頻繁(fan)的(de)(de)公司(si)才會(hui)單(dan)獨設立這種(zhong)比較初級的(de)(de)數(shu)據統計崗(gang)位。
抑或是給一些銀行,電(dian)(dian)信,電(dian)(dian)力等這(zhe)種大(da)型的(de)企業(ye)做服務外(wai)包,這(zhe)些企業(ye)在目前還(huan)是很需要這(zhe)類數(shu)據庫開發類人才的(de),特別是剛(gang)畢業(ye)的(de)大(da)學實習生(sheng)。
隨著你的技(ji)術(shu)知識(shi)的積累,接觸的開發任(ren)務會越(yue)來越(yue)多,越(yue)來越(yue)復雜。這(zhe)時候你接觸到的技(ji)術(shu)會越(yue)來越(yue)多,從數據采(cai)集(ji),到數據加(jia)工處理,再到數據分發等(deng)(deng)等(deng)(deng)都會涉及到。
2、數據庫管理
數(shu)據庫(ku)管(guan)理(li)(li)就是我(wo)們常(chang)說的DBA,主(zhu)要是從事(shi)的數(shu)據庫(ku)管(guan)理(li)(li)工作(zuo),包括數(shu)據的備份,恢復,故障(zhang)處理(li)(li),語句優化,性能監控等,對操作(zuo)系統(tong)和數(shu)據庫(ku)的原(yuan)理(li)(li)要比較了解(jie)。
這個(ge)崗位對(dui)自身的技術能力要求比較高,所以剛入(ru)行的除非在這一方面有比較高的造詣和(he)研究,一般(ban)的公司(si)是不會招(zhao)新人(ren)從事這份(fen)工作的。
一般是數(shu)據(ju)(ju)庫(ku)開發或者軟(ruan)件(jian)開發的轉行做(zuo)DBA,他們使用的數(shu)據(ju)(ju)庫(ku)比較多,經過日積月(yue)累對數(shu)據(ju)(ju)庫(ku)性能和故障處理有一定的了解(jie)。當然也有其他職務轉做(zuo)DBA的,不變(bian)的是他們都和數(shu)據(ju)(ju)庫(ku)打(da)交(jiao)道比較久(jiu)。
3、薪酬對比
在職務(wu)薪酬這一(yi)(yi)塊,DBA的(de)(de)(de)薪酬一(yi)(yi)般是高于(yu)數據庫(ku)開(kai)發的(de)(de)(de),經驗豐(feng)富的(de)(de)(de)DBA一(yi)(yi)般人只能(neng)望(wang)其項背,當然也有從刪庫(ku)到跑路的(de)(de)(de)DBA。重(zhong)要的(de)(de)(de)還是對(dui)一(yi)(yi)些技術原理的(de)(de)(de)掌(zhang)握(wo)和對(dui)故障(zhang)的(de)(de)(de)精準(zhun)判斷,這些都是靠時間積(ji)累的(de)(de)(de)。就(jiu)像一(yi)(yi)個老中(zhong)醫一(yi)(yi)樣,功力越(yue)深(shen)越(yue)吃香。
4、流行度
目前在國內DBA一般是(shi)Oracle和Mysql較(jiao)多,SQL Server的DBA也有(you),只是(shi)相對前兩(liang)個(ge)比較(jiao)少,這與(yu)數據(ju)庫所占(zhan)份額及流(liu)行度有(you)關(guan)。Oracle和Mysql在Windows和Linux環境都可以很好的兼容(rong),SQL Server在2017年(nian)之前都一直只支(zhi)持自家的Windows操作系(xi)統,之后才(cai)開始兼容(rong)Linux。
5、新手選擇
新手同學(xue)(xue)在(zai)入數據(ju)這一行(xing)的啟(qi)蒙(meng)數據(ju)庫大多數都是(shi)SQL Server(原因(yin)應該是(shi)大學(xue)(xue)的教程(cheng)是(shi)以SQL Server為平臺),主要(yao)是(shi)它可視化界面比(bi)Oracle和Mysql友好。
但是真正的(de)大(da)神還是比較喜歡命(ming)令界(jie)面(mian)(mian),畢竟命(ming)令界(jie)面(mian)(mian)的(de)響應速度(du)快的(de)不是一點點,而且命(ming)令界(jie)面(mian)(mian)也有助于更好的(de)記住數據庫的(de)相關命(ming)令。
6、學習建議
如果你想(xiang)快速上手數(shu)據(ju)庫的(de)唯一途徑就是(shi)理論加實踐,多看書,多操(cao)作。那些標榜一個月(yue)從(cong)入門到(dao)(dao)精(jing)通的(de)培(pei)訓或教程(cheng)實在(zai)不敢(gan)茍同(tong),真(zhen)正(zheng)能讓人成長起來的(de)還是(shi)工作后每天成堆的(de)數(shu)據(ju)需求,迫(po)使(shi)不斷努力進(jin)步。當然(ran)這里不是(shi)否(fou)定培(pei)訓價值(zhi),他(ta)們(men)是(shi)引(yin)導我們(men)打好基(ji)礎(chu)的(de)有(you)效(xiao)途徑,其(qi)他(ta)的(de)完全靠自(zi)己(ji)。因(yin)為有(you)些問(wen)題只有(you)在(zai)工作中遇到(dao)(dao)了才知道(dao)怎么處(chu)理,紙上談兵是(shi)解決(jue)不了問(wen)題的(de)。
此(ci)外還是(shi)得有不(bu)恥下問的(de)精神和(he)勇(yong)氣,即使老師想(xiang)把所有知(zhi)識(shi)都傳(chuan)授給你,但是(shi)他不(bu)知(zhi)道你哪里不(bu)懂,那他只能按照自(zi)己的(de)章法去傳(chuan)授,這樣的(de)結果就是(shi)他的(de)任務完(wan)成了(le),至(zhi)于(yu)你懂了(le)沒他并不(bu)知(zhi)道。
數據庫打好基(ji)礎真(zhen)的不難,只要肯(ken)花時間(jian)(jian)去練(lian)。短時間(jian)(jian)就(jiu)可(ke)以掌(zhang)握這些基(ji)礎知識。再加上實踐,經過時間(jian)(jian)的錘煉,總會在某一方面有自己的建樹。