请问:
数据库设计中用户表与用户详细信息表之间,用id做外键方便,还是用username来做外键?

解决方案 »

  1.   

    用户表 user_id,username:id是主键
    用户信息表:userinfo_id, user_id: user_id是外键
      

  2.   

    当然用id啦....如2楼所言,主键尽量与业务无关...
    另外..username可能会有中文的情况...乱码问题会烦死你...
      

  3.   

    userid做外键
    id就是用来唯一标识一条记录的
      

  4.   

    用户与用户信息表一般使用 username 作为关联的居多。这样的关联属于适当的数据冗余。当然了,在 USER 表中的 username 是不允许更改的,也不允许删掉,而且必须是唯一的。
      

  5.   

    在一个系统中有很多的表都会使用到 username 这个字段值,如果都是采用 USER 表中的 id 来关联的话,那么在查询时关于 username 的东西都必须先跑到 USER 表中把 id 查出来,再通过 id 去查,这样做的话很明显多了一次表的查询,因此我认为关于 username 作为关联字段比较适合。
      

  6.   

    用户表是ID做主键。用户详细信息外间是用户ID 用户名肯定不能做主键!因为有同名的人
      

  7.   

    个人看法:主键尽量与业务无关。
    [/Quote]
      

  8.   

    无所谓,只要保证username必须唯一(其实很多情况下username都必须是唯一的)和必须是不能包含汉字和特殊字符就可以。不要忘了,主键的特性是唯一,只要满足这个特性都可以作主键,不必须是数字,更不必是所谓的”ID“。既然是主健,就理所当然不得不戒的可以作外键了
      

  9.   

    ID,不多说了,以后都不要用NAME做关联的外键!