外键必需是另一个表中的主键吗?谁能给我分析一下。谢谢
不是的。
你看看这个[url=http://msdn.microsoft.com/zh-cn/library/ms175464%28v=SQL.100%29.aspx]例子[/url]
可以不是。只要表属性所存数据具有唯一性,那么该属性就可以为主键。
外键是表间关系的参照,可以不是主键。只是表明两个表之间的关系是通过那个属性连接起来的。
比如学生表在设计的时候一般可以用学号作为主键,也可设计一个ID字段,字段由数据库自动生成且不唯一,那么这个ID字段同样可以说是主键。那么对于班级,一个班级对应多个学生,这个时候对于班级表和学生表之间的外键就可以用学生学号,亦可用学生表的ID做外键。
beneo 老师答得好