評《數據庫原理、編程與性能》

數據、關係、對象
         --評《數據庫原理、編程與性能》
                       楊希煬


  數據庫--一個讓人感到多麼熟悉的名詞。似乎懂得一點計算機知識的人都知道它,不少的程序員就是在學習數據庫開發語言的過程中,走上程序設計之路的。然而竟有不少計算機科學本科生在臨近畢業時,仍然認爲編程就是學一門數據庫開發語言,而會使用該語言工作就會掙大錢。多麼幼稚、膚淺的想法!情況真的是如此嗎!程序設計僅僅就是數據庫開發嗎?數據庫就是學一門開發語言那麼簡單嗎?若一位計算機科學專業的學生也要如此認爲,我只能感到絕望!
  在進入本文的正題之前,先說一些題外話。這些話在心中憋了很久了,如梗在喉,不吐不快。
  時值今日,竟然還有這樣多的人認爲大學計算機本科開設的課程對於編程開發一點用都沒有。操作系統沒用、編譯原理沒用、數據庫原理沒用、彙編語言沒用、離散數學沒用、數據結構沒用,總之原理性課程都毫無實用價值,學來浪費時間。雖說我國大學本科計算機科學教育的情況不容樂觀,教材、教學內容確有老化之態,教學深度也遠無法與歐美國家相比較。但這並不意味着學校開設的課程不具備科學性。姑且不論編程之於計算機科學,只是其冰山之一角,計算機科學之美亦並不僅侷限於編程。
  我們先來看看原理性課程是否真的如表面上看起來那樣毫無用處。不懂得進程、線程的運行機制,不懂得文件的邏輯和物理格式,寫得出精緻的程序嗎?沒學過編譯原理,你知道程序設計有多難嗎?沒有經過設計系統程序的磨礪,你的編程能力永遠不可能進入高階。數據結構與算法的重要性更不必多說。可悲的是,無知的人尚情有可原,學過之後還是這樣無知就不知道該如何形容了。
  你難道竟然不知道理論之於人,並不僅僅在於知識的傳授,而更重要地方在於其對於自身知識結構體系的變遷、意識形態的昇華與在對真理的漫長探索中思維的一次次碰撞以達至理解的逐層深入嗎!急功近利的學習心態終究要嚐到惡果的!
  回到我們文初的話題,數據庫原理課程也絕不是學習一門開發語言那麼簡單。如果真是那樣,數據庫領域中又如何能夠誕生出C.W.Bachman、E.F.Codd和James Gray三位獲得圖靈獎的大師呢?在計算機科學領域,數據庫的理論與技術是發展得最快的,應用得最廣的。因爲今日之計算機,其最常見的用途就在於數據的存儲與處理,而這正是數據庫技術的研究與應用範圍。
  下面,我們就來看看這本由James Gray作序的講授數據庫原理與現實商業性數據庫產品相結合的書吧。本書最具特色的地方在於,兩位作者清晰的筆觸將繁複的數據庫理論融入字裏行間,對一些非常不易理解的地方加以強調和反覆。很多模糊的地方是在學的過程中逐漸清晰起來的,讓人頭疼的知識點也將不再是那麼令人難以捉摸了。
作者在應用領域豐富的開發經驗賦予本書極快的知識更新及與現實大型數據庫產品的巧妙融合。本書作爲計算機科學教材,其知識性與理論性是必需的。而它又如何與實踐相結合,這是經過了作者在寫作過程中反覆的思量與考慮。但凡數據庫方面的理論書籍,其內容都特別豐富,本書亦不例外。
  數據庫系統是由DBMS管理下的具有某種特定數據模式的數據元素集合。數據模式的類型也就決定了數據庫系統的類型。以關係作爲數據模式的數據庫系統自然就稱之爲關係型數據庫。這是數據庫領域中理論最成熟、用途最廣泛的數據庫系統,也是本書的基礎。而已經走向成熟,並逐漸在業界的高端產品得到應用的對象-關係數據庫則成爲本書講述的重點。貫穿於全書的關於INFORMIX、DB2、ORACLE三種最新的對象-關係型數據庫的類比講解,使讀者能夠迅速的將理論知識與實際產品聯繫起來。既不會使人覺得理論過於抽象,又不會讓人駐足於應用開發而無法深入理解技術內涵。
  正是這本書內容的豐富及其自身所具備深度使得這本書不太適合初學者。看過一兩本數據庫基本原理方面的書自是最好,數據結構方面的知識則是必備的。進入本書高級部分涉及數據庫的邏輯與物理設計時,對指針的理解、搜索、內排序、外排序、索引技術、哈希表、B樹和B+樹結構的掌握,無不對你學習數據庫設計有很大的助益。
  數據庫自身的理論性很強,關係代數中的除法運算就頗令人費解,有了離散數學的基礎,從而對笛卡爾乘積原理理解的相當透徹的話,除法就不會顯得那麼難懂。因爲關係代數中的除法實際上就是笛卡爾乘積的逆運算。阿姆斯特朗公理、函數依賴和範式理論其理論基礎正好是離散數學領域中的命題邏輯和謂詞邏輯。計算機科學中各子分類學科的結構關係再一次得到體現。
  本書既強調理論又強調應用,全書衆多的定義、定理、詳細的證明過程、豐富的應用實例使得本書翻之有望而生畏之感,讀之又有暢快淋漓之覺。實在是一本不可多得的好書,值得大家認真去學。
  不積跬步,無以至千里;不積小流,無以成江海。駑馬十駕,功在不捨。沒有紮實的專業基本素養,決不能展翅高飛。學習是苦行僧的自修,是對世界本原、客觀真理的艱苦的探索,是人生最富於生趣的遊戲,是在痛苦與快樂之間來回激盪的水流。--這就是人的追求!
  下面再向讀者推薦一些好書:
  《數據庫系統導論》(第七版)C.J.Date著 機械工業出版社,數據庫領域中的權威著作,專業理論書籍出版至第七版,在業界是罕見的,可以想見該書具有多高的水平。
  《數據庫系統概念》(第三版)Silberschatz著 機械工業出版社 光看作者的名字就知道這肯定是一本好書。
  《數據庫系統基礎教程》清華大學出版社、《數據庫系統實現》機械工業出版社 J.D.Ullman著 斯坦福大學五門數據庫系列課程的前兩門教材,《數據庫系統實現》一書的層次在我國已相當於研究生課程水平。
  《數據庫設計》Stephens著 機械工業出版社 一本不太厚也不太難的入門書。
  《數據挖掘--概念與技術》Jiawei Han(韓家煒)著 機械工業出版社 數據挖掘領域的國際知名專家韓家煒教授最新力作,系統而全面的介紹了數據挖掘技術,可讀性甚佳。
  《數據庫處理--基礎、設計與實現》(第七版)D.M.Kroenke著 電子工業出版社 很少見的使用Access作爲實例介紹數據庫原理與設計的書,內容清晰易懂。
  《數據庫系統概論》(第三版)薩師煊、王珊著 高教出版社 國內本科及研究生專選教材,兩位作者均爲我國數據庫界的著名專家。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章