mysql - SQL 中的外键

标签 mysql sql

我有一张 table :

PROFESSOR(pid, pname)  

和另一个表:

EXAM(examid, professorID, assistantID , examinerID, subject);

我想将 professorID、assistantID 和 examinerID 引用到 pid。教授可以在考试中担任助理和考官,而且该科目属于教授,因此 EXAM 表中的教授、助理和考官是从 PROFESSOR 表中的教授中选择的.

我认为我设计的模式是错误的,是吗?如果它错了怎么改才能满足我上面解释的条件。

你能帮忙吗?

最佳答案

我认为可以重新设计架构。您可以拥有三个表:-

教授(pid, pname, pAddr);

Exam(examId, subjectId, ...,..,assistantId,ExaminerId); (assistantId 和 ExaminerId 引用 pId)

Subject(subjectId, desc, course, professorId); (professorId 引用 pId)

关于mysql - SQL 中的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8784101/

相关文章:

mysql - 转换器 Perl 脚本修复

sql - PSQL 将 jsonb 属性更新为当前值

mysql - 如何在表中的任何更改上创建触发器

php代码显示总计中的列总和

sql - 在字符串 Oracle SQL 之间插入字符

java - ActionListener 不适用于所有对象

sql - 如果在 postgres 中找不到记录,如何设置默认值

php - 如何使用 PHP 和 SQL 生成嵌套的 JSON 响应

python - 跨多个站点共享表

mysql - 退出 MySQL 而不在 El Capitan 上重新启动