classDiagram class Tag { +int id +int user_id +string name +string color +string created_at } class TransactionTag { +int transaction_id +int tag_id } class Transaction { +int id +int user_id +int amount +string type +int category_id +string note +string date +int group_id +int recurring_id +Tag[] tags } class Feedback { +int id +int user_id +string type +string content +string contact +string status +string admin_reply +string created_at } class Category { +int id +int user_id +string name +string icon +string color +string type +int sort_order +int is_custom } Transaction "1" --o "*" TransactionTag : has Tag "1" --o "*" TransactionTag : referenced_by Transaction ..> Category : belongs_to note for Tag "每用户最多 20 个标签\n8 色预设颜色选择器\n标签不区分收支类型" note for TransactionTag "复合主键 (transaction_id, tag_id)\n每笔交易最多 5 个标签"