2 adreamb adreamb 于 2015.06.09 21:41 提问

mysql 什么是一对多的关系?

mysql 设计的时候 什么是一对多的关系?什么是一对一的关系,什么是多对多的关系?

6个回答

suyongzhi1984
suyongzhi1984   2015.06.09 21:59
已采纳

一般来说,是设置从表的主键参照主表的主键来达到1:1的关系

adreamb
adreamb   2015.06.09 21:42

还有没有其他的关系?

zongqiangkun
zongqiangkun   2015.06.09 21:44

关系数据库中两个表之间的一种关系,该关系中第一个表中的单个行可以与第二个表中的一个或多个行相关,但第二个表中的一个行只可以与第一个表中的一个行相关。
实例解释:
首先一对多不是一个表中的一个列对应另一个表中的多个列,列是不能够一对多的!这里的一对多是是指行的对应!
例如CLASS表中的班级列CLASSID对应于STUDENT表中的班级列CLASSID,当CLASS表中的2班的CLASSID改成4,STUDENT表中所有原来
CLASSID为2的学生的CLASSID都改成了4。但反过来,想要把STUDENT表中的CLASSID为2的其中一个学生CLASSID改为4,在不改动主键
表的情况下是不行的,说明外键是受主键约束的。
命名探究:
一对多关系,一般是一个表的主键对应另一个表的非主键,主键的值是不能重复的,而非主键值是可以重复的,
一个主键值对应另一个表的非主键的值,那么就只有一个值对一个值或一个值对多个值两种可能,故称一对多。
而在一对一关系中,一般是主键对应主键,那么显然就只有一个值对一个值的可能,故称一对一。

suyongzhi1984
suyongzhi1984   2015.06.09 21:59

一般来说,是设置从表的主键参照主表的主键来达到1:1的关系

lzp_lrp
lzp_lrp   Ds   Rxr 2015.06.10 08:39

一般来说,是设置从表的主键参照主表的主键来达到1:1的关系

楼主问的是一对多,采纳答案为1:1,费解

数据库实体间有三种对应关系:一对一,一对多,多对多。
一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。
一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。
多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。

这三种关系在数据库中逻辑结构处理分析:

1.一对多关系处理:
我们以学生和班级之间的关系来说明一对多的关系处理方法。
假设现有基本表学生表(学号,姓名,……),班级表(班级号,备注信息,……)。

beacon_2011
beacon_2011   Rxr 2015.06.10 15:23

一对多 就是 这张表的一条数据对应另一张表的多条数据
一对一 是 这张表的一条数据对应另一张表的1条数据

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关系数据库—多对多的关系
多对多关系是关系数据库中两个表之间的一种关系, 该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关。第二个表中的一个行也可以与第一个表中的一个或多个行相关。 实例解释: 比如在常见的订单管理数据库当中“产品”表和“订单”表之间的关系。单个订单中可以包含多个产品。另一方面,一个产品可能出现在多个订单中。因此,对于“订单”表中的每条记录,都可能与“产品”表中的多条记录对应。此外,对于“产品
mysql简单介绍一对一,一对多,多对多关系处理办法
一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。 一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生。 多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。 这三种关系在数据库中逻辑结构处理分析: 1.一对多关系处理: 我们以学生和班级之间的关系来说明一对多的关系处理方法。 假设现有基本表学生表(学号,姓名,……),班级表(班级号
在一对多关系中为什么要让多的一端维护关联关系
有两个类,Class表示班级,Student表示学生,两者之间是一对多的关系。Class有以下属性:private int id;//id号 private String name;//班级名 private Set students;//学生集合Student有以下属性:private int id;//id号 private String name;//姓名 private C
数据库设计(一对一,一对多,多对多)关联查询
※表与表之间的关系 1、一对一 需要两个表。当然做项目时为了省空间,通常只建一个表,如果要实现一对一的查询,可以建两个视图。示例如下: 1)建物理表,初始化数据 CREATE TABLE person( id INT, NAME VARCHAR(10), sex CHAR(1), wife INT, husband INT ); INSERT INTO person
表间的关系一对多/一对一/多对多关系是怎样建立的?
外键可以是一对一的,一个表的记录只能与另一个表的一条记录连接,或者是一对多的,一个表的记录与另一个表的多条记录连接。 1.一对多,在多的一方建立外键(外键指向一的主键) 母亲与孩子的关系:母亲,孩子两个实体 母亲表:ID(P),名字,年龄,性别 孩子表:ID(P),名字,年龄,性别 以上关系:一个妈妈可以在孩子表中找到多条记录(也可能是一条),但是一个孩子只能找到一个妈妈 是一种典型的一对
如何根据一对一,一对多,多对一和多对多的关系创建表
一对一的关系最简单,一个实体创建一张表就行了; 一对多和多对一的关系建表原则是一样的,在多的一方用外键列引用‘一’的一方的主键,来保证两者之间的联系; 多对多的关系,就是新创建一张中间表,以保证二者之间的联系。
MySQL数据库通过navicat建立多对多关系
** 目的: ** 构建两张表的多对多关系:清洗数据表(clean_data表)与用户表(user表)建立多对多的关系。如下图图0所示 图0 多对多之间关系1 创建表.打开navicat,创建三张表,clean_data表与user表,以及两个表之间的关系表(clean_data_user表)。 表结构分别如下: 图1 clean_data设计表 图2 user设计表
数据库中表关系(一对多,多对多,一对一)
一对多关系 一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。 只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。 多对多关系 在多对多关系中,A
数据库实体间一对多(多对一)、多对多关系处理
原文:http://www.cnblogs.com/langtianya/archive/2013/03/11/2954832.html数据库实体间有三种对应关系:一对一,一对多,多对多。一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号。一对多关系示例:一个学生只属于一个班,但是一个班级有多名学生。多对多关系示例:一个学生可以选择多门课,一门课也有多名学生。这三种关系在...
多表设计之间的关系;一对一,一对多,多对多
5 多表设计之间的关系 一对多的关系:例如 一个部门对多个员工,一个员工只能属于一个部门 多对多的关系:例如 学生选课,一个学生可以选多门课程,一门可能可以被多个学生选择 一对一的关系:例如 一个人只能有一个身份证,一个身份证只能有一个人 6 表与表一对多的关系: 在一对多时 多的表中添加一个外键,用来和一的表的主键。产生联系。 7 多对多关系介绍: 多对对建表原则:创建第三张表