我正在尝试为希望跟踪行业合作关系的大学开发一个网络应用程序,我正在寻找ERD设计的一些想法。该大学有不同类型的伙伴关系,其中一些是正式的,一些是非正式的。这些合作伙伴关系可以是企业和学术计划之间正式项目的一部分,包括谅解备忘录和SLA,或者只是与行业进行非正式磋商。一些伙伴关系也有学生参与,这也需要报告。一些关键报告包括特定学术计划的合作伙伴列表,特定部门或业务类型的合作伙伴列表,正式和/或非正式合作伙伴的列表,包括行业和大学角色参与者的联系方式以及特定项目详细信息(包括项目)的列表描述,开始日期,持续时间和计划参与的性质。
这些是一些想法,但我对任何进一步的建议或意见持开放态度。该应用程序将使用Zend Framework和MySQL数据库开发。但是现在,我只是在寻找ERD设计方面的帮助。
答案 0 :(得分:1)
我已经描绘了一个可能的场景,它已经简化但我认为它朝着正确的方向发展。重要的是,你不要过度复杂的伙伴关系< - >伙伴关系。
保持简单和愚蠢 - 只为合作伙伴(学生,公司等)提供一张桌子。在合作伙伴表中添加列或进一步的关系,以指定合作伙伴的类型(业务?学生?部门?)。
partnership_partners关系表可用于更准确地描述关系,如“参与者,审核员,赞助商等”。它为您提供了合作伙伴对特定合作伙伴关系的背景。可以有多个条目。合作伙伴可以在多个环境中“参与”多个合作伙伴关系,即使在一个合作伙伴关系中,他也可以同时成为“参与者和赞助商”。通过joined_on
和left_on
列,您可以控制特定合作伙伴中的合作伙伴的“历史记录”。
伙伴关系表描述了伙伴关系,如姓名,开始日期,到期日期等。
项目表描述了项目,添加了自己的列来描述它。
要获取报告,请在查询中一起加入必要的表格,并根据报告的条件过滤行。