假设我正在构建大学管理软件的后端。 我有一个用户表,其中包含以下列:
id
name
birthday
last_english_grade
last_it_grade
教授表列:
id
name
birthday
我想要第三张桌子,可以用来确定所有教授学生的教授。 所以我想为每位学生分配多位老师。 那些教授可能随时改变。 也可以随时添加新学生。
实现此目标的最佳方法是什么?
答案 0 :(得分:2)
做到这一点的规范方法是引入第三个 junction 表,该表的存在主要是为了将用户与教授联系起来。
users_profs (
user_id,
prof_id,
PRIMARY KEY (user_id, prof_id)
)
此联结表的主键是用户和教授ID的组合。请注意,此表相当精简,避免了为给定用户或教授重复元数据的问题。相反,用户/教授信息保留在您的两个原始表中,并且不会重复。