快速摘要
AI 可以在幾秒內生成資料庫 Schema,但它常忽略效能索引、資料正規化和安全設定(如加密欄位、存取控制)。這篇教你如何審查 AI 生成的資料庫設計。

AI 設計資料庫的優勢

AI 可以在幾秒內根據你的需求描述生成完整的資料庫 Schema,包括表格、關聯、欄位類型。對於快速原型特別有用。

常見問題

AI 生成的 Schema 最常見的問題:

  • 缺少索引:AI 通常只生成基本結構,不會考慮查詢效能
  • 正規化不足:可能把太多資料塞在同一張表
  • 缺少約束:NOT NULL、UNIQUE、CHECK 約束經常被省略
  • 沒有安全設定:敏感欄位沒有加密、沒有 row-level security
  • 沒有 migration 策略:只給最終 Schema,沒有考慮如何從現有資料庫遷移

審查清單

  1. 每個表是否有合適的 primary key?
  2. 外鍵關聯是否正確?cascade 設定是否合理?
  3. 常用查詢欄位是否有索引?
  4. 欄位的資料類型是否最適合?(例如用 TIMESTAMP 而不是 VARCHAR 存時間)
  5. 是否有必要的 UNIQUE 和 CHECK 約束?
  6. 敏感欄位是否標記了加密需求?
  7. 是否考慮了未來的擴展性?

安全設定

  • 欄位加密:PII 欄位使用 AES-256 加密
  • 存取控制:用資料庫角色限制不同應用程式的存取範圍
  • 稽核日誌:對敏感表啟用 audit trail
  • 備份加密:資料庫備份也必須加密
  • 連線安全:強制使用 SSL 連線

常見問題

AI 生成的 Schema 可以直接用嗎?

建議不要。AI 生成的 Schema 通常功能正確,但可能缺少索引、約束和安全設定。至少要經過人工審查和效能測試。

用什麼工具讓 AI 設計資料庫最好?

Claude 和 ChatGPT 都擅長從需求生成 SQL Schema。如果用 Cursor,可以讓它直接在你的 migration 檔案中生成。

敏感資料欄位要怎麼處理?

身分證號、信用卡號等敏感欄位必須加密儲存(Application-level encryption)。密碼用 bcrypt 雜湊。個資欄位標記 PII 標籤以便合規稽核。