16-1-表结构设计(实现)
大约 3 分钟
16-1-表结构设计(实现)
任务:线索和商机跟进相关表设计
先完成粗粒度设计
- 确定我们的跟进表是否要进行拆分
- 能否不进行拆分?为什么?
- 如果要拆分怎么拆分?
细粒度设计
- 基于粗粒度设计的表和关联关系,基于原型设计每张表里面的字段
思路提示
对于页面来说,表字段的设计应该至少满足能保存原型上的数据,表字段
- 先进行粗粒度设计,建立几张表来实现,每张表的关联关系如何
- 进行粗粒度设计的结果进行细粒度设计,每张表具有哪些字段
提示:
- 在原型中线索跟进中有线索的信息,商机跟进里有商机跟进的信息
- 那么在跟进表里的是否要存储线索和商机的信息?为什么,如果要记录,怎么记录呢? 例:如果在商机跟进里修改了用户的客户资料并保存了,那么这部分数据是保存在商机表里还是跟进表里,从下一个商机业务员的角度考虑
1.粗粒度设计--使用几张表来实现
1.1使用一张表来实现--方案A

使用一张表记录的理由
其中跟进人,跟进时间,下次跟进时间这样的字段都是重复的,可以记录在一张表里,可以参考分配表里的内容,通过一个关联id+type字段来区分商机还是线索
1.2 使用两张表来实现--方案B

使用两张表来存的理由
我觉得商机就应该是商机跟进,线索就应该是线索跟进,不应该混为一谈
现在你们觉得谁更有道理:如果是,你会更愿意使用哪一种方案?
1.3表设计分析
方案1 不好
为什么不好👎,第一商机跟进和线索跟进存储的东西不一样
1.线索跟进页面

线索跟进主要跟进的是:
2.商机跟进

商机跟进记录的重点是:
这两部分跟进记录的内容是不太一样的,虽然可以放在一起,但是由于记录的内容不一致, 👍
但是这不是拆分成两张表的核心原因
注意,作为一个表结构的设计者一定要从长远的角度去考虑问题,不要只考虑眼前的需求,产品经理的需求可能会天天变,需要提前设计并考虑
未来可能的场景
假如我们把商机跟进和线索跟进存在一张表里,假如未来要修改商机跟进记录的内容,
比如新增一列客户担心,但是在线索阶段不需要添加这样的沟通,那么在一张表里的话所有的线索跟进也要跟着变动,这样系统的拓展性就受到了巨大的限制,如果放在一张表里,它的拓展性就很低,这才是要拆分成两张表的核心