创建主键,与创建聚集索引,但是不建主键有何区别呢?
我参考一下管家婆的数据库结构设计,发现好多表根本没有建主键,而只是建了索引(有些是聚集索引),比如象库存商品表这样记录数会很多的表,也没有建主键.
但是登录人员表却创建的是主键.所以我不明白,建主键与建索引的区别在哪里呢?好象是:如果建了主键,一定默认为聚集索引.
但是只建索引,与建主键的区别是什么呢?

解决方案 »

  1.   

    在SQL Server数据库中一定要保证表有主键,因为没有主键的表会存在很多种异常,导致系统的异常。SQL Server默认的主键就是聚集索引,但是它不一定是最合理的,这个需要根据实际情况来考虑,如果默认可以就默认,否则先建立聚集索引,然后再创建表的主键。索引是用来提高效率的,所以表最好有索引,尤其是数据量较大的表。