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