我在mysql工作,我知道表关系'联接'等,我有三个不同的表,每个表都有列id,我想把所有三个id合并到一个主表中,因为我想在一个表中得到所有id后应用内部联接。你能告诉我如何在一个表中获得所有三个ID吗?我知道外键和主键,但我不知道如何在这里应用它们。。。或者有什么简单的方法。
我的表名称:
Table 1 contains: student_id coloumn
Table 2 contains: teachers_id
Table 3 contains: class_id
主表是表4:将有学生id、教师id、班级id列
我正在尝试生成时刻表,我想在主表时刻表中获得学生id、教师id和班级id;我正在尝试做规范化,这样我就不必一次又一次地重复所有的名字,我可以用id来调用任何类名,教师名,学科名等等,所有id都是表中的主键。
这种关系是一对一的
我正在开发php\umysql。
谢谢你
3条答案
按热度按时间xytpbqjk1#
据我所知,如果我错了,请纠正我,一个班级有一个老师,简化,一个老师教一个或多个班级(更复杂的情况是每个班级不止一个老师):关系是1对多,所以班级表应该包含一个教师id
一个学生可以上多个班,但是一个班有很多学生,那么关系是多对多的,应该为每个学生创建一个新的表
当然,我们需要用相关信息填充它们,
一旦完成,我们就可以连接所有相关的表并得到时间表
添加教师id列:
创建多对多表
时间表选择:
请注意,由于所有实体之间的关系都是多对多的,因此每个实体(class、teacher、student)都会出现多次,但这3个实体的唯一组合只会出现一次
5lhxktic2#
创建如下表:,
插入样本值
使用内部连接连接表,
试试这个…如果需要任何澄清,请回复我。。
hfwmuf9z3#