日期:2014-05-19  浏览次数:20459 次

表结构设计问题
前提:我们公司是做样本统计分析性质的工作,也就是说我们的计算结果没有一个标准答案。

有字段:A,B,C,D,E。
其中(情况1):D依赖于A,B。
E依赖于A,B,C。

但是,如果公司老板看到这样做出来的结果不合理,就会决定这份报告的D也依赖于A,B,C(情况2,这种情况很少,但是不可避免)。

那么,根据情况1,我设计的表结构:
TABLE1(A,B,D)   --A,B做主键。
TABLE2(A,B,C,E)   --A,B,C做主键。
这时遇到情况2就无法正确存放D的记录。

如果根据情况2,设计表结构:
TABLE1(A,B,C,D,E)   --A,B,C做主键。
这时遇到情况1就会出现记录中(A,B,D)组合的大量冗余。

请问:有没有一个更好的方法既能正确地完成任务,又能避免数据冗余?


------解决方案--------------------
TABLE1(A,B,D) --A,B做主键。
TABLE2(A,B,C,E) --A,B,C做主键。

你这两个表已经足够了.
TABLE2(A,B,C,DE) --A,B,C做主键。就是说DE这个字段即可以存放D值,也可以存放E值.


------解决方案--------------------

TABLE1(A,B,D) --A,B做主键。
TABLE2(A,B,C,E) --A,B,C做主键。

你这两个表已经足够了.
TABLE2(A,B,C,DE) --A,B,C做主键。就是说DE这个字段即可以存放D值,也可以存放E值.