两个或多个项目中重复字段怎么处理?

两个或多个项目,如OA与CRM,他们有些字段是重复的,底层的数据库的表应该怎么设计处理?是要放在1张表里面,还是2张表里,或者更多张表?最好有案例证明

是字段重复,还是表重复?功能都是独立的,表也是独立的。如果是同一个数据库,最好是不同模块表名用不同前缀。如果是公用的可以创建一些基础数据表。

字段名字一样,不叫重复
比如每个表里都有个id是主键,你不能所有表共用一个id吧

先假定你所说的数据是同一个维度的吧,如果不在一个维度就没必要讨论了,肯定是多张表。
一般来说公共基础数据有一份就可以了,但是,这需要结合业务流程来看,同一个公共数据不能在多处同时拥有决定权,因为这样会导致公共数据混乱,这样就只能由一方主导,其他方仅仅只能使用。
然后,关于单据的部分,如果能高度抽象出业务逻辑,这也未尝不可,但这势必会加大设计及开发的难度,未来增加个性化需求也会变得困难,而且容易出现bug,这需要有极佳的架构设计能力才行。不是只看当前有几个字段一样就放到一个表,需要考虑到未来的扩展性,还有如何方便出具本部门或者跨部门的业务报表


都是多年实战经验积累下来的,不同行业甚至不同公司都会有所区别。
很多人都是靠着这玩意吃饭,所以很少有人会留下什么资料,就算留下了什么资料也无法照搬,实际业务情况太过复杂,这已经不是纯技术上的事了。
当你遇到什么问题的时候自然就会想到“当时为什么我不这样设计呢?”,做得多了,就会形成自己的一套经验体系,这个是很难传授出来的,这也是为什么有些架构师有高工资的原因