Skip to content

Dandelionlibra/Database_Systems_final

Repository files navigation

Database_Systems_final Project

功能特色

📊 資料表設計

  • players:玩家基本資料
  • elements:元素種類
  • weapon_types:武器類型
  • weapons:武器資料
  • characters:角色資料
  • player_characters:玩家角色擁有情況
  • team:隊伍組成
  • team_backup:隊伍備份

⚡ Triggers (觸發器)

  • player_insert_trigger:檢查 UID 是否重複、等級是否合法
  • player_update_trigger:限制 UID 更新,確保等級不下降
  • character_insert_trigger:檢查角色、武器、擁有狀況是否合法
  • character_update_trigger:防止角色等級下降、檢查武器相容性
  • before_insert_team:檢查隊伍成員是否存在
  • trigger_handle_team_insertion:避免重複角色、確保至少一名成員、自動備份隊伍

👀 Views (檢視表)

  • view_character_hp:計算角色血量
  • view_character_atk:計算角色攻擊力
  • view_character_def:計算角色防禦力
  • view_character_highest_atk:計算角色最高傷害
  • view_character_expected_atk:計算角色期望傷害
  • view_show_player_character_data:顯示完整角色資訊
  • view_character_owner_rate:統計角色持有率
  • view_most_used_character_by_user:玩家最常使用的角色
  • view_team_damage_summary:計算隊伍總傷害

🛠️ Functions

  • create_team_from_backup(backup_team_id, new_u_id)
    • 可從備份或他人隊伍創建新隊伍,缺少角色時會提示並給予建議
  • get_used_characters_rank(rank_n)
    • 查詢玩家最常使用的前 n 名角色

專案架構

ER diagram


執行環境

  • Database: 'PostgreSQL'
  • SQL 語法:標準 SQL + PL/pgSQL (Triggers & Functions)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published