j40*_*j40 4 sql database-design
我继承了一个庞大的现有数据库,我想知道我是否应该重构它,因为95%的查询需要加入至少4个表.
DB有5个表,只有一个ID和Name列,少于20行.我假设作者这样做,所以他可以更改那里的名称,而不是在其他表中更改它们,但其中许多表只在另一个表中引用.我应该将这些小的2列表重构为更大的表并向列添加约束,以便用户不能输入错误的名称而不是具有单独的表吗?
抵制那种冲动.根据您的描述,我可以推断出现有设计是可靠的,并且可能已经很好地规范化了.您的重构实际上可能会撤消一个良好的数据库结构.
如果您在查询中编写了大量连接而烦恼,我建议您创建视图以减轻样板.
......作者这样做了,所以他可以改变那里的名字而不是在其他表中改变它们......
这是良好设计的证据,正是您应该在规范化数据库中努力的目标.