簡單說明資料庫與 Excel 應用的差異(第二篇)

為什麼會先中斷呢? 因為我去吃午餐了....
因為到剛剛看起來都是一般人會想到的事情, 可是魔鬼就在細節裏, 以個人建議, 第二件事做完之後, 應該產出了相關的資料流, 特別是包括"人"的部份, 也要列入.

以社區大學報名為例, 人潮都擠在期末成果展(優惠期)與開學前, 如果只在這段時間增加人手, 則培訓成本太高, 找人不易, 錯誤率又高, 那怎麼辦?
只要透過區隔出資料, 在報名期間只處理報名最必要的"課程-選課-學員"基本資料, 而把學員通訊方式等次要資料留在之後補充輸入. 用這種方式, 資料庫相關結構沒改, 可是改了流程及程式權限, 工作人員負責報名(因為牽涉到錢), 另外請工讀生只負責輸入資料, 這些經驗可以省下辦公室不必要的成本, 就是 MIS 的價值所在.

所以第二件事的關鍵, 就是整個流程是否適當, 牽涉到人力配置, 也就是身為 MIS 不要只去看電腦, 而是成為建議管理階層的幕僚差異, 產出的相關流程, 也是做為將來擴充的文件參考.


由於有了第二件事設計好的流程, 接下來第三件事就是選擇工具了嗎? 還沒....接下來是: 評估資料量規模與欄位定義.
第一部份, 關於資料量規模, 仍會牽涉到流程的異動, 只是這流程在於跨年度, 跨期等, 例如一般公司行號有"月報表", "季報表"等產出, 社區大學每期要繳交資料給教育部/教育局/其他政府委辦的阿里不達的單位; 而規畫時就要考慮, 如何定義這些"期", 以及每期每種資料表的量, 還有相關資料成長量的預估, 最後是過期資料的規檔方式. 例如: 發票及帳務資料可能要保留 5~10 年, 可是訂單明細大概 2~5 年, 公司的營運擴充大概每年 10% , 這樣去計算出可能的資料量.
第二部份, 依照資料量大小, 考慮欄位定義的規模, 這也是可以累積經驗的地方, 欄位大小的地義與效率是有相關的, 為了彈性而加大欄位, 處理速度就會降低, 為了加快速度而減少欄位, 將來擴充性又可能不足; 另外則是關連式資料庫為了避免人為編碼失誤, 會加上系統編碼做為 PK , 如果 PK 大小定義不當, 將來要異動也不是很容易.


第四件事, 終於要回到"簡單說明資料庫與 Excel 應用的差異"了嗎? 還沒, 先來"選擇工具要考慮的點"這道前菜.

從第三件事大概可以知道資料庫的規模了, 接下來才開始要選擇工具了. 比如一般的記帳, 用 Google 文件或 Excel 簡單記一下, 可以知道口袋剩多少錢, 銀行存褶剩 5 位數(還是 3 位整數+ 2 位小數, 本人失業中, 歡迎贊助), 沒有太多流程, 只有一個人使用, 那大概大家都會選 Excel , 不過 Excel 是商業軟體, 所以要注意一下授權問題, 也可以考慮 LibreOffice 等軟體, 功能相近.
如果規模大一點呢? 用的人多一點呢? 這時候就開始出現差異了. (總算回到正題了)
Excel 原本設計是單人使用, 所以當第二個人開啟同一個 Excel 時, 會出現"唯讀", "再通知"等訊息. 如果是關聯式資料庫, 通常已經有"鎖定記錄(Record Locking)"的設計, 只要使用者不是修改同一筆資料, 都可以各自作業.

接著, 回到第二件事設計出來的流程, 要產出的東西有多少呢? 如果需要彈性, "合併列印"可能比較好改, 如果都很固定但大量, Access 的"表單/報表"可能比較適合.

再來, 又是使用者的問題了, 要怎麼控制輸入的資料呢? 在 Excel 可以用鎖定等方式, Access 則是可以透過表單設計加上限制, 更大型的 SQL 資料庫通常透過前端程式(如 asp.net , php )加以控制.


第五件事, 剩下行政工作啦, 我要跟大家收錢了.... 才不只行政工作, 還包括程式驗證啦, 除錯啦, 寫教育訓練手冊啦, 開發票啦, 這樣才能收錢啊....不過這個在很多程式開發的文件都有提, 我就不寫了.

寫到這邊, 大概一堆人會覺得被騙了, 我的標題是在"應用"啊, 如果只看資訊工具或技術, 就是一個 IT 人員, 而這東西要如何應用, 能發揮效益, 才算 MIS 人員哦, 要再進階到 CIO , 就要再深入到人的管理及公司成本的考慮了.

大概簡單寫到這邊, 大家可以想想看, 其實從會計開始, 稽核成了公司管理的一道關卡, 而許多資料電腦化之後, 雖然有"資訊人員", 可是公司有"資訊化"了嗎? 還是把電腦當上網機+遊戲機+打字機用而已呢?