資料庫該學什麼!!!!

wanglei919發表於2010-07-21

 初學者得明確,資料庫與資料庫產品是兩回事,就像程式語言(C、Java)與程式設計工具(VisualC++、Eclipse)是兩回事一樣。SQL Server、Oracle、DB2、MySQL這些,都是不同廠家的資料庫產品。當前資料庫有關聯式資料庫、物件導向資料庫、物件關聯式資料庫以及**資料庫等。不過與程式語言的世界中百家爭鳴,各領風騷不同,在當前資料庫環境中,關聯式資料庫及SQL語言還佔據著絕對的優勢,這方便你不需要猶豫!
    當然,學習關聯式資料庫需要結合具體的資料庫產品以增加感性認識和積累經驗。主流的資料庫產品都很好(但不是完全)地支援關聯式資料庫。到底選擇哪個產品就是個純粹的門戶之爭方面的問題,我就不趟這趟渾水了。
    與資料庫打交道的大概有兩類人:一類是資料庫管理員,專門負責資料庫的建立和管理維護;一類是程式設計師,使用ODBC、JDBC、ADO、ADO.NET之類的介面訪問資料庫,很可能也會客串資料庫管理員的角色。不管哪類角色,學好SQL語句是最基礎的。如果對關係代數有所理解,則對SQL語句的掌握會更深入一些,特別是克服用過程的觀點來理解SQL語言和關聯式資料庫中的概念。
    如果要負責建立資料庫,最好認真學習正規化方面的理論,另外特別要注意實體之類數量上的關聯關係。有的人設計的資料表,跟Excel表格沒什麼差別。
    若還要處理查詢效能方面的問題,則對索引必須有到位的理解。可惜資料庫課程上不怎麼深入探討這東西,倒不如溫習一下資料結構和演算法。

相關文章