数据库外键问题 user表有三个唯中字段主健ID,用户编号,用户名我这个ID列是不是多余的?外健是用用户名还是用户编号,我关联的是用户编号 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般来说,用户编码是惟一的,是不是id不需要,不是的,有些软件的设计,是二者都有的,在程序中有id处理,程序的灵活性会很大,因为id可以由程序来控制,比如一个递增的序列,但是用户编码,虽然要求惟一,但是字符是需要用户起名的。所以程序中是不好控制的。所以控制id更方便些。我觉得用id做主外键关联,还是用用户编码,都可以,就看如何设计了,都是合理的。但是外键,不能是用户名呀。 主键id,与用户编号都应该是惟一的,用哪个做主键,就看设计了。用主键id,在前台程序中的控制可以更灵活。有不同意见吗,交流一下吧。 楼主可以参考一个系统表 sysobjects 的设计,id是主键,name是惟一约束另外一个不用用户编号做主键的原因就是,用户编号的长度可以变化(当然,也可以固长,但是不灵活),但是如果用id,一般是int型,速度快,做为聚集索引,int明显优于char/varchar 用户编号的组合是否复杂。。 复杂建议用主健ID。。主健ID在程序中会更好控制。 ANSI_PADDING是什么,怎么设置或是查询 求助!!!SQL如何根据一个表中字典项查询另一个表中的字段,并修改相应的数据 下面的表设计有什么不合理的地方? sql2005中RDL报表文件问题 sql嵌套语句运用 想实现这样的功能,不知应该怎么做呢? 請教一個簡單問題 在vb中ado访问数据库时。如何在程序中增加一个字段(abc) 高手请进,这种要求的SELECT语句怎么实现(前面已结贴,继续细化) 这个N是什么意思? 大清早问题:在SqlServer中如何访问FTP 帮忙优化一个SQL语句
但是外键,不能是用户名呀。
用主键id,在前台程序中的控制可以更灵活。有不同意见吗,交流一下吧。
主健ID在程序中会更好控制。