【发布时间】:2020-02-02 10:32:59
【问题描述】:
我有以下表格:school、teacher、school_teacher 和 student。
school_teacher 是一个多对多联结表,使用自动生成的 PK 和 school 和 teacher 的 FK。
一个学生属于一个特定学校的老师,一个学校的老师有很多学生。
我的问题是我应该在学生表中创建外键以指向school_teacher 表PK 还是分别指向两个表PK(school、teacher)?
我认为引用完整性最好引用school_teacher,以确保仅在学校和老师之间存在关系时才插入交易记录。就最佳实践而言,解决此问题的最佳选择或最佳方法是什么?还有比我提到的更好的可能性吗?
一般来说,是否存在关联表的主键是另一个表的外键的问题?
这只是一个例子。在一个真实的案例中,一个学生可能有不止一个老师。就是为了简化例子。
【问题讨论】:
标签: database foreign-keys many-to-many junction-table