数据库表的设计一般都要求满足第三范式。每个字段都是不可再拆分的最小单元。
而如果你这样存储数据:
员工表(id,姓名,...),员工亲属表(id,员工姓名,亲属姓名,...)
这里亲属表的员工姓名就是冗余。

解决方案 »

  1.   

    table A
    id  name
    --------
    1   kcaj
    2   kram
    3   nosne
    ...table B 
    name age
    ---------
    kcaj  20
    kram  30
    nosne 23
    ...这样设计不是很理想,因为table a 的 name 字段 和table b 的 name 字段是相同的. 这就是 冗余.应把它设计成关系型.
    把 table b设计成:
    id age
    ------
    1  20
    2  30
    3  23
    ...这样就是消除冗余的办法.  但这不是绝对的, 冗余设计是牺牲简洁、规范和空间换取速度(如楼上说的),适当的冗余还是可以的。