說到資料庫,我其實不是完全陌生,之前有在網路課程學過PostgreSQL的操作,當初是因為好奇學個興趣的,之後也未曾在工作上用到過,所以也不是真的很清楚實際運用上是長怎麼樣。也因為這樣,所以在圖書館看到《圖解!一次搞懂資料庫》這本書時就想說來翻翻看,讀起來超乎預期的有趣。
這本書與其說是入門書,我更傾向於稱之為概念架構書,對我來說這兩種書定位不太一樣,一般談到入門書的話,指的會是這門技術的一些基本操作工具,把書中知識吸收完,讀者大致上就可以去嘗試做一些簡單的相關操作。而概念架構書雖然也可以算是入門書的一種,但是這種書著重於解釋這門知識技術是運用在什麼方面,日常生活或是工作的哪些層面是由這些知識技術來建立或維持,而這些知識技術裡有哪些重要的概念和功能,分別扮演怎樣的角色。
作為一本概念架構書,裡面的內容沒提到什麼具體操作技術,像是SELECT、FROM、ORDER BY等語法,或像是表格的合併這些技術面的內容等,基本上不太會在這本書裡提到多少,相對的,這本書介紹了資料庫是什麼,運用在哪些地方,有哪些類型的資料庫,有哪些主要的功能、資料庫如何從設計、建立、到使用和監控維護,而且大量運用各種生活化的比喻來說明。
簡單說,之前我學了那些PostgreSQL的基礎語法等知識,但其實對資料庫整體上的面貌並不清楚,可以說是見樹不見林。那麼這本書則是見林不見樹,讀者讀完本書應該會對資料庫有個整體輪廓的掌握,但讀完不會具備任何操作資料庫的技術。可以說這本書和我之前在網路課程學習的內容是互補的。不過對於一般沒打算實際操作資料庫的人來說,基於興趣來讀讀本書我認為是值得推薦的,因為在大多資料都已經數位化的現代,資料庫是一個很重要也很基本的工具,花點時間稍微了解一下這塊領域在扮演什麼功能角色是很不錯的。
話說我覺得不管在學任何知識技術,最好都能讀些這類概念架構的作品,以達到見樹又見林的效果,也可以讓學習更有效率,如果你可以很具體地想像一門知識技術是如何落實在自己熟悉的事物,你就能將那些抽象概念和自己腦海裡技有的資料庫連結起來,不只記憶效果會更好,也才更有辦法做出實際運用。
以前我在修各種課程時,發現這類型的知識相對缺乏,好比說在修C++時,老師一上課就直接開始進入基礎語法,然後班上很多人是多少都學會了這些語法的操作,但說真的有點難和現實生活中的運用直接聯想在一起。雖然說老師也不是完全沒提及任何實際運用的內容,但常常會流於用抽象概念解釋抽象概念的問題,或者頂多只是告訴你「這個會用在哪裡唷!」這樣。
當然也不能把一門課程缺乏這種掌握整體概念以及和現實生活運用連結的責任完全推給老師,特別是專業人士當久了,其實是會忘記很多概念對入門者來說,其實不太能立即掌握,或者常常陷入見樹不見林的困擾,導致學習效果打折扣。這種時候,如果有這類作品當作補充教材,對於學習就會很有幫助。