2个表列之间的多个链接......糟糕的设计方法?

时间:2011-08-18 20:35:05

标签: java database database-design

Example

您好 我正在开发一个webapp,我即将设计数据库,我遇到了这个问题。 在2个表之间有超过1个链接是一个糟糕的设计吗? 我发布的图片是一个非常快速的小例子,只是为了让它更清晰。 如果我想显示所有优惠,我想插入他们相关的产品,在这种情况下,我可以通过创建从产品ID字段中的产品ID检索的产品实例来检索产品名称对象,但它需要更多的查询执行和更多的打字工作,所以我想在产品名称中直接包含产品名称,以便我可以简单地检索所有商品,并最终通过浏览带有产品ID的数据库来显示相关产品。 你认为这是一个糟糕的方法吗? 我一直在寻找像我这样的案例,但我只找到了表之间有1个连接的方法(具有唯一的id) 谢谢

4 个答案:

答案 0 :(得分:1)

这是数据非规范化。不要这样做(在大多数情况下)。正确设计表,让数据库使用正确的查询正确工作。随着时间的推移,维护和使用会更容易。

使用商品表中的ID在产品表中查找产品名称。

答案 1 :(得分:1)

是的,这会很糟糕。

删除冗余名称将是正确的规范化。只需链接id,这将是最好的方式。

答案 2 :(得分:1)

通常,两个表之间的关系(链接)数量没有限制,但每个关系应具有唯一的含义。如果在您的示例中,产品名称和产品ID都是候选键,并且每个名称始终具有相同的ID,则绝对不在这些表之间具有两个PK / FK关系。

答案 3 :(得分:0)

@Joe是对的。规范化是数据库设计的最佳方法。原因是可以在一个表中添加,删除和修改字段,然后通过定义的关系传播到数据库的其余部分。