資料庫設計

資料庫設計

Lis Sulmont

Curriculum Manager

什麼是資料庫設計?

  • 決定資料的邏輯儲存方式
    • 資料將如何讀取與更新?
  • 使用 資料庫模型:資料庫結構的高階規格
    • 最常見:關聯式模型
    • 其他選項:NoSQL 模型、物件導向模型、網路模型
  • 使用 綱要(schema):資料庫藍圖
    • 定義資料表、欄位、關聯、索引與檢視
    • 在關聯式資料庫插入資料時,必須遵守綱要
資料庫設計

資料建模

為要儲存的資料建立 資料模型 的流程

1. 概念資料模型:描述實體、關係與屬性

  • 工具:資料結構圖,如實體關係圖與 UML 圖

2. 邏輯資料模型:定義資料表、欄位、關係

  • 工具:資料庫模型與綱要,如關聯式模型與星型綱要

3. 物理資料模型:描述實體儲存

  • 工具:分割區、CPU、索引、備份系統與 tablespaces
1 https://en.wikipedia.org/wiki/Data_model
資料庫設計

概念層-ER 圖

歌曲範例的 ER 圖

實體、關係與屬性

邏輯層-綱要

歌曲範例的邏輯綱要

最快的轉換:實體變成資料表

資料庫設計

其他資料庫設計選項

歌曲範例另一個可能的 ER 圖

決定資料表

歌曲範例另一個可能的 ER 圖

資料庫設計

超越關聯式模型

維度建模

為資料倉儲設計改編的關聯式模型

  • 針對 OLAP 查詢最佳化:彙總資料,不是更新(OLTP)
  • 以星型綱要建置
  • 綱要易於解讀與擴充
資料庫設計

維度建模要素

歌曲範例的事實表與維度表

組織依據:

  • 正在分析什麼?
  • 實體變動頻率?

事實表

  • 由商業情境決定
  • 保存指標紀錄
  • 經常變動
  • 透過外鍵連到維度

維度表

  • 保存屬性描述
  • 變動較少
資料庫設計

一起來練習吧!

資料庫設計

Preparing Video For Download...