Files
donald c24634f4b7 Initial commit: HR Performance System
- Database schema with 31 tables for 4-card system
- LLM API integration (Gemini, DeepSeek, OpenAI)
- Error handling system with modal component
- Connection test UI for LLM services
- Environment configuration files
- Complete database documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 23:34:13 +08:00

6.1 KiB
Raw Permalink Blame History

HR 績效評核系統 - 資料庫說明

資料庫連線資訊

DB_HOST: mysql.theaken.com
DB_PORT: 33306
DB_NAME: db_A102
DB_USER: A102
DB_PASSWORD: Bb123456

資料庫結構

本系統使用 MySQL 資料庫,包含以下主要模組:

一、基礎資料表 (5張)

  • hr_departments - 部門組織架構
  • hr_job_levels - 職級定義
  • hr_employees - 員工資料
  • hr_system_roles - 系統角色權限
  • hr_employee_roles - 員工角色關聯

二、職能字典 (3張)

  • hr_competency_categories - 職能分類
  • hr_competency_dictionary - 職能字典
  • hr_competency_behaviors - 職能行為指標

三、角色卡模組 (6張)

  • hr_role_cards - 角色卡主表
  • hr_role_responsibilities - 角色卡職責
  • hr_role_supervisees - 角色卡督導對象
  • hr_role_collaborators - 角色卡協作夥伴
  • hr_role_kra - 角色卡KRA
  • hr_role_kpi - 角色卡KPI

四、能力卡模組 (3張)

  • hr_competency_cards - 能力卡主表
  • hr_competency_card_hard_skills - 能力卡硬性能力
  • hr_competency_card_soft_skills - 能力卡軟性能力

五、績效卡模組 (4張)

  • hr_review_cycles - 評核週期設定
  • hr_performance_cards - 績效卡主表
  • hr_performance_goals - 績效卡目標評核
  • hr_performance_behaviors - 績效卡行為評估

六、成長卡模組 (5張)

  • hr_growth_cards - 成長卡主表
  • hr_growth_focus_areas - 成長卡發展焦點
  • hr_growth_idp_goals - 成長卡IDP目標
  • hr_growth_actions - 成長卡行動計畫
  • hr_growth_tracking - 成長卡追蹤紀錄

七、系統支援 (5張)

  • hr_approval_records - 審批記錄
  • hr_system_settings - 系統設定
  • hr_rating_thresholds - 等級分界設定
  • hr_version_snapshots - 版本快照
  • hr_audit_logs - 操作日誌

總計31張資料表

安裝步驟

1. 建立資料庫結構

連線到 MySQL 伺服器後,執行以下命令:

mysql -h mysql.theaken.com -P 33306 -u A102 -p db_A102 < schema.sql

或使用 MySQL Workbench / phpMyAdmin 等工具匯入 schema.sql

2. 匯入初始資料

mysql -h mysql.theaken.com -P 33306 -u A102 -p db_A102 < seed_data.sql

或使用 MySQL Workbench / phpMyAdmin 等工具匯入 seed_data.sql

初始資料內容

執行 seed_data.sql 後會建立以下初始資料:

系統角色 (4個)

  • ADMIN - 系統管理員
  • HR - 人力資源
  • MANAGER - 部門主管
  • EMPLOYEE - 一般員工

職級 (9個)

  • L1 助理專員 → L9 總經理

職能字典 (10個核心職能)

通用職能 (5個)

  • CORE-001: 溝通協調
  • CORE-002: 團隊合作
  • CORE-003: 問題解決
  • CORE-004: 執行力
  • CORE-005: 學習成長

管理職能 (5個)

  • MGMT-001: 策略思維
  • MGMT-002: 團隊領導
  • MGMT-003: 橫向整合力
  • MGMT-004: 決策判斷
  • MGMT-005: 人才培育

職能行為指標

每個職能都包含 L1-L5 共5個等級的行為指標描述

系統設定

  • 目標權重70%
  • 行為權重30%
  • 預設語言:繁體中文
  • 啟用季度評核
  • IDP最大目標數4

等級分界

  • A+: 90-100分 (建議10%)
  • A: 80-89.99分 (建議22.5%)
  • B+: 70-79.99分 (建議35%)
  • B: 60-69.99分 (建議22.5%)
  • C: 0-59.99分 (建議10%)

資料庫特性

字符集

  • 使用 utf8mb4_unicode_ci 支援多語系與特殊字符

引擎

  • 使用 InnoDB 引擎支援交易與外鍵約束

索引優化

  • 已在常用查詢欄位建立索引
  • 外鍵關聯已建立索引

資料完整性

  • 使用外鍵約束確保資料關聯正確
  • 設定適當的 ON DELETE 策略

開發建議

連線測試

// Node.js 範例
const mysql = require('mysql2');

const connection = mysql.createConnection({
  host: 'mysql.theaken.com',
  port: 33306,
  user: 'A102',
  password: 'Bb123456',
  database: 'db_A102'
});

connection.connect((err) => {
  if (err) {
    console.error('連線失敗:', err);
    return;
  }
  console.log('資料庫連線成功!');
});

常用查詢範例

查詢員工及其部門資訊

SELECT
  e.employee_no,
  e.name_zh,
  d.dept_name_zh,
  l.level_name_zh
FROM hr_employees e
JOIN hr_departments d ON e.department_id = d.id
JOIN hr_job_levels l ON e.job_level_id = l.id
WHERE e.status = 'active';

查詢職能字典完整資訊

SELECT
  cd.competency_code,
  cd.competency_name_zh,
  cc.category_name_zh,
  cb.level_num,
  cb.behavior_description_zh
FROM hr_competency_dictionary cd
JOIN hr_competency_categories cc ON cd.category_id = cc.id
LEFT JOIN hr_competency_behaviors cb ON cd.id = cb.competency_id
WHERE cd.is_active = TRUE
ORDER BY cd.id, cb.level_num;

查詢員工的角色卡資訊

SELECT
  rc.card_code,
  rc.role_name_zh,
  e.name_zh AS employee_name,
  d.dept_name_zh,
  GROUP_CONCAT(rr.responsibility_zh SEPARATOR '; ') AS responsibilities
FROM hr_role_cards rc
JOIN hr_employees e ON rc.employee_id = e.id
JOIN hr_departments d ON rc.department_id = d.id
LEFT JOIN hr_role_responsibilities rr ON rc.id = rr.role_card_id
WHERE rc.status = 'approved'
GROUP BY rc.id;

維護建議

定期備份

# 完整備份
mysqldump -h mysql.theaken.com -P 33306 -u A102 -p db_A102 > backup_$(date +%Y%m%d).sql

# 僅備份結構
mysqldump -h mysql.theaken.com -P 33306 -u A102 -p --no-data db_A102 > schema_backup.sql

# 僅備份資料
mysqldump -h mysql.theaken.com -P 33306 -u A102 -p --no-create-info db_A102 > data_backup.sql

效能監控

  • 定期檢查慢查詢日誌
  • 監控資料表大小成長
  • 定期執行 OPTIMIZE TABLE 優化資料表

擴充建議

  • 職能字典可依需求新增專業職能
  • 部門結構可依組織調整
  • 評核週期需每年設定

注意事項

  1. 密碼安全: 請定期更換資料庫密碼
  2. 權限管理: 建議為不同環境建立不同的資料庫使用者
  3. 資料保護: 員工個資需遵守相關法規保護
  4. 版本控制: 資料庫結構變更需建立遷移腳本
  5. 測試環境: 建議另建測試資料庫進行開發測試

技術支援

如有任何資料庫相關問題,請聯繫系統管理員。


最後更新: 2025-12-03 版本: 1.0