日期:2014-05-17  浏览次数:20407 次

2个数据表关系问题??
有个问题请教前辈们,就是2数据表的对应关系问题,
例如表a的列c和表b的列d:
1对1关系:a.c数据是唯一,b.d数据也是唯一,并且a.c和a.d有相同对应数据
1对多关系:a.c数据是唯一,b.d数据不是唯一,并且a.c和a.d有相同对应数据
多对多关系:a.c数据是不是唯一,b.d数据不是唯一,并且a.c和a.d有相同对应数据
能这样理解吗?谢谢!
------解决方案--------------------
最后一个多对多关系不完全正确.
学生信息表1:
学号,姓名
学生信息表2:
学号,家庭住址
这就是一对一关系.
学生信息表:
学号,姓名
学生选课表:
学号,课程名称
这就是一对多关系,因为一个学生可能会选多门课程.
学生信息表:
学号,姓名
课程信息表:
课程编号,课程名称
这两个表,虽然在表中学号和课程编号具有唯一性,但它们两个表的关系是多对多,因为,一个学生要选多门课程,一门课程要被多个学生选.
多对多关系在关系型数据库中,通常采用纽带表来实现,比如,用一个选课表(含每个学生每门课程的成绩):
学号,课程编号,成绩
在这个表中,学号是不唯一的,课程编号也是不唯一的,但它既是学生信息表的外键表,又是课程信息表的外键表,因此称为纽带表.这个表也有特殊性,学号+课程编号,是唯一的,可以作为这个表的主键.
------解决方案--------------------

建议楼主学习一下什么 主键、外键、表的连接等概念
------解决方案--------------------
1对1关系:a表中的c中某一行,只能在b表的d列中找到有且仅有一行数据。
 1对多关系:a.c,能在b表中的d列找到多余1条的数据。
 多对多关系:a.c 可以在b.d找到多条数据,反之亦然