Database design 伙伴关系的ERD

Database design 伙伴关系的ERD,database-design,erd,Database Design,Erd,我正在尝试为一所大学开发一个web应用程序,该大学希望跟踪他们的行业合作伙伴关系,我正在寻找ERD设计的一些想法。这所大学有不同类型的伙伴关系,有些是正式的,有些是非正式的。这些合作关系可以是商业和学术项目与MOU和SLA之间正式项目的一部分,也可以只是与行业的非正式协商。一些伙伴关系也有学生参与,这也需要报告。一些关键报告包括特定学术项目的合作伙伴列表、特定行业或业务类型的合作伙伴列表、正式和/或非正式合作伙伴列表,包括行业和大学角色扮演者的联系方式,以及特定项目详情列表,包括项目描述、开工日

我正在尝试为一所大学开发一个web应用程序,该大学希望跟踪他们的行业合作伙伴关系,我正在寻找ERD设计的一些想法。这所大学有不同类型的伙伴关系,有些是正式的,有些是非正式的。这些合作关系可以是商业和学术项目与MOU和SLA之间正式项目的一部分,也可以只是与行业的非正式协商。一些伙伴关系也有学生参与,这也需要报告。一些关键报告包括特定学术项目的合作伙伴列表、特定行业或业务类型的合作伙伴列表、正式和/或非正式合作伙伴列表,包括行业和大学角色扮演者的联系方式,以及特定项目详情列表,包括项目描述、开工日期,项目参与的持续时间和性质


这些是一些想法,但我愿意接受任何进一步的建议或评论。该应用程序将使用Zend Framework和MySQL数据库开发。然而,现在我只是在寻求ERD设计方面的帮助。

我已经勾画了一个可能的场景,它被简化了,但我认为它朝着正确的方向发展。重要的是,不要使合作关系过于复杂

保持它的简单和愚蠢-只有一个表的合作伙伴(学生,公司等)。向partners表中添加列或进一步的关系,以指定合作伙伴的类型(业务?学生?部门?)

partnerships_partners Relationship表可用于更精确地描述关系,如“参与者、审计师、发起人等”。它为您提供了合作伙伴代表特定合作伙伴的上下文。可以有多个条目。合作伙伴可以在多个环境中“参与”多个合作伙伴关系,即使在一个合作伙伴关系中,他也可以同时成为“参与者和发起人”。通过上的
joined_和
上的
left_列,您可以控制某个合作伙伴的“历史记录”

partnerships(伙伴关系)表描述了伙伴关系,如名称、开始日期、到期日期等

项目表描述项目,添加您自己的列来描述它

要获取报表,请在查询中将必要的表连接在一起,并根据报表的条件筛选行


抱歉,回复时间太长,有点忙。ERD与我已经设计的类似,但没有一个或两个额外的表,其中大多数表是我为了响应一些额外的特性而添加的(在这个项目中,特性蠕变已经失控)。无论如何,谢谢你在回复中付出的所有努力