如果建了table1(A,B,C,D),那就不需要table2(A,B)、table3(B,C)

解决方案 »

  1.   

    假设A与B之间需要多加一条关系,使得它们从1:n的关系变成1:(n+1),难道就在table1中多加一条记录?那样的话,感觉怪怪的
      

  2.   

    一个表,完全能满足你描述的要求,除非,你的a,b 或b,c有另外的用途,并且他们不一定非出现在abcd中,那末你可以建立a,b或b,c
      

  3.   

    我ab、bc当然要有另外的用途了,我需要根据a选择的不同,返回不同的b;选择不同的b,返回不同的c。这样的话,我是否需要建table2、table3
      

  4.   

    如你所说的话,可以从table1中使用sql语句来实现,
    除非在table1中的a只是,table2(a,b)中a的一个子集,否则的话就没有必要建立table2
    同理来考虑table3建立的必要性要综合考虑数据的冗余和表的个数
      

  5.   

    当前建表的话,table1与table2中的a肯定一致;我就怕以后需要扩展a的取值范围,一旦扩展a的取值范围,那么table1中的a就只是table2中a的一个子集了;这样的话,是不是应该考虑建表table2、table3?我就是考虑到数据的冗余才在此讨教高手是否需要建table2、table3
      

  6.   

    根据你的需要和行业的复杂性判断是否table1中a为table2中a的真子集合
    如果是,建table2
    同理建table3至于判断吗,呵呵,看你自己哟