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