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

如题所述

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

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

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

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

1、一对一的使用方法

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

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

2、一对多的实现方法

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

3、多对多的实现方法

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
举个例子:
你有3个表
学生表(学生id 学生姓名)
课程表(课程id 课程名)
成绩表 (学生id 课程id 分数)
班级表(班级id 学生id)
这里的班级表跟学生表就是一对多 一个班级包含了很多学生 反过来就是多对一
这里的课程表就是多对多 一门课对应多个学生选择 一个学生也可以有多个课程可以选
至于一对一的话 教授与学生的关系 一般一个教授就对应一个学生本回答被提问者采纳
第2个回答  2014-11-17
一对一:我有一个身份证号 ;
一对多:我有多张银行卡;
多对多:我是招行、交行、建行的客户,但是这些银行用户均过亿。
第3个回答  2021-08-23
一对一:一个班级只有一个班长
多对一:多个班级是同一个班主任
一对多:一个班级有多个学生
多对对:班级有多个家长,其中同一个家长属于多个班级的家长,他的孩子们分别在多个班级上课
第4个回答  2011-02-20
就是在数据库里,表与表之间的数据交换与提取,
例如有两表:表一(b中有字段mc,sl),表二(c中有字段mc,sl)
在查询分析器中输入
select b.mc,a.sl from b.a,c.b where a.mc=b.mc
就能看到表b,c中字段mc相同的数据信息了。
相似回答