我有这样一个案例,设计师和经理在一个项目中担任特定角色。
这个ER图设计正确吗?
我对Manager、Designer、Role、Project的关系有疑问。
ER图:
案例还表明 Administrator 管理几乎所有的东西。
我是否必须建立“管理”关系?
这是完整的案例:
•管理员可以登录管理一切
• 经理可以登录并处理项目
• 设计师也可以登录并处理项目
• 客户拥有项目
• 经理、设计师和客户的个人资料页面列出了他们相关的项目。管理员没有。
• 经理可以让设计师为他们工作
• Designer 一次只有一个Manager,Administrator 可以随时更换Designer 的Manager
• 负责项目的经理和设计师被分配了管理员可以管理的角色(例如项目负责人、首席架构师、安全工程师等)
• 项目需要有富文本作为描述
• 项目需要能够有很多照片和PDF文件
• 只有正在处理项目的经理和设计师才能编辑项目(管理员也可以)
最佳答案
将 Role
设为属性意味着 Designer
/Manager
只能在单个 Project
上工作 角色
。使其成为关系中基数为 N 的实体意味着 Designer
/Manager
可以在多个 Roles< 中处理
.Project
/
在这些选项之间有可能使其成为关系中基数为 1 的实体(意味着 PK 由 Manager
/Designer
和 Project 组成
)。将其设为实体还是属性取决于您是否拥有关于角色
的信息,或者只是想记录一个值。
关于是否建立Manages
关系的问题不清楚 - 我无法为您决定“几乎所有”是什么意思。
关于sql - ER图设计疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39630243/