全国咨询/投诉热线:400-618-4000

JAVA培训之数据库表关联关系

更新时间:2016年10月19日17时30分 来源:传智播客JAVA培训学院 浏览次数:

数据库表的关联关系有如下三种:
  • 一对多
  • 一对一
  • 多对多
一对多的关系比较常见,我们在之前练习的都是一对多的关系操作,因此这里就不再重复介绍了。

1.一对一关系

在现实生活中,丈夫与妻子之间的关系就是一对一的关系,下面我们将这两个实体转换成两个表。表名分别是:husband,wife。
(1)创建husband表,如图1-1所示:

图1-1 创建husband表
(2)创建wife表,如图1-2所示:

图1-2 创建wife表
图1-2中,创建wife表时该表的外键与主键相同,都是wid,并且引用自husband表的主键,这样做就保证了wife表中的记录与husband表中的记录是一对一的关系,wife表的主键wid就必须满足以下三个要求:
  • 非空:wid是主键,那么必然是非空的;
  • 唯一:wid是主键,那么必然也是唯一的不能重复的;
  • 引用husband表的主键hid
(3)向husband表中插入三条记录,如图1-3所示:

图1-3 插入记录
(4)向wife表中插入数据,如图1-4所示:

图1-4 向wife表中插入记录
图1-4中,向wife表中插入一条记录,主键值为4,wid不仅仅是wife表的主键,也是外键,它的值是引用husband表的主键值,而在husband表中并不存在值为4的主键,因此插入失败。

2.多对多关系

学生与老师之间的关系就是多对多的关系,下面我们在数据库中创建两个表,分别是student,teacher。多对多关系不会体现在这两个表中,而是将这个关系保存在第三张表中。
(1)创建student表,然后向student表中插入四条记录,最后查询该表,如图1-5所示:

图1-5 student表信息
(2)创建teacher表,并向表中插入两条数据,最后查询该表,如图1-6所示:

图16 teacher表信息
(3)创建第三张表,名为stu_tea,如图1-7所示:

图1-7 创建关系表
(4)建立学生表与教师表之间的关系,如图1-8所示:

图1-8 建立表与表之间的关系
图1-8中,student表中的所有学生都是teacher表中主键为1的老师的学生,表明了一个老师有多个学生,而student表中主键为2的学生还有一个老师,他的主键是2,表明了一个学生可以有多个老师。如此,student表与teacher表建立了多对多的关联关系。


本文版权归传智播客java学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客java学院

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额