【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
问题:数据库表中字段该不该添加?
描述:A,B,C三张表,其中B表通过id关联A表,C表通过id关联B表 。在项目开发的过程中,查询C表的信息和A表id这样的信息,又在C表中添加了A的id,但是C本身和A不存在这样的关系,是人为的给添加的。
讨论:这样的表结构设计是否不合理?之前做过的好多项目或多或少都存在这样的问题,这样做存在什么样的问题?我自己觉得这样不太可取,暂且想到两点:1.虽然这次查询方便了,但是保存C表的时候,得多保存一个A表的id;2.如果遇见每个这样的需求,都通过添加字段来维系,其实并反倒没有降低开发成本,因为还得去维护保存C表对象,还有就是给C表添加n多不是它的属性,这样迭代到后期,其实更加不利于维护。
不明白我这样想对吗,求大神指点迷津。
第一,在你不知道该如何做的时候,先按照规范来。
第二,除非真的有特殊的性能问题,不然不要轻易违反范式。而99.99%的问题,都不是按规范造成的,都是拙劣的设计与SQL编写能力的问题。