opencode-workflow/skills/design_database_schema/README.zh-TW.md

32 lines
1.8 KiB
Markdown
Raw Normal View History

# 設計資料庫結構 (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`