数据库设计方面的问题,关于用户表的设计,请高手指点。
一般的数据表中都有一个作为主键的ID。如果我设计一个用户表,其用户名字段不能重复,那是把用户名UserName字段作为主键使用好,还是另加一个ID字段作为主键好?
因为这个UserName肯定会在其他表中多次引用,我的想法是作为主键更好一些。而一般习惯都会设一个ID,既然是大家的习惯,也许有其存在的道理。
希望高手指点,并指出这两种方法的优劣,不胜感激。
问题点数:100、回复次数:4Top
1 楼friendliu(无为)回复于 2004-11-03 23:08:17 得分 1
这个和那个没有关系吧
UserName字段作为别的表中的外键处理Top
2 楼zjcxc(邹建)回复于 2004-11-03 23:08:31 得分 98
如果单表考虑,用username做为主键就行了
如果考虑到和其他表的关联查询,加一个数字id做主键好
1.数字在检索速度上快,这样也其他表关联查询时的效率高
2.用户名可能是会修改的,如果用username做主键,势必关联修改其他表,这样在处理效率上低一些
而用id做主键的话,username的只影响用户表Top
3 楼mgsray(我是新新新新,新来的吧)回复于 2004-11-03 23:18:17 得分 1
老大说的很全了,一般外键都用数字型的id关联比较快,username类型一般都是varchar,效率低
Top
4 楼kunbrother(轻轻微笑)回复于 2004-11-04 01:01:02 得分 0
果然是5星,佩服啊Top




