SQL的一对多,多对一,一对一,多对多什么意思?

 我来答
思念是一种醉过
高粉答主

推荐于2019-08-30 · 每个回答都超有意思的
知道大有可为答主
回答量:224
采纳率:100%
帮助的人:4.2万
展开全部

1、一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。在这个班级中随便找一个人,就会知道他们的班主任是谁;知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。

2、多对一:比如说一个班级有很多学生,可是这个班级只有一个班主任。在这个班级中随便找一个人,就会知道他们的班主任是谁;知道了这个班主任就会知道有哪几个学生。这里学生和班主任的关系就是多对一。

3、一对一:比如说一个班级有很多学生,他们分别有不同的学号。一个学生对应一个学号,一个学号对应一个学生;通过学号能找到学生,通过学生也能得到学号,不会重复。这里学生和学号的关系就是一对一。

4、多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。

1、一对一的使用方法

(1)使用嵌套结果映射来处理重复的联合结果的子集 。

(2)通过执行另外一个SQL映射语句来返回预期的复杂类型。

2、一对多的实现方法

在多的一方的表里面,添加外键。

3、多对多的实现方法

多对多,必须要通过单独的一张表来表示。

弥艳卉和远
2020-04-11 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:539万
展开全部
举个例子:
你有3个表
学生表(学生id
学生姓名)
课程表(课程id
课程名)
成绩表
(学生id
课程id
分数)
班级表(班级id
学生id)
这里的班级表跟学生表就是一对多
一个班级包含了很多学生
反过来就是多对一
这里的课程表就是多对多
一门课对应多个学生选择
一个学生也可以有多个课程可以选
至于一对一的话
教授与学生的关系
一般一个教授就对应一个学生
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式