【发布时间】:2011-02-21 21:02:50
【问题描述】:
阅读question 后,我了解到非规范化不是简单的解决方案。这个案子呢?
我有新闻文章,其中包含网站文章将发布到的列表。后者可以通过表和多对多关系(我认为通过交叉表)以标准化方式表示。但简单的解决方案是为站点文章将被发布到(publish_to_site_1、publish_to_site_2 等)添加一堆布尔值。假设网站是:
- 数量少
- 不会随时间改变
- 除了名称之外没有任何字段
这仍然是一个糟糕的主意吗?多对多的关系似乎有些麻烦,但我以前在这种情况下做过(而且看起来很麻烦)。
注意:我在 Rails 中执行此操作,并没有那么痛苦。另一方面,元编程让这样的事情变得微不足道
(1..5).each { |site| do_something(article["publish_to_site_#{site}".to_symbol]) }
【问题讨论】:
-
+1 用于标题中的“不良”。
-
@ponzao,是的,对于关于一大堆布尔值的问题,感觉很合适。
标签: database-design denormalization