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