表关系分几种类型:
一、一对一关系
需要一个主键表,一个外键表,主键表中存在的数据,外键表中才可以添加,实际上每个
列都为主键,比如:
主键表中ID为1、2、3,外键表中ID只能为1或者2或者3,不能添加主键表中没有的数据。
并且可以级联更新或者删除数据。
二、一对多关系
在这种关系类型中,表 A 中的行可以在表 B 中有许多匹配行,但是表 B 中的行只能在表 A 中有一个匹配行。例如,publishers
表和 titles
表是一对多的关系:每一个出版商可出版许多书,但每一本书只能有一个出版商。(个人理解:主建表publishers中的pub_id为主键,所以只能有一个匹配行。外键表中的pub_id不是主键,所以可以有很多行)
三、多对多关系
在多对多关系
中,表 A 中的一行可与表 B 中的多行相匹配,反之亦然。通过定义称为
连接表
的第三方表创建这样的关系,该连接表的主键包括表 A 和表 B 中的外键。例如,authors
表和 titles
表是多对多关系,该关系通过从这些表中的每个表与 titleauthors
表的一对多关系定义。titleauthors
表的主键由 au_id
列(authors
表的主键)和 title_id
列(titles
表的主键)组成。