資料處理流程
資料圖表的完整呈現, 需經一定的步驟, 下圖說明了一個專案的實際運作流程
上圖中, 由資料庫寫入到關聯式資料View表這一步驟, 對於沒摸過資料庫的人而言, 是天書. 所以在此先講解什麼是流水帳, 以及什麼是樞紐分析表
流水帳
如下資料表1的表格, 記錄著每一地區, 每一年的來台旅遊人數. 此種方式又稱為流水帳. 這就好比一家商站記錄著每天的銷售物品, 數量, 單價及時間. 一筆資料就是一筆買賣.
資料表1
地區 | 年度 | 人數 |
亞洲地區 | 2002 | 1579204 |
美洲地區 | 2002 | 439403 |
歐洲地區 | 2002 | 209110 |
大洋洲 | 2002 | 48334 |
非洲地區 | 2002 | 9479 |
亞洲地區 | 2003 | 1245107 |
美洲地區 | 2003 | 350424 |
歐洲地區 | 2003 | 161918 |
大洋洲 | 2003 | 41662 |
非洲地區 | 2003 | 8278 |
亞洲地區 | 2004 | 1652667 |
美洲地區 | 2004 | 486275 |
歐洲地區 | 2004 | 215019 |
大洋洲 | 2004 | 62191 |
非洲地區 | 2004 | 10514 |
亞洲地區 | 2005 | 1992357 |
美洲地區 | 2005 | 499550 |
歐洲地區 | 2005 | 227732 |
大洋洲 | 2005 | 68238 |
樞鈕分析表
如下資料表2, 是經過整理後, 將欄位變成了西元年, 每欄位的值就是人口數. 這是人類比較看得懂的表格, 叫樞鈕分析表(pivot)
資料表2
國籍 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 |
亞洲地區 | 1579204 | 1,245,107 | 1,652,667 | 1,992,357 | 2,047,633 | 2,146,034 |
美洲地區 | 439403 | 350,424 | 486,275 | 499,550 | 504,876 | 513,989 |
歐洲地區 | 209110 | 161,918 | 215,019 | 227,732 | 228,854 | 244,535 |
大洋洲 | 48334 | 41,662 | 62,191 | 68,238 | 64,400 | 74,764 |
非洲地區 | 9479 | 8,278 | 10,514 | 10,008 | 9,636 | 9,316 |
何種才正確
這個問題, 大部份的人都會覺是廢話, 當然是資料表2經過樞鈕分析整理後才是正確的. 像資料表1這種流水帳, 有誰看得懂, 也不具任何意義.
資料表2 是大部份人可接受的表格, 管理者及老闆更是最愛. 一眼就可以看出, 那一年好, 那一年不好.
但是, 儲存在硬碟裏的資料庫, 可以使用表格2的方式儲存嗎?? 答案是~~不行
資料庫是用來時時記錄資料用的. 資料一產生, 就立即儲存. 也就是儲存成流水帳的格式. 資料庫還有一個特性, 就是欄位不可隨意變更, 如上表2. 欄位有2002~2007共6欄. 若日後要再多增加2008年份呢, 是不是又要把資料庫的格式重新再改一次?? 這工程可浩大了!!
流水帳轉樞鈕分析的效能
初級的資料庫設計者, 常常以為要把龐大的流水帳轉成樞鈕分析表會費時費工. 所以都會刻意以表2的格式去設計資料庫.
在此強調一件事, 不要用人的觀點去看電腦. 流水帳轉樞鈕分析表是一件很簡單的小事情. 而且, 資料庫裏的資料愈亂速度愈快. 如果資料庫儲存的, 是經過整理過的資料, 那其效能之差可能連超級電腦也無法解決.
為何會有如此怪異的現象呢? 因為資料庫的儲存方式是經過二元樹排序過的. 人類眼裏看到的二元樹資料, 是雜亂無章的, 但在電腦眼裏, 那才是最優雅的.
資料視覺化
視覺化, 就是將一大堆數字, 使用圖型表現出來. 不過, 是流水帳(表1) 要視覺化, 還是樞鈕分析表(表2) 要視覺化呢? 這也是廢話, 當然是表2 視覺化才有意義.
只是, 不要忘了一件事, 表2 是由 表1轉化而來的. 所以沒有表1, 就不會有視覺化圖表.