
資料庫在網站中扮演什麼角色?
資料庫像一個很大的表格系統
你在後台輸入的每一篇文章、每一項產品,都不是存成一個檔案,而是存成資料庫裡的一列。
可以想像成一張試算表:
| 編號 | 標題 | 內容 | 分類 | 日期 |
|---|---|---|---|---|
| 1 | 新品上市 | (內文) | 消息 | 2026-08-01 |
| 2 | 展覽公告 | (內文) | 消息 | 2026-08-03 |
網站要顯示「最新三則消息」時,就是去這張表裡依日期排序、取出前三筆,再套進版型顯示出來。
一筆資料,多處呈現
這是資料庫最重要的價值。
一項產品可能同時出現在:
- 首頁的推薦區塊
- 產品列表頁
- 所屬分類的頁面
- 搜尋結果
- 其他產品頁的「相關商品」
- 網站地圖
但實際上只有一筆資料。 這代表:
- 改一次,所有地方都會更新
- 不會出現「有些地方是舊資訊」的情況
- 下架時,所有地方一起消失
對照靜態的做法
如果是寫死的,同樣的產品資訊要在六個地方各寫一次。改價格時要改六個地方,漏掉一個就會出現不一致。
這解釋了三件事
一、為什麼備份一定要包含資料庫
只備份檔案,還原出來會是一個沒有內容的空殼。
因為文章、產品、訂單、會員全部在資料庫裡,檔案裡只有程式與版型。
這是最常見也最嚴重的備份疏失,見備份策略怎麼規劃。
二、為什麼後台要保護好
後台是操作資料庫的入口。後台被入侵,等於整個資料庫都可能被讀取或竄改。
見後台的資安。
三、為什麼資料庫出問題網站就打不開
動態網站每次顯示頁面都要向資料庫取資料。資料庫連不上時,網站會顯示錯誤而不是空白頁。
欄位:資料的結構
每一種內容都有自己的欄位設計。例如一項產品可能包含:
- 名稱、編號、價格
- 主圖、多張附圖
- 簡介、詳細說明
- 規格表
- 所屬分類
- 上下架狀態
- 排序
欄位要在規劃階段決定
這是報價的重要依據。 欄位越多,後台介面越複雜,開發成本越高。
而且欄位越多,你自己上架資料時的時間成本也越高——一百項產品,每項多填三個欄位就是三百次輸入。
只保留真正會用到的欄位。 沒有人會填的欄位,做了也是浪費。
關聯:資料之間的關係
資料庫可以記錄資料之間的關係,例如:
- 一項產品屬於某個分類
- 一筆訂單包含多項商品
- 一則留言對應某一篇文章
這讓網站能做到「顯示這個分類下的所有產品」「顯示這位會員的所有訂單」這類功能。
實務上的意義
分類架構要在規劃階段想清楚。 上線後要調整分類方式,可能牽涉大量資料的重新歸類。
搜尋與篩選也靠資料庫
網站的站內搜尋、依價格排序、依規格篩選,都是對資料庫下條件查詢。
這也是為什麼篩選功能會影響報價
每一個可篩選的條件,都需要在資料中有對應的欄位。「依材質篩選」的前提是每項產品都有記錄材質。
資料量大時會變慢
資料筆數少時感覺不出來,但成長到數萬筆之後,查詢速度會明顯下降。
常見的改善方式
- 加上索引——讓資料庫能快速定位,不必逐筆掃描
- 使用快取——把結果暫存起來
- 分頁——不要一次撈出全部
這些屬於技術層面,但業主可以知道:網站變慢不一定是主機不夠力,也可能是資料查詢的方式需要調整。
資料的匯出與帶走
這是很重要但常被忽略的一點。
你的內容存在資料庫裡,所以「能不能匯出資料庫」決定了你能不能帶走自己的資料。
發包時該確認的
- 能不能自行匯出完整資料
- 匯出的格式是什麼
- 換廠商時資料怎麼交接
使用租用型平台時特別要問清楚——有些平台的資料無法完整匯出。