欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php在写数据中时,啥叫一对一和一对多

程序员文章站 2022-05-27 23:36:38
...
这是一个教程,听里面这家伙讲,建表时有时一个表对另一个表,有时这个表要对几张表,即所谓的一对一,和一对多,具体为啥要这么干,这家伙就闭口不谈了,太另人发指了!
这种不传之秘道理是什么,何谓一对一或一对多!
我的理解表和表之间的关系不都是一对一吗,哪有什么一对多?
如图


回复讨论(解决方案)

老师表 和 学生表 不就是一对多的吗?
学科表 和 学生表 不就是多对多的吗?

至于你的贴图,咱不懂英文,你又没有说明。不好说什么

老师表 和 学生表 不就是一对多的吗?
学科表 和 学生表 不就是多对多的吗?

至于你的贴图,咱不懂英文,你又没有说明。不好说什么


啥意思,能详解吗

举个例子:
你有3个表
学生表(学生id 学生姓名)
课程表(课程id 课程名)
成绩表 (学生id 课程id 分数)
班级表(班级id 学生id)
这里的班级表跟学生表就是一对多 一个班级包含了很多学生 反过来就是多对一
这里的课程表就是多对多 一门课对应多个学生选择 一个学生也可以有多个课程可以选
至于一对一的话 教授与学生的关系 一般一个教授就对应一个学生

很简单
三个表
班级表
老师表
学生表

关系
1个班级有多个学生
所以班级表与学生表是1对多

一个老师有多个学生
所以老师表与学生表是1对多

1个班级有多个老师
1个老师可以教多个班级
所以班级表与老师表是多对多

谢谢上面二位。不过还有一个小问题有些疑惑:这种一对一或一对多,或多对多的情况,在mysql设计时,怎么才能看出作用来呢?或者说这种关系有无约束作用呢?
可能我表达的不准确,具体的就是在写sql句时,这些关系如何在sql句中表现呢

几对几是你的业务上的概念,与数据库本身无关,自然也不会体现在 sql 指令中