这几天在做数据库设计,有设计到表的字段,如 性别字段,学历 这种枚举值,有的同事认为为了查询和开发方便,设计2个字段,一个代表ID,一个代表具体的枚举值
这样的设计不知道,好不好呢?这几张表,目前规划数据量可能在千万条左右我觉得这样设计
优势:
1方便平时的查询
2 提高程序查询的速度
3 方便面向对象的方式开发缺点:
1 不太方便维护数据,如果
处理不好,容易造成数据不一致现象。  
2 插入数据的时候,性能稍低
3 数据库存储空间将有增加
4 会对现有程序进行修改,有一定的工作量,主要在存储的时候增加存储字段和查询的时候不在join表

解决方案 »

  1.   

     适当的冗余还是可以的,如果为了减少冗余,过多的拆分表,会在以后的开发中,查询数据带来很大的麻烦!我现在就遇到这个问题伤脑筋。有时候为了得到某一个结果,要写很复杂的SQL语句!
      

  2.   

    看数据量的多少  
    数量量大用其中一张基本表新加个关系字段,存放另一张表的ID号,多个ID以指定符号分隔
    数据量小用两张基本表的基础上新建一张关系表
      

  3.   

    是类似于数据字典么?
    可以尝试在字典字段中使用xml
      

  4.   

    数据冗余也是有好处的,传统的范式不太适合现在web的大数据量访问