一、數(shù)據(jù)庫(kù)怎么學(xué)習(xí)
新手學(xué)習(xí)數(shù)據(jù)庫(kù)務(wù)必把握的知識(shí)要點(diǎn):
數(shù)據(jù)庫(kù)的安裝下載:了解數(shù)據(jù)庫(kù)的環(huán)境變量,文件目錄構(gòu)造。
數(shù)據(jù)庫(kù)網(wǎng)絡(luò)服務(wù)器的啟動(dòng),登陸與登出。
數(shù)據(jù)庫(kù)常用命令及語(yǔ)法標(biāo)準(zhǔn)。
數(shù)據(jù)庫(kù)基本數(shù)據(jù)類(lèi)型與數(shù)據(jù)表的實(shí)際操作。比如,數(shù)據(jù)表的增刪、單表查尋、多表查詢(xún)等。
數(shù)據(jù)庫(kù)運(yùn)算符和函數(shù),比如,日期函數(shù),時(shí)間函數(shù),信息函數(shù),聚合函數(shù),數(shù)據(jù)加密涵數(shù),自定義函數(shù)等。
數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程的調(diào)度。
數(shù)據(jù)庫(kù)每個(gè)存儲(chǔ)引擎的特性。
數(shù)據(jù)庫(kù)事務(wù)管理的定義和應(yīng)用等。
數(shù)據(jù)庫(kù)管理權(quán)限和用戶(hù)管理等。
上述知識(shí)了解之后,就需要學(xué)習(xí)一下數(shù)據(jù)庫(kù)的常見(jiàn)的函數(shù),再以后便是要學(xué)習(xí),存儲(chǔ)過(guò)程,函數(shù),觸發(fā)器原理,事務(wù)管理。學(xué)完之后,基礎(chǔ)數(shù)據(jù)庫(kù)方面就沒(méi)什么難題了,要是不做高級(jí)的科學(xué)研究,這些專(zhuān)業(yè)知識(shí)就夠了。要想學(xué)精數(shù)據(jù)庫(kù),就需要多練習(xí),試著自己建立一個(gè)含有邏輯性的合乎第三范式之上的數(shù)據(jù)庫(kù),隨后寫(xiě)SQL、觸發(fā)器原理、存儲(chǔ)過(guò)程、view視圖等。最重要的便是,把它們中間的邏輯弄清楚。
數(shù)據(jù)庫(kù)理論知識(shí)是學(xué)好數(shù)據(jù)庫(kù)的基礎(chǔ),雖然理論知識(shí)會(huì)有點(diǎn)枯燥,但是這是學(xué)好數(shù)據(jù)庫(kù)的前提。如果沒(méi)有理論基礎(chǔ),學(xué)習(xí)的東西就不扎實(shí)。例如,數(shù)據(jù)庫(kù)理論中會(huì)講解E-R圖、數(shù)據(jù)庫(kù)設(shè)計(jì)原則等知識(shí),如果不了解這些知識(shí),就很難獨(dú)立設(shè)計(jì)一個(gè)很好的數(shù)據(jù)庫(kù)及表??梢詫⒗碚摵蛯?shí)例結(jié)合在一起來(lái)學(xué)習(xí),這樣效率會(huì)更高。
二、如何成為數(shù)據(jù)庫(kù)工程師
數(shù)據(jù)庫(kù)工程師一般分為開(kāi)發(fā)和管理兩種。
1、數(shù)據(jù)庫(kù)開(kāi)發(fā)
一般人剛接觸數(shù)據(jù)庫(kù)基本都是數(shù)據(jù)庫(kù)開(kāi)發(fā),就是寫(xiě)SQL代碼,做報(bào)表。按照一定的語(yǔ)法完成某項(xiàng)邏輯任務(wù)。這階段就是按需求查詢(xún)出數(shù)據(jù)即可,不出邏輯錯(cuò)誤就行了。
一般這樣的工作一些小公司都會(huì)直接讓軟件開(kāi)發(fā)工程師兼崗,只有那種數(shù)據(jù)需求量比較頻繁的公司才會(huì)單獨(dú)設(shè)立這種比較初級(jí)的數(shù)據(jù)統(tǒng)計(jì)崗位。
抑或是給一些銀行,電信,電力等這種大型的企業(yè)做服務(wù)外包,這些企業(yè)在目前還是很需要這類(lèi)數(shù)據(jù)庫(kù)開(kāi)發(fā)類(lèi)人才的,特別是剛畢業(yè)的大學(xué)實(shí)習(xí)生。
隨著你的技術(shù)知識(shí)的積累,接觸的開(kāi)發(fā)任務(wù)會(huì)越來(lái)越多,越來(lái)越復(fù)雜。這時(shí)候你接觸到的技術(shù)會(huì)越來(lái)越多,從數(shù)據(jù)采集,到數(shù)據(jù)加工處理,再到數(shù)據(jù)分發(fā)等等都會(huì)涉及到。
2、數(shù)據(jù)庫(kù)管理
數(shù)據(jù)庫(kù)管理就是我們常說(shuō)的DBA,主要是從事的數(shù)據(jù)庫(kù)管理工作,包括數(shù)據(jù)的備份,恢復(fù),故障處理,語(yǔ)句優(yōu)化,性能監(jiān)控等,對(duì)操作系統(tǒng)和數(shù)據(jù)庫(kù)的原理要比較了解。
這個(gè)崗位對(duì)自身的技術(shù)能力要求比較高,所以剛?cè)胄械某窃谶@一方面有比較高的造詣和研究,一般的公司是不會(huì)招新人從事這份工作的。
一般是數(shù)據(jù)庫(kù)開(kāi)發(fā)或者軟件開(kāi)發(fā)的轉(zhuǎn)行做DBA,他們使用的數(shù)據(jù)庫(kù)比較多,經(jīng)過(guò)日積月累對(duì)數(shù)據(jù)庫(kù)性能和故障處理有一定的了解。當(dāng)然也有其他職務(wù)轉(zhuǎn)做DBA的,不變的是他們都和數(shù)據(jù)庫(kù)打交道比較久。
3、薪酬對(duì)比
在職務(wù)薪酬這一塊,DBA的薪酬一般是高于數(shù)據(jù)庫(kù)開(kāi)發(fā)的,經(jīng)驗(yàn)豐富的DBA一般人只能望其項(xiàng)背,當(dāng)然也有從刪庫(kù)到跑路的DBA。重要的還是對(duì)一些技術(shù)原理的掌握和對(duì)故障的精準(zhǔn)判斷,這些都是靠時(shí)間積累的。就像一個(gè)老中醫(yī)一樣,功力越深越吃香。
4、流行度
目前在國(guó)內(nèi)DBA一般是Oracle和Mysql較多,SQL Server的DBA也有,只是相對(duì)前兩個(gè)比較少,這與數(shù)據(jù)庫(kù)所占份額及流行度有關(guān)。Oracle和Mysql在Windows和Linux環(huán)境都可以很好的兼容,SQL Server在2017年之前都一直只支持自家的Windows操作系統(tǒng),之后才開(kāi)始兼容Linux。
5、新手選擇
新手同學(xué)在入數(shù)據(jù)這一行的啟蒙數(shù)據(jù)庫(kù)大多數(shù)都是SQL Server(原因應(yīng)該是大學(xué)的教程是以SQL Server為平臺(tái)),主要是它可視化界面比Oracle和Mysql友好。
但是真正的大神還是比較喜歡命令界面,畢竟命令界面的響應(yīng)速度快的不是一點(diǎn)點(diǎn),而且命令界面也有助于更好的記住數(shù)據(jù)庫(kù)的相關(guān)命令。
6、學(xué)習(xí)建議
如果你想快速上手?jǐn)?shù)據(jù)庫(kù)的唯一途徑就是理論加實(shí)踐,多看書(shū),多操作。那些標(biāo)榜一個(gè)月從入門(mén)到精通的培訓(xùn)或教程實(shí)在不敢茍同,真正能讓人成長(zhǎng)起來(lái)的還是工作后每天成堆的數(shù)據(jù)需求,迫使不斷努力進(jìn)步。當(dāng)然這里不是否定培訓(xùn)價(jià)值,他們是引導(dǎo)我們打好基礎(chǔ)的有效途徑,其他的完全靠自己。因?yàn)橛行﹩?wèn)題只有在工作中遇到了才知道怎么處理,紙上談兵是解決不了問(wèn)題的。
此外還是得有不恥下問(wèn)的精神和勇氣,即使老師想把所有知識(shí)都傳授給你,但是他不知道你哪里不懂,那他只能按照自己的章法去傳授,這樣的結(jié)果就是他的任務(wù)完成了,至于你懂了沒(méi)他并不知道。
數(shù)據(jù)庫(kù)打好基礎(chǔ)真的不難,只要肯花時(shí)間去練。短時(shí)間就可以掌握這些基礎(chǔ)知識(shí)。再加上實(shí)踐,經(jīng)過(guò)時(shí)間的錘煉,總會(huì)在某一方面有自己的建樹(shù)。