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