通过两个目前的生活安排来澄清正常化

时间:2011-10-22 17:27:28

标签: mysql database-design normalization

我正在阅读有关数据库规范化的文档:"Nermalization"(原文如此!)。我唯一没有看到解释的是如何处理同时住在两个地方的猫,或者同时使用两个名字。

以下是我正在处理的一个例子:我有一个与ContentID一起生活的标题,其推荐的发行季节是秋季和春季。

那么,我是否在数据库的规范化部分创建了一个distribution_recommendation_by_contentID表?

2 个答案:

答案 0 :(得分:1)

lives_with_owner_no from    until   under_the_name
1                   1998    2002    1
3                   2002    NULL    1
2                   1997    NULL    2
3                   1850    NULL    3
3                   1999    NULL    4
2                   2002    2002    4
*3                  2002    *NULL   *5
*2                  2002    *NULL   *5

有多个空结果。

答案 1 :(得分:0)

如果您只有两个值(秋季和春季)。我不会只为这两个值创建一个额外的表。否则,您需要始终使用join语句来检索将影响数据库性能的建议信息。

如果每个内容只有一个distrubution值(如Fall,Spring等),最好保留在一个表中。

另一种情况是每个内容都有一个以上的分配值。让我们说标题A有两个分布值秋天和冬天。有一个额外的表来保存这些信息是有意义的(distribution_recommendation_by_contentID)。

如果您有一个需要显示可用的distrubution值的用例,那么您可以为distrubution值和distrubution值的引用id创建另一个表。