自學資料庫
『壹』 如何自學oracle資料庫
你想學oracle幹嘛用,oracle資料庫可是大型資料庫,不說一般,就是中型企業也支付不起一年幾千萬的使用費。初學者可以先學mysql資料庫。
mysql和oracle一樣都支持sql語法,都是關系型資料庫。不同的是存儲過程不一樣,許可權管理不一樣。mysql現在是中小型企業的主流。你可以考慮一下。
你可以想想一個oracle資料庫工程師的要求,即使你達到了,企業也不敢用年輕人。所以先主要已mysql入手。
最好買一本適合初學者的書,買別的書估計初學者看不懂。再結合網上的教程,資料。
如何純粹是為了好玩,那就隨心所欲吧。首先學習什麼是關系型資料庫,關系型資料庫的特點和數據是如何查詢的這些都有助於你今後對資料庫的理解。作為一個能寫出高效的sql語句的程序員來說這個必須要理解。
然後學習sql語句,sql語句主要是對表的操作。查詢,刪除,修改,添加等操作。
然後再學習觸發器,存儲過程,視圖,控制器 。
學到這里就有一定的基礎了,接下來可以選擇學習方向,你可以深入學習資料庫許可權管理,你可以學習更多的資料庫函數來寫出高效的sql語句。
『貳』 自學oracle資料庫的方法。
第一步:學習oracle安裝。x0dx0a第二步:學習oracle基礎語法知識。x0dx0a第三步:實際操作基礎語法指令。x0dx0a第四步:學習存儲過程、function、sequence(序列)等高級知識。x0dx0a第五步:學習oracle高級優化。x0dx0a參考書籍:《oracle從入門到精通》x0dx0a備註:oracle也算是一門語言,即使半個月或者是半年也無法學習透徹的,建議根據上面的思路逐層深入學習即可。
『叄』 自學資料庫MySQL需要注意哪些方面
一、熟悉MySQL的運行環境
MySQL資料庫是在linux環境下運行的,建議先熟練Linux系統。選定好架構模式之後就可以開始進入程序開發和數據處理的環節。
二、有扎實的資料庫理論知識
MySQL作為關系型資料庫,在實際的應用中也要學會分析存儲數據的關系型數據結構,關系操作集合等。只有對這些內容有一個明確的認識,在設計資料庫欄位、表與表的關系才能考慮周全,避免出現錯誤。
三、熟練的SQL語言運用
任何一種資料庫的學習,包括MySQL,SQL語句都是位於核心部分的內容。需要注意的是SQL語言的使用要力求簡明扼要,能用一個select搞定的問題並不需要寫更多的union。所以在SQL語言的應用方面要注意高效。
『肆』 自學資料庫難嗎
首先要看你要什麼資料庫,假設說是sqlserver2005的話,就可以去找有關sqlserver2005的書,不用專門指哪一本,很多書的內容都是差不多的,你括弧中的那句話,其實圖片這個資源是存放在項目文件夾中的,並不是存放在資料庫中,存放在資料庫中只是存放該圖片的路徑名而已,當要顯示該圖片就直接把該圖片在資料庫中的路徑顯示出來,當在網頁上根據路徑就能夠顯示對應的圖片。資料庫入門有點難,不過你肯努力應該不是大問題。就只是那些映射關系呀、關系模型表呀等等弄清楚弄明白後就不會很難的了
『伍』 如何學習資料庫知識
好像武俠小說里邊說的:「你的招式忘了沒有?」,回答:「差不多忘了」,「忘了就好」。
這與資料庫編程有什麼關系?關系可大了。同志們學過Pascal、BASIC、C(C++)沒有?如果沒有,FOXBASE、FOXPRO應該學過吧?按以上這些語言編程,都是過程化的,說白一點就是一個數據一個數據、一條記錄一條記錄去處理(FOXBASE、FOXPRO不完全這樣,但書上也經常是這樣介紹的),當初我接觸ACCESS
97時,一下子沒有了IF、FOR這些語句(指數據處理),都用SQL語句,真是找不到北了,好在我學SQL語言時,也盡量忘掉這個IF、FOR,到我忘得差不多時,功夫也進了一大步,原來要編一大段程序,現在一兩條SQL語句搞定,就算用多幾條SQL語句,由於是在圖形界面下做,可視化操作,拉拉扯扯,再修改一下生成的SQL語句,也就省事多了。
由於ACCESS具備完整的SQL語言(FOXBASE沒有、FOXPRO不完整),我從ACCESS
97開始用ACCESS編程,到現在為止,DAO、ADO很少用,加上最近從愛賽思上接觸的一些技術,基本上不用DAO、ADO都可以了,可以從我的「未完工的庫存管理」中看出,只是在特殊情況下才偶爾用一下。(少用,但不是不用,還得學,不要誤解)
如何學好資料庫編程?下面介紹一下本人的一些經驗,僅供參考:
1.首先要把原來一個數據一個數據、一條記錄一條記錄的數據處理方式忘掉,越徹底越好。
現在用成批處理了。少用記錄集一條記錄一條記錄地處理,盡量用SQL語句。
2.學好關系資料庫的理論,尤其是規范化理論,表的設計一定要規范化,最起碼要規范化到第三範式。集合運算(並、交、差)。關系運算(選擇、投影、連接)。其中連接與規范化是緊密結合的。
3.運用面向對象的技術:面向對象的分析OOA、面向對象的設計OOD、面向對象的編程OOP,根據表的關系,用窗體和子窗體、報表和子報表,模擬面向對象,這樣可以增加程序的可讀性和可維護性。(這是高級技術,同志們不要輕視,做大項目你就知道有用了)
4.用查詢時,通常一步做不出來,可以分幾步做,本人通常是這么做的,從我給網友回復的例子中也可以看得出。為什麼要這樣做?(1)有些是SQL語言的限制,沒辦法一步做出來,逼的;(2)可以檢查每一步查詢的結果,容易調試;(3)增加可讀性,便於日後維護。
5.查詢的結果用窗體顯示或用報表列印,兩者的技術差不多。通常改變打開窗體或報表的條件就可控制顯示或列印的記錄范圍。另外用查詢做數據源時,動態改變查詢中的SQL語句,比在查詢中引用窗體的控制項要方便,因為SQL語句生成是在VBA中,可以先存放在字元變數中,然後再更新查詢的SQL語句,這樣就可以用斷點來檢查變數值對不對,如果在查詢中引用窗體的控制項,尤其是包含IIF()函數時,調試是很困難的。
6.開發一個系統,首先要解決技術問題,即演算法,用簡單例子,把演算法弄懂了,再詳細設計,這一點從網友的提問中可以看出,有很多人問題表達不清楚,有的人其中夾了很多與演算法無關的東西,尤其是很專業的東西,別人不容易看得明白,由於演算法沒搞清楚,程序就無法編了。
7.不要使用過多的工具特性,使用過多的工具特性會使可讀性降低,可維護性差,要別人幫忙時難以得到幫助,更要命的是可移植性差,從MDB到ADP就可以體會到了,所以在編程時可讀性很重要,可移植性更重要,你甘心自己的程序就固定在一個環境下運行嗎?你甘心永遠用一個工具搞開發嗎?為了你的「錢途」,不要玩弄太多的技巧,當然技術研究是另外一碼事。
『陸』 資料庫應該怎麼學習,零基礎。
1、 自己在windows和linux上安裝了mysql,自學linux的基礎知識,學習mysql的最基礎的知識,即怎麼寫sql,存儲過程,表的設計等,從0到熟悉大概花了3個月 ,推薦《mysql入門很簡單》。
2、系統地較為深入地學習mysql的sql優化,備份和恢復,參數優化,架構優化,硬體層面的優化,高可用方案,復制技術等等,這段時間你不一定能實際接觸到這些,就像我當初那樣,肯定沒什麼公司招一個小白。
我選擇自己看書,推薦《高性能mysql》,裡面所有的章節都需要看一遍,以現在的水平肯定看不懂,但需要知道大概怎麼回事,為後續的找mysql初級dba的工作打一個鋪墊,這個過程大概也需要3個月。
3、 紙上得來終覺淺,完成以上兩步,我開始准備找一份mysql相關的工作,而不是天天用著excel表格做著select * from table_sb這樣的工作。
當然我這么猥瑣的人肯定不會裸辭,該畫的電路板也一樣畫,業余時間開始投初級mysql dba的工作,並且不間斷地學習,網上各種找mysql面試的相關題目(實際上我當時完全沒有任何實戰經驗),陸續收到一些面試,憑借之前自學的mysql知識,開始胡亂吹牛逼,先混進去再說。
你不做mysql實際相關的工作,永遠也不知道自己之前認知的db知識有多幼稚。
友情提示一點,一般公司都沒有專職dba的,所以面試的時候一定要自信,其實你學了這么多,雖然毫無實戰經驗,理論知識很大概率比面試你的人牛逼,所以各種吹,我就這樣真正進入初級dba的圈子(由於這時對linux還處於cd ls的水平,所以之前也根本沒做過運維),這個邊工作邊找工作的過程又持續了2個月。
4、真正進入互聯網,接觸生產環境後,這是我進步最大的時候。
第一步需要將之前所學真正地應用起來,並且應用的過程中,再回頭看之前的書籍,這時候需要真正去理解,而不是似是而非,一知半解。
這時再推薦《高性能mysql 第三版》,全本再看一遍,這時需要全部看懂,另外還有《mysql技術內幕:innodb存儲引擎》等等。
總之這段時間就需要開始關注mysql一些細節了,比如db故障處理,高可用,負載均衡等等的具體實現了。
另外,linux的知識同步也要深入去學習,至少會寫shell腳本,常見的linux知識等,我在這花了1年多;
5、 dba的工作一般是非常輕閑的,畢竟不是大公司,技術能力有限,該學的也學得差不多了,接觸不到海量數據,高並發等比較鍛煉人的場合,於是我又准備跳了。
於是來了公有雲,現在每天運維萬多個db實例,平均每天處理5+個緊急db故障,幾乎mysql會遇到的問題,感覺都遇到了,能感覺到技術實力和經驗也在每天都在積累,在進步。
但是感覺還是欠缺了很多,下一步就看你選擇了,是再去研究源代碼,底層原理的東西多點,還是資料庫運維和應用多一點,就比如業界姜承堯,何登成與葉金榮的區別。
由於我的歷史原因,對c++等幾乎不懂,平時也用不到,所以看代碼等事實際太累,於是我再去學mongodb,接了公司mongodb運維的活,算是在廣度上的一個擴展,萬一哪天mysql不行了呢
6、 總之,對於db小白來說,最重要的一點就是,學習的過程不能斷。
PS 上面的方法比較野路子,適合沒什麼基礎的童鞋,如果本來就是DBA,比如從oracle轉到mysql,那麼建議直接看mysql官方文檔,而官方文檔是db達到一定水平後必看,出問題時必查的權威文檔。
『柒』 我是菜鳥,對資料庫幾乎一無所知,現在要用打算自學,請問應該先學什麼
先學《資料庫原理》這書,這本書中介紹資料庫的基礎知識,伴隨SQL Server資料庫的應用作為例子
相對來說 ,MS SQL Server是比較簡單的資料庫。
學了這個原理,就可以去學習其他一些比較高級點的資料庫,看你們企業用什麼,用什麼學什麼。
『捌』 零基礎自學sql要多久
零基礎學sql大約需要3-5個月的時間。
SQL全稱是 Structured Query Language,翻譯後就是結構化查詢語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。那麼什麼是資料庫呢?簡而言之就是存儲數據的倉庫,Excel為什麼不算資料庫呢,因其能夠存儲的數據量真的太小了,Excel2016最多存儲104萬條數據。現在大數據時代數據動輒百萬、千萬,所以需要資料庫來幫忙。SQL的能力分為入門,實戰兩個階段,具體看面試的崗位要求的水平。一般SQL分為增,刪,改,查四大能力。很多人都以為按這個順序應該先寫增,刪,改,但其實往往工作中真正用到的是查。SQL很通用,隨便找一本教程都會講這東西,網上也很多,根本不用挑選。學習的重點要放在理解結構化數據的概念和運算,而不是SQL的語法。理解那些基礎知識後,語法本身就不是個事。
想了解更多sql相關詳情,推薦咨詢達內教育。達內教育具有豐厚的師資力量,優秀的教學體系,教學質量突出。理論知識+學習思維+實戰操作,打造完整學習閉環。實戰講師,經驗豐富。達內教育獨創TTS8.0教學系統,並設有企業雙選會。達內的OMO教學模式,全新升級,線上線下交互學習,直播學,隨時學,隨時問,反復學,學習安排更便捷。【想要了解更多信息,歡迎點擊咨詢達內教育!】