teacher 和student score grade class subject 表 怎么设计 one to many or many to many

1 teacher 和student 谁是主表 谁是从表 为什么
2 用单向 many to many 还是 one to many
3 要不要中间表 teacher_student
4 java 主键为什么不能用int 自增
5 单向是只有 一个表包含另一个表主键的意思吗?双向是相互包含主键的意思吗?
6 有具体 创建sql吗

只要符合现实世界规律就可以。
1.在指派模式下,学生不能选择老师,学生是哪个老师教是指定的,这时老师为主表,因为老师教学生。现实中的小学、初中、高中都是这个原则。
在选课模式下,学生可以选择老师,这时老师为主表,因为老师教学生,即使学生可以选课,也最终会选择某一位老师。现实中大学选修课。
本质上,老师和学生是一对多关系,一个老师教多个学生。反过来学生和老师也是一对多关系,一个学生可以上多个老师的课,但是学生的数量是远大于老师的,这时应该以数据量少的表为主表,这样在查询时效率会高。
2.一对多
3.都可以
4.可以用
5.对
6.没有