資料庫設計指引
銀行大型共用平台 - 資料庫設計指引 文件資訊 文件名稱: 資料庫設計指引 版本: 2.0 建立日期: 2025-08-11 最後更新: 2025-08-29 作者: 資料庫架構師 適用範圍: 銀行大型共用平台專案 目錄 資料庫命名規範 欄位設計準則 主鍵、外鍵與唯一鍵設計規範 索引策略 資料分區與分表策略 資料庫正規化與反正規化設計 資料安全規範 資料庫版本控管與變更管理方法 性能調校原則與監控方法 資料庫備份與災難復原計劃 資料庫容量規劃 資料庫升級與遷移策略 資料庫日誌管理 資料庫測試與驗證 資料庫文件與註解 資料庫自動化與工具 資料庫監控與維護 資料庫性能測試 資料治理與品質管理 多租戶架構設計 雲端資料庫設計指引 資料庫DevOps實踐 法規遵循與合規要求 資料庫最佳實務總結 結論與未來發展 1. 資料庫命名規範 1.1 資料庫命名規範 原則: 使用英文、數字和底線,避免特殊字元 格式: {系統代碼}_{環境代碼}_DB 範例: BANK_PROD_DB、BANK_TEST_DB、BANK_DEV_DB 1.2 Schema 命名規範 原則: 依據功能模組或業務領域命名 格式: {模組代碼}_{功能代碼} 範例: CORE_ACCOUNT (核心帳戶) LOAN_MGMT (放款管理) RISK_CONTROL (風險控制) AUDIT_LOG (稽核日誌) 1.3 Table 命名規範 原則: 使用單數名詞,英文大寫,底線分隔 格式: {模組前綴}_{業務實體} 範例: ACC_CUSTOMER (客戶資料) LOAN_APPLICATION (放款申請) TXN_JOURNAL (交易日誌) 1.4 Column 命名規範 原則: 英文大寫,底線分隔,含義明確 通用欄位: ID - 主鍵 CREATED_DATE - 建立時間 CREATED_BY - 建立者 UPDATED_DATE - 更新時間 UPDATED_BY - 更新者 VERSION - 版本號 STATUS - 狀態 1.5 Index 命名規範 主鍵索引: PK_{表格名稱} 一般索引: IDX_{表格名稱}_{欄位名稱} 唯一索引: UK_{表格名稱}_{欄位名稱} 外鍵索引: FK_{表格名稱}_{參考表格名稱} 1.6 View 命名規範 格式: V_{模組前綴}_{功能描述} 範例: V_ACC_CUSTOMER_SUMMARY 1.7 Function 命名規範 格式: FN_{模組前綴}_{功能描述} 範例: FN_CORE_CALC_INTEREST 1.8 Trigger 命名規範 格式: TRG_{表格名稱}_{觸發時機}_{動作} 範例: TRG_ACC_CUSTOMER_BEFORE_UPDATE 2. 欄位設計準則 2.1 資料型別選擇原則 2.1.1 數值型別 用途 Oracle DB2 SQL Server PostgreSQL 整數 NUMBER(10) INTEGER INT INTEGER 長整數 NUMBER(19) BIGINT BIGINT BIGINT 金額 NUMBER(15,2) DECIMAL(15,2) DECIMAL(15,2) DECIMAL(15,2) 百分比 NUMBER(5,4) DECIMAL(5,4) DECIMAL(5,4) DECIMAL(5,4) 2.1.2 字串型別 用途 Oracle DB2 SQL Server PostgreSQL 固定長度 CHAR(n) CHAR(n) CHAR(n) CHAR(n) 變動長度 VARCHAR2(n) VARCHAR(n) VARCHAR(n) VARCHAR(n) 大文字 CLOB CLOB TEXT TEXT 2.1.3 日期時間型別 用途 Oracle DB2 SQL Server PostgreSQL 日期 DATE DATE DATE DATE 日期時間 TIMESTAMP TIMESTAMP DATETIME2 TIMESTAMP 時間戳記 TIMESTAMP(6) TIMESTAMP(6) DATETIME2(6) TIMESTAMP(6) 2.2 長度設計標準 客戶姓名: VARCHAR(100) 客戶ID: VARCHAR(20) 帳號: VARCHAR(20) 電話: VARCHAR(20) 地址: VARCHAR(200) 電子郵件: VARCHAR(100) 備註: VARCHAR(500) 2.3 NULL 值設計原則 不允許 NULL 的欄位: ...