1.8 KiB
1.8 KiB
設計資料庫結構 (Design Database Schema) 技能指南
概述
design_database_schema 是可交付技能,用來產生資料庫結構定義,包含資料表、集合、分區鍵、索引、關係、反正規化策略與遷移策略。支援 PostgreSQL、Cassandra、MongoDB、Redis、Surrealdb。供 design-architecture 在產生 Database Schema 章節時參考。
核心原則
此技能提供具體的格式要求與完整性檢查清單。Schema 定義必須具體到足以供實作使用。
支援的資料庫
| 資料庫 | 適用場景 | 不適用場景 |
|---|---|---|
| PostgreSQL | 關聯資料、ACID 交易、複雜查詢 | 大量寫入吞吐量、寬列存取模式 |
| Cassandra | 高寫入吞吐量、時間序列、寬列存取 | 複雜 JOIN、ACID 交易、隨機查詢 |
| MongoDB | 文件資料、彈性結構、快速迭代 | 複雜 JOIN、嚴格 ACID、關聯資料 |
| Redis | 快取、工作階段、速率限制、即時排行榜 | 持久化主資料、複雜查詢 |
| SurrealDB | 多模型資料、即時、圖形關係 | 生態系不成熟 |
必備元素
- 資料表/集合:每個實體的完整定義(含欄位名稱、類型、限制式)
- 索引:每個索引必須有查詢模式支撐
- 分區鍵:Cassandra、DynamoDB 等分散式資料庫
- 關係:外鍵、參考完整性、 cascade 行為
- 反正規化策略:理由與一致性影響
- 遷移策略:向後相容的遷移方法
防範佔位符規則
範例僅供說明用途。不要重複使用範例中的佔位符資料表名稱、欄位名稱、類型、索引或關係。
不應做的事
- 不替非 PRD 要求的實體建立資料表
- 不產生與實際需求無關的欄位或索引
- 不產生獨立 Schema 檔案(所有內容必須嵌入
docs/architecture/{feature}.md)