+ -
当前位置:首页 → 问答吧 → 数据库表设计问题

数据库表设计问题

时间:2011-12-19

来源:互联网

SQL code

问问这里的牛人,对于以下两个简单常用的表,主外键的引用问题是如何处理的!
有两个表:UsersInfo(ID,UserCode,UserName,UserPwd)、DeptInfo(ID,DeptCode,DeptName,Remark)
UsersInfo表要关联DeptInfo表,一般是:UsersInfo(主键ID,UserCode,UserName,UserPwd,外键DeptInfoID)
问题以下:UsersInfo表的外键可以是DeptCode(注:此字段不是主键),是不是外键就必须是外表的主键?如果DeptInfo表的ID和DeptCode是联合主键呢?可以以DeptCode字段作为UsersInfo的外键吗?抛开这两张表,其它类似的表也是这样设计吗?


作者: custom1234   发布时间: 2011-12-19

是不是外键就必须是外表的主键

必须的

作者: fredrickhu   发布时间: 2011-12-19

问问这里的牛人,对于以下两个简单常用的表,主外键的引用问题是如何处理的!
有两个表:UsersInfo(ID,UserCode,UserName,UserPwd)、DeptInfo(ID,DeptCode,DeptName,Remark)
UsersInfo表要关联DeptInfo表,一般是:UsersInfo(主键ID,UserCode,UserName,UserPwd,外键DeptInfoID)
问题以下:UsersInfo表的外键可以是DeptCode(注:此字段不是主键),是不是外键就必须是外表的主键?如果DeptInfo表的ID和DeptCode是联合主键呢?可以以DeptCode字段作为UsersInfo的外键吗?抛开这两张表,其它类似的表也是这样设计吗?

作者: custom1234   发布时间: 2011-12-19

如果DeptInfo表的ID和DeptCode是联合主键呢?可以以DeptCode字段作为UsersInfo的外键吗?

可以

作者: fredrickhu   发布时间: 2011-12-19

引用 3 楼 fredrickhu 的回复:

如果DeptInfo表的ID和DeptCode是联合主键呢?可以以DeptCode字段作为UsersInfo的外键吗?

可以

谢谢你如此迅速的回答!

作者: custom1234   发布时间: 2011-12-19

一般见得最多的就是把主键设为一个表的ID上,其它的什么样情况下一般不会把主键设在ID上呢?我所指的ID是一般那个自增ID!

作者: custom1234   发布时间: 2011-12-19