数据库表的三种关系

关系一共分为三种:

  • 一对一
  • 一对多
  • 多对多

一、一对一

比如夫妻关系中,丈夫与妻子形成一对一关系。

分析:

在一对一关系中,为了查询方便,需要两个表,但是如果为了省空间,也可以只建一个表,通过建立两个视图(虚表,view)来实现一对一查询。

  • 视图只是逻辑概念,并不独立占用物理空间,依附于具体的数据表,对视图进行修改时相应的表数据也会改动。

二、一对多

比如一个人可以拥有多辆汽车

分析:

其实在一对多关系中也可以只采用一张表,但是因为一个人可以拥有多辆汽车,如果采用一张表,会造成冗余信息过多。

比较好设计方式是,人和车辆单独建表,通过在多的一方加一个外键字段,可以比较好的建立两者间的关联。

三、多对多

比如学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择。

分析:

在多对多关系中,如果仿照一对多方式建表,会产生很多的冗余信息。

比较好的方式是实体和关系分离并单独建表,实体表为学生表和课程表,关系表为选修表,其中关系表采用联合主键的方式(由学生表主键和课程表主键组成)建表。

posted @ 2022-01-15 11:10  苏时运  阅读(126)  评论(0编辑  收藏  举报