首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access数据库中可以有重复的外键吗?

Access数据库中可以有重复的外键吗?
EN

Stack Overflow用户
提问于 2016-04-21 15:25:15
回答 1查看 171关注 0票数 0

我正在为一个类项目构建一个Access数据库,并且有一个关于外键的问题。能给我两个外键复本在一个桌子上吗?

我之所以问这个问题,是因为我有一个顾问表,它使用顾问的电子邮件地址作为主键。但是,学生们可以有两个顾问的所以在我的学生桌上,我可以有两个顾问的电子邮件,因为他们会让我两个相同的外键。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-21 15:55:23

不,表中不能有重复的主键。那就不是PK了。

用第三张桌子把你的学生和你的顾问联系起来。

例如:

顾问表有: AdvisorEmail(PK)和myemail@outlook.com值,youremail@ouitlook.com 学生表有: StudentID(PK)值1,2

StudentAdvisor table只有两个字段: AdvisorEmail和StudentID --这两个字段都设置为主键(复合主键)。

记录1有myemail@outlook.com /1

记录2有youremail@outlook.com /1

然后您可以编写一个查询来提取学生的名字和顾问的名字:

代码语言:javascript
复制
SELECT      Student.StudentName, 
            Advisor.AdvisorName
FROM        (Advisor INNER JOIN StudentAdvisor ON Advisor.AdvisorEmail = StudentAdvisor.AdvisorEmail) 
                     INNER JOIN Student ON StudentAdvisor.StudentID = Student.StudentID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36774064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档