SQL 具有两个变化属性的数据库结构
SQL database structure with two changing properties
假设我正在构建大学管理软件的后端。
我有一个用户 table 具有以下列:
id
name
birthday
last_english_grade
last_it_grade
教授table列:
id
name
birthday
我想要第三个 table 我可以用它来确定所有教学生的教授。
所以我想为每个学生分配多位老师。
这些教授随时可能更换。
也可以随时添加新学员。
实现此目标的最佳方法是什么?
这样做的规范方法是引入第三个 junctiontable,它的存在主要是为了将用户与教授联系起来:
users_profs (
user_id,
prof_id,
PRIMARY KEY (user_id, prof_id)
)
此联结点的主键 table 是用户 ID 和教授 ID 的组合。请注意,此 table 相当精简,并且避免了为给定用户或教授重复元数据的问题。相反,user/professor 信息保留在您的两个原始 table 中,不会重复。
假设我正在构建大学管理软件的后端。 我有一个用户 table 具有以下列:
id
name
birthday
last_english_grade
last_it_grade
教授table列:
id
name
birthday
我想要第三个 table 我可以用它来确定所有教学生的教授。 所以我想为每个学生分配多位老师。 这些教授随时可能更换。 也可以随时添加新学员。
实现此目标的最佳方法是什么?
这样做的规范方法是引入第三个 junctiontable,它的存在主要是为了将用户与教授联系起来:
users_profs (
user_id,
prof_id,
PRIMARY KEY (user_id, prof_id)
)
此联结点的主键 table 是用户 ID 和教授 ID 的组合。请注意,此 table 相当精简,并且避免了为给定用户或教授重复元数据的问题。相反,user/professor 信息保留在您的两个原始 table 中,不会重复。