[DAC社課] 資料庫

Wendee 💜🍕
3 min readNov 24, 2019

--

這次請到的講師是蝦皮的數據分析專員 Angel ,然後課程是我規劃的喔 :)

做資料分析之前,一定要知道 “資料” 和 “資訊” 不一樣:

資料 data

未經處理的原始資料,是零散、無組織的 ex. 辦卡的個人資料

資訊 information

資料經過整理後有意義的資訊 ex. 銀行分析各卡別的 TA 輪廓

資料庫的類型

資料庫儲存有組織的數據集合,依照儲存結構可大致分為:

  1. 階層式
以樹狀結構將資料分析儲存(圖片來自Angel Lee上課講義)

2. 網狀

應用於醫院掛號系統 (一個病人掛不同的科別,就不用一直重複這個人的資料)

可避免階層式資料重複的問題(圖片來自Angel Lee上課講義)

3. 關聯式

用二維矩陣儲存資料,資料間有關聯(圖片來自Angel Lee上課講義)

4. 非關聯式

為了特定的資料模型而建立,存文件、圖檔(延伸閱讀:連結

使用時機

  • 需要大量的寫入資料
  • 可能需要持續且不間斷的寫入
  • 欄位名稱可能不固定(來源端資料格式可能不相同)
  • 對於簡單的查詢需要快速的回應

SQL

SELECT 想看的欄位

FROM 來自哪一張Table

WHERE 依據欄位做條件篩選

GROUP BY 依據欄位做分組

ORDER BY 依據欄位做排序

Having 依據據聚合函數 (ex. SUM, MIN, COUNT…) 做條件篩選

*小補充:一張表的 Primary key 是獨一無二的,用來確認每一筆資料都是唯一値(可以包含一至多個欄位 → 組合鍵)

一些需注意的用法:

DISTINCT: SELECT DISTINCT 欄位 → 確保撈出來的資料不重複

between: WHERE Purchased_Date between “2019/9/1” and “2019/9/20”

in: WHERE Purchased_Date in (“2019/9/19”,”2019/9/20")

/* between 是比較範圍,in 是看欄位有沒有和括弧裡一樣的値 */

Join :這個概念比較複雜,建議直接去 W3School 實作

不同種的 Join (圖片來自https://www.w3schools.com/sql/sql_join.asp)

也別忘了,我們SELECT出來的是一張Table,所以其實是可以針對這張新的Table再做SELECT喔~

把男性和女性的交易紀錄求出來
加總男性和女性的交易紀錄得到總交易次數

資料庫很有趣吧~ 下SQL超好玩的(花花~

--

--

No responses yet