关系表
- SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表.
- 在能够有效地使用联结前,必须了解关系表以及关系数据库设计的一些基础知识.
- 相同的数据出现多次绝不是一件好事,此因素是关系数据库设计的基础.
- 关系表的设计就是要把信息分解成多个表,一类数据一个表.
- 各表通过某些常用的值(即关系设计中的关系(relational))互相关联.
- 在这个例子中,可建立两个表,一个存储供应商信息,另一个存储产品信息.
- 注释:vendors表中的主键又叫做products的外键,它将vendors表与products表关联,利用供应商ID能能vendors表中找出相应供应商的详细信息.
- 这样做的好处如下:
- 供应商信息不重复,从而不浪费时间和空间;
- 如果供应商信息变动,可以只有更新vendors表中的单个记录,相关表中的数据不用改动;
- 由于数据无重复,显然数据是一致的,这使得处理数据更简单
关系数据可以有效地存储和方便地处理.因此,关系数据库的可伸缩性远比非关系数据库要好.
表关系
-
外键:
- 在一个表中,定义一个字段,这个字段中存储的数据就是另外一张表中的主键
- 就是在一个表中的字段,代表着这个数据属于谁
- 了解:
- 外键实现的方式,有两种:物理外键,逻辑外键
- 物理外键:就是在创建表时,就指定这个表中的字段是一个外键,并且强关联某个表中的某个字段需要在定义字段时,使用SQL语句来实现(不过一般不建议这样做)强关联
- 逻辑外键:就是在表中创建一个普通的字段只不过没有强关联关系,需要通过逻辑程序来实现
-
一对一
- 就是在一个表中的数据,对应着另外一张表中的一个数据,只能有一个
-
一对多
- 在一个表中数据对应着另外一个表中的多条数据
- 在一个表中的多条数据,对应着另外一张表中的一个数据
-
多对多
- 举例:
- 例如一本书,有多个标签,同事每个标签下又对应多本书
目录