个人认为:没必要,完全没必要,建主键时本身就有了而且如果在oracle中,对于主键列本身就有索引,如果再建会直接报错

解决方案 »

  1.   

    1. 如果只是建立在主键上面,那是没有必要的。
    2. operator和operator_date 还是很有用的,看看后面是不是还有什么触发器,会把数据写入到其他表格。
      

  2.   

    我给一些个人的看法吧。仅仅限定在SQLServer。
    1、他把每个表的primary key都建了一个unique index:在SQLServer中,primary key一定是unique index。因为主键不可能不唯一,这是最起码的常识。并且SQLServer的主键默认就是聚集索引,但是根据我个人工作经验,往往聚集索引光是主键那(那些)列是不够的,经常要添加一些时间列。这个要看具体的数据访问。
    2、对于【operator和operator_date字段】,其实还是要看具体需求,如果业务上或者安全性上不太过在乎每个人的操作明细,那么完全可以只记录最后一笔,这样没必要分表。但是如果像银行那种账户进出明细,就有必要做一个明细表来记录了。有些业务对操作明细很注重,所以需要分表,有些仅仅是一种冗余记录,可以没必要注重那么细节。这方面你要结合你们公司的情况具体去体会。不是你们老大的就一定对,我很欣赏你的好问。继续努力。
      

  3.   

    “为了安全,他的每个数据表当中都有一个operator和operator_date字段,这两个字段存最后一个更改该数据表当中数据的人的id和时间,”
    这种做法是为了以后维护起来方便;如果出问题,直接可以找到最后操作该记录的人;楼主多操练几次就明白了
      

  4.   

    把每个表的primary key都建了一个unique index,这个认为没有没多大必要。至于每个数据表当中都有一个operator和operator_date字段,这两个字段存最后一个更改该数据表当中数据的人的id和时间,这个我觉得是有必要的,可以记录数据库操作对象和时间,有利于需要时确定相应人员
      

  5.   

    把每个表的primary key都建了一个unique index,这个认为没有没多大必要。至于每个数据表当中都有一个operator和operator_date字段,这两个字段存最后一个更改该数据表当中数据的人的id和时间,这个我觉得是有必要的,可以记录数据库操作对象和时间,有利于需要时确定相应人员
      

  6.   

    建主键本身就会创建索引,这个没有必要,加operator和operator_date字段,这个很有必要,特别是数据很重要,同时有很多用户可以操作时,有时,要区分数据责任这个就很有用了.