在现代企业中,产品经理与技术团队的协作已成为常态。但当涉及到具体的工作划分,让产品经理设计数据库表是否真的合适?从多方面来看,答案似乎是“不应该”。
![](https://mysql360.com/wp-content/uploads/2023/10/2023100713174495-1024x640.png)
1. 表单与数据库表:天差地别
1.1 产品设计与数据库设计的区别
产品经理在设计产品时,会遇到大量的业务表单。这些表单是为了用户体验而设计,充满了交互和视觉体验,以及数据规则的校验。但从数据库的角度看,表结构并不完全依赖于这些表单。直接把表单转化为数据表,可能会带来许多问题。
1.2 数据结构的复杂性
例如,考虑一个老人的生活状况评估表单,实际的数据结构可能涉及三个或更多的表。为了程序更好的使用,可能还需要增加一些非业务字段,并考虑如何更好地管理枚举属性。此外,为了系统的扩展性,还可能需要设计更为抽象的数据结构。
1.3 表单与数据库表的本质差异
简单来说,表单的目的是采集或展现业务数据,而数据库表的目的是存储和管理数据。数据库表设计要考虑数据的查看、新增、更新、删除等操作,保证数据的准确性、性能和效率,以及考虑数据库范式和数据冗余等因素。
![](https://mysql360.com/wp-content/uploads/2023/10/2023100713182151.png)
2. 产品经理设计表:跨层兼任的风险
2.1 跨层工作并不高效
有些公司认为,产品经理既然设计了表单,那么也可以设计数据库表,这样可以提高效率,节约成本。但实际上,产品经理的主要任务是在功能模块层面,而数据建模则在更底层。跨这么多层级去做设计,其实并不高效。
2.2 技术层面的挑战
数据建模层的设计,需要充分考虑技术实现和技术选型。例如,选择哪种数据库、怎么使用缓存等技术细节。这些都是绝大多数产品经理可能不太熟悉的。
2.3 职责转换的问题
对于有技术背景的产品经理,虽然他们可能有能力设计数据库表,但他们现在的角色是产品经理,应该更加关注业务和用户。即使他们再深入技术,也很难跟上最新的技术趋势。因此,他们可能可以参与讨论,但不应该负责具体的数据库设计。
![](https://mysql360.com/wp-content/uploads/2023/10/202310071319125.png)
总结
尽管产品经理和技术团队需要紧密合作,但不同的职责应该由不同的专家来承担。产品经理应该专注于业务和用户,而数据库表的设计则应该由有经验的技术团队来完成。这样,才能确保每个环节的工作都达到最高的标准。