为了防止重复插入数据使用联合主键,将全表所有的字段都联合起来作为主键,合理吗?

解决方案 »

  1.   

    补充,有的表里的字段数量很大,30个左右!
      

  2.   

    肯定不合理。好好考虑考虑自己的业务,然后进行限制
      

  3.   

    你们技术总监真是牛,从他这想法上就知道,他根本就对你们项目的业务和框架都不熟悉的
      

  4.   


    首先,使用主键来防止插入重复记录是不合理的,主键的主要功能不是做这个用滴,实现这种功能的东东叫约束;其次一个表的30多个字段不允许有重复值,还真没见过这种数据,很强大的说。
      

  5.   

    你们技术总监真是这么说的?我就不信,就这样的水平,能当技术总监?
      

  6.   

    必须不合理...
        你们应该考虑只针对很少的字段做联合主键,而不是靠所有的列多做主键而保证数据的唯一性.
      

  7.   

    还不如在逻辑层去做判断,为什么要早数据库做这些工作?
      

  8.   

    还不如在程序里面判断,你们的技术总监 一看 显然是很蛋疼的做法.
      

  9.   

    我绝对比你们技术总监 强!!
      

  10.   

    技术总监?什么技术?
    蛋疼的技术?
    改成蛋疼总监吧
      

  11.   

    你应该不是来问这个问题的,我想你是想听听大家你们总监的各种吐槽……
    好吧,我承认,这个是你们这个是后勤总监……
      

  12.   

    哈哈,搞笑,那如果一个表100个以上的字段呢。
      

  13.   

    闻所未闻啊,有限几个字段的表还可以这么干,复杂的表,复杂的业务,要是这么干,那就 有点二了。如果业务上只要限制完全重复的数据,那要想别办法从业务层面限制,不能由后台数据库来做这事。
      

  14.   

    楼主应该早已明白这么做不合理,那么,在这里,是想听听专业意见,还是,只是来听吐槽的?
      

  15.   

    你们总监懂数据库设计么!?
    知道什么叫范式么!
    最好让你们的总监离数据库远点。
      

  16.   

    这种方式显然是不合理的。
    一般情况下,两三个字段作为联合组建就足够了。如果是使用所有字段,才能唯一确定数据的唯一性,说明,在数据库设计这一层,根本上就是设计不过关。应该深入业务,找出合理的数据库设计方案!!
      

  17.   

    也许受业务所限,未必不合理,缺点:索引也要占空间的,要预留足够的表空间。
      

  18.   

    太多了,联合主见不要超过10个
      

  19.   

    极度怀疑总监是否学过数据库
    他是自学的吧?!
      

  20.   

    什么人啊。唉。总  啊
      

  21.   

    这样做影响整个性能,就相当你要找书的某页,你把每页都放目录去。那目录就失去了原有的意义。