- 表哥的Access入門:以Excel視角快速學習數據庫開發(第2版)
- 林書明
- 1111字
- 2021-10-29 12:01:01
1.2 規范的數據才有價值
一天,小張想對小飯館的經營狀況進行盤點(專業術語為數據分析),他首先想匯總一下當前“已完成”和“未完成”的訂單總金額,用于了解自己的營業收入,包括已經獲取的和即將獲取的。
小張認為,小飯館每天的經營數據已經存儲于Excel表中,用計算機分析起來應該不成問題。然而,在真正操作起來后,小張發現事情完全沒有想象的那么簡單。
如果小飯館的訂單數據存儲格式如圖1-3所示,那么在Excel中,使用SUM()函數就能匯總出一份客戶訂單的總金額。

圖1-3
然而,小張當時為了記錄數據方便,客戶訂單的存儲格式如圖1-4所示。

圖1-4
在圖1-4中的客戶訂單中,“所定菜品”是以文本格式存儲的,無法用Excel函數進行數據匯總。這時,小張才意識到,小飯館的Excel數據記錄和管理方式存在嚴重的問題。為了避免走更多的彎路,小張前來向筆者求助。
筆者在了解了他的問題后,半開玩笑地說:“混亂的數據不能產生價值,規范化的數據才有意義。如果你想徹底解決這個問題,就必須進行‘業務流程重組’,也就是所謂的Business Process Reengineering,簡稱BPR!”
筆者接著對小張說:“如果想避免將來在數據管理上出現更多問題,就要對數據進行規范化處理,必須使用數據庫管理軟件。”對于完全沒有數據庫基礎知識的小張,筆者不能給他灌輸太多數據庫方面的術語,好在有實實在在的數據,再加上小張對Excel比較了解,筆者可以結合具體的數據將如何對數據進行規范化處理逐步演示給他看。
筆者繼續對小張說:“為了能夠方便、靈活地對數據進行分析和處理,如果能將客戶訂單表(圖1-5中的‘T1訂單編號’表)和菜品價格表(圖1-5中的‘T3菜品價格’表)結合起來,將客戶訂單表中的一條記錄拆分成多條記錄,處理成圖1-5中下方‘理想中的表’的格式,就可以輕松地匯總出每種菜品的銷售數量和銷售金額了。”

圖1-5
在圖1-5中,“理想中的表”中的數據來源如下。
· “份數”列來自“T1訂單編號”表中的“所定菜品”列。
· “單價”列來自“T3菜品價格”表中的“單價”列。
· “金額小計”列是新生成的計算列(菜品的“份數”乘菜品的“單價”)。
在圖1-5中,為了使數據便于Excel處理,我們對“T1訂單編號”表中的DD-00012號客戶訂單進行處理,在經過拆分、組合、添加必要信息后,將其改造成了“理想中的表”中的3條記錄。
讀到這里,你也許會產生這樣的疑問:“理想中的表”乍看起來并不十分理想啊!如果將客戶訂單以這種格式記錄在Excel中,那么,本來一行數據就能解決的問題需要輸入多行才能完成,并且其中的“客戶姓名”“客戶地址”“聯系電話”“要求送餐時間”等信息要重復輸入多次。
你的顧慮是符合邏輯的,但是,“理想中的表”并不需要手動重復輸入數據,我們不會直接在這個表中輸入客戶的訂單數據。這個表是為了便于數據匯總,通過Excel或Access的表關聯技術“自動”生成的。
- JavaScript全程指南
- Learning Selenium Testing Tools with Python
- PostgreSQL for Data Architects
- C# Programming Cookbook
- 深入理解Java7:核心技術與最佳實踐
- Reactive Programming With Java 9
- Learning ELK Stack
- 手把手教你學C語言
- 好好學Java:從零基礎到項目實戰
- QGIS Python Programming Cookbook(Second Edition)
- Windows Phone 8 Game Development
- TypeScript全棧開發
- 微信小程序開發圖解案例教程:附精講視頻(第3版)
- 谷歌JAX深度學習從零開始學
- C++教程