# 项目管理系统数据范式文档 ## 提示词 ``` 项目管理系统数据库表设计 Project 项目表 title 项目标题 desc 项目描述 avatar 项目图片地址 duration Number 项目天数 Profile 用户档案 记录的项目组所有成员档案 name 姓名 gender 男/女 desc 擅长技能 ProjectTeam 项目成员名单表 .profile => Profile .project => Project 请注意我用的是parse server 因此每个对象id是objectId字段,同时外键字段名称可以直接是project profile通过Pointer类型表示即可 请用plantuml类图,帮我表示上面的三张表关系 ``` 错误示例 ``` Profile.project 1 => n Project 一个成员 只能对应一个项目 一个项目 可以有 多个成员 ``` ## 数据文档 ``` plantuml @startuml 项目管理系统(Parse Server)数据库表关系图 ' 定义Parse Server风格的类(对应数据表),核心字段遵循Parse规范: ' 1. 主键统一为 objectId(Parse默认唯一标识) ' 2. 外键使用 Pointer<目标类> 类型,字段名直接为关联类名(如 project: Pointer) class Project { + objectId: String (PK) // Parse默认主键,唯一标识项目 + projectName: String // 项目名称 + startDate: Date // 项目开始日期 + endDate: Date // 项目结束日期 + status: String // 项目状态(如:进行中、已完成、暂停) // 其他扩展字段(如描述、负责人等可按需添加) } class Profile { + objectId: String (PK) // Parse默认主键,唯一标识成员档案 + userName: String // 成员姓名 + position: String // 成员职位(如:产品经理、开发工程师) + email: String // 成员邮箱 + project: Pointer (FK) // 关联项目,Parse指针类型(1个成员仅属1个项目) // 其他扩展字段(如联系方式、入职时间等可按需添加) } class ProjectTeam { + objectId: String (PK) // Parse默认主键,唯一标识项目成员名单记录 + project: Pointer (FK) // 关联项目,Parse指针类型(对应所属项目) + profile: Pointer (FK) // 关联成员档案,Parse指针类型(对应项目成员) + joinDate: Date // 成员加入项目的时间 // 其他扩展字段(如成员角色、负责模块等可按需添加) } ' 定义Parse Server风格的表间关联关系(基于Pointer类型外键,标注 cardinality) ' 1. Project 与 Profile:1对多(1个项目包含多个成员,1个成员仅属1个项目) Project "1" -- "n" Profile : 包含 > ' 关联依据:Profile.project (Pointer) 指向 Project.objectId ' 2. Project 与 ProjectTeam:1对多(1个项目对应多条成员名单记录) Project "1" -- "n" ProjectTeam : 对应 > ' 关联依据:ProjectTeam.project (Pointer) 指向 Project.objectId ' 3. Profile 与 ProjectTeam:1对1(1个成员仅对应1条名单记录,因成员仅属1个项目) Profile "1" -- "1" ProjectTeam : 关联 > ' 关联依据:ProjectTeam.profile (Pointer) 指向 Profile.objectId @enduml ```