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