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

32 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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