Sql 一对多关系模型,其中右侧的数据可能非常可变?
以下是我试图解决的问题:Sql 一对多关系模型,其中右侧的数据可能非常可变?,sql,orm,relational-database,Sql,Orm,Relational Database,以下是我试图解决的问题: Entity A : a_id Entity B : b_id One A can use Many B's. However, not all Bs are used by all As. 这是我能想到的最好的例子: One teacher has many students. Some students are taught by more than one teacher. 什么是关系,这样我可以添加/删除由一位教师教授的学生,但不影响已经教授所述学生的教师?
Entity A : a_id
Entity B : b_id
One A can use Many B's. However, not all Bs are used by all As.
这是我能想到的最好的例子:
One teacher has many students.
Some students are taught by more than one teacher.
什么是关系,这样我可以添加/删除由一位教师教授的学生,但不影响已经教授所述学生的教师?您需要一个学生教师实体,将两者联系在一起。它将有一个a_id列和一个b_id列。您需要一个StudentTeacher实体,将两者关联起来。它将有一个a_id列和一个b_id列。您需要第三个表,称为这两个表之间的映射。创建此表以便:
Table Student_Teacher_Mapping
Id (Int)
TeacherId(Int) // foreign key for teacher table
StudentId(Int) // foreign key for student table
我想这就是您想要的。您需要第三个表,称为这两个表之间的映射。创建此表以便:
Table Student_Teacher_Mapping
Id (Int)
TeacherId(Int) // foreign key for teacher table
StudentId(Int) // foreign key for student table
我想这就是你想要的。那么在教师映射上有可能有一个一对多的关系吗?是的。学生和教师都与映射表有一对多的关系。例如,teacher.mapping将包含该教师所教的所有学生。显然,我在理论上实施此方法是有原因的循环和记忆耗竭。我猜我不能使用ORM来完成这个过程。那么在TeacherMapping上就有可能有一个一对多的关系吗?是的。学生和老师都会有一对多的映射表关系。例如,teacher.mapping将包含该老师所教的所有学生。显然,我在理论上实现这个方法是有原因的循环和记忆耗竭。我想我不能用ORM来完成这个过程。