首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >产品设计器数据库的规范化

产品设计器数据库的规范化
EN

Stack Overflow用户
提问于 2016-08-25 16:34:43
回答 1查看 79关注 0票数 0

我希望创建一个数据库,以便进行跟踪。为了解决这个问题,我对其进行了一些抽象,并将其转换为一个产品设计跟踪数据库。我试着让它尽可能的规范化和高效。本质上,我希望能够跟踪员工,他们参与了哪些设计,我想运行的in.The查询并不特别复杂。我想询问有多少员工参与了某一特定型号的设计,员工设计了哪些型号和产品,有多少员工设计了一种产品等等,这些产品每年或半年都会重新设计。

我关心的是我如何管理模特和员工之间的许多关系。在提供的示例中,我在Model和Employee表之间有一个设计表。这将本质上是所有员工设计人员的转储,这既解决了许多关系(我认为这是一件有点儿糟糕的事情),又使查询设计相对简单。我还假设可以通过Emp_ID或Model_ID对其进行索引,以提高效率。

不过,我担心随着时间的推移,这张桌子可能会变得有点笨重。在它当前的角色中,我可以使这个数据库效率很低,而且可能不会注意到性能的任何下降。然而,我希望使这个相对规模-因为我想使它易于管理(无论是我管理它或其他人接管),我希望增加功能,随着时间的推移(一个类似CRM的功能,例如)。

我在想,我可以为每个员工创建一个表,并通过在一个单独的empID_design表中跟踪设计项目,但这似乎也很麻烦。从本质上讲,我想出的每一种方法都会创建大量的表,而不是插入行。

另一件事是,我希望能够跟踪项目经理。在当前的表单中,我认为在设计表中跟踪它是有意义的。我不认为项目经理会改变中期设计,但是否有一个优雅的方法来跟踪它,如果他们做到了?

如果您能提供任何帮助或建议,我们将不胜感激。我对数据库设计和ERD设计有点生疏,所以如果你注意到一些没有意义的东西,这更有可能是我犯的错误,而不是我想出的花哨细腻的设计。

为了给出每个表可以代表什么的基本概念:

公司:布莱克和德克

产品:旋转工具

型号: D-5230

设计:乔治·桑托斯,凯文·史密斯,约翰·罗德斯

项目经理:凯文·史密斯

提前谢谢你!

ERD图:http://i.stack.imgur.com/flo4l.png

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-25 20:01:35

在我看来,模型和employee之间的交集表应该是一个角色表,其中每一行都有:

  • 雇员身份证
  • 模型ID
  • 角色ID:设计师、项目经理、首席设计师等

这样,员工甚至可以在项目中扮演多个角色。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39150506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档