2009 年時,因為準備創業的關係,我開始接觸「關連資料庫」這個東西的觀念。我只能說「接觸」和「觀念」,因為之前只有在讀研究所時,為了架設研討會網站而被迫在四天之內,把 MySQL 從無到有地學會怎麼操作。甚至,說「操作」也實在是太抬舉自己了。我只能用固定的幾個指令複製加貼上地撈出資料而已。那些指令是什麼意思,資料庫裡面又是什麼結構,我完全不知道。
我超~級~討~厭~知其然,不知其所以然的事情。就像前陣子在查如何 DIY 抗生素的時候,很驚訝(還帶著一點怒氣)地發現,怎麼絕大部份的中文網站都只寫著「以往青黴素是由青黴菌提煉而成…」而沒有說明到底提煉的步驟是什麼呢?
難道我只要拿著一片長出青黴的土司丟出去,然後大喊「青黴素,就決定是你了!」然後青黴素就會在一陣光芒中跳出來,還低吼著「青黴~青黴~」嗎? 青黴素固然很神奇,但是畢竟不是神奇寶貝吧?難道,抗生素、奎寧…等等重要的衛生技術不該列入國民義務教育裡面嗎?
於是,為了讓自己不再只是 know what 和 know how 的程度,而更能進入 know why 的領域,也為了能搞清楚到底什麼是 SQL 關聯資料庫,讓不同項目產生「關聯」的目的是什麼?我把「搞清楚 SQL」排入了我的工作項目表中,但在眾多的 SQL 選擇中,我又該投入哪一個陣營呢?
在回答這些問題前,我先做了一番初步的調查。