資料庫(Database)是系統化儲存、管理和檢索數據的工具。
為了方便理解,我們可以先很簡單地把資料庫理解成很多用來存資料的表格的集合,後面會再做更詳細的說明。
通過不同的模型和架構,資料庫可以處理結構化、半結構化和非結構化的數據。
| 類型 | 說明 | 範例 |
|---|---|---|
| 結構化數據 (Structured Data) | 格式固定,遵循定義好的 schema | 資料表(例如 users table) |
| 半結構化數據 (Semi-structured Data) | 沒有固定格式,但會用標籤或 key-value 表示語意 | JSON:{"姓名": "小明", "興趣": ["Coding", "跑步"]} |
| 非結構化數據 (Unstructured Data) | 沒有明確結構,難以直接用 table 表示 | 聲音、圖片、影像 |
以下介紹兩種常見的資料庫類型:
最常見的資料庫形式,處理結構化的數據,數據被存放在表格中,並通過關聯(即表格之間的關係)來管理。
可以想像各種文書編輯軟體的表格功能, 你會先選有幾個欄位並且填上每個欄位要寫的東西,要加入一筆資料的時候,就按下新增一列,然後填入已經設定好的對應欄位資料。
| id | name | |
|---|---|---|
| 1 | Alyssa | [email protected] |
| 2 | Ella | [email protected] |
常見應用:帳號管理
常見系統: MySQL、PostgreSQL
非關聯式資料庫主要用來處理大量非結構化或半結構化的數據。
可以想像每一筆資料就是一張便條紙,上面的資料欄位不見得都相同,若以社交媒體的貼文數據來想像,更新之後新增了一個在貼文放音樂的功能,這時不需要把整個資料庫的欄位都更新加上音樂這個欄位,更新之後的資料上自己多加這個欄位就好。
常見應用:社交媒體的用戶行為數據、電子商務網站上的商品評論等