第三章
第三章 、关系型数据库基础
3.1、关系数据结构及形式化定义
3.1.1、关系
1、什么是关系?
关系数据库中,关系指的是多个集合间笛卡尔积(参考离散数学的笛卡尔积)的子集
,但是关系型数据库里采用表格
的描述方式,表的形式可以多种多样
在关系型数据库中,均使用关系(表格)对实体与实体之间的联系
进行描述
2、区分关系和联系
联系是指实体之间一对一、一对多或多对多的联系,数据库中,联系也是通过关系来表达实现
三类关系
- 基本关系: 实际存在的表, 对实际存储数据的逻辑表示
- 查询表:查询结果对应的表
- 视图表:虚表,由基本表或其他视图表导出的表, 不对应实际存储的数据
3.1.2、关系模式
关系模式即对关系的描述
-
定义:
R(U, D, DOM, F)
-
简记:
R(D1, D2, ......, Dn)
, R为关系名,n称为这个关系的目或者度 -
一般表示方式为:
关系名(属性1, 属性2, ..., 属性n)
比如: 学生关系(学号, 身份证号, 姓名, 性别, 院系...)
在数据库的设计中,还需要对关系和其属性进行详细描述,包括以下方面:
- 关系含义
- 各属性含义
- 取值范围(或领域约束)
- 取值是否具有唯一性(码约束)
- 属性之间是否相互制约
3.1.3、关系数据库相关概念
概念 | 说明 |
---|---|
元组 | 关系中的**每一行数据(元素)**称为一个元组或一条记录 |
属性 | 关系中的每一列,不同列可以对应相同的域 |
域 | 属性的取值范围,由用户和设计人员共同决定 |
码 | 也成为键,指的是取值具有唯一性的属性 |
主码 | 一个关系中所有的码构成候选码 ,所选出的作为元组标识的候选码称作主码,主码唯一且非空 |
外码 | 一个关系模式R中的某属性(或集)K,不是R的主键,却是另一关系S的主键,则K成为关系R的外键或外码, |
全码 | 关系模式中所有属性组是这个关系模式的候选码 |
- 外码的作用:把不同的关系(表)联系起来,用于表达实体与实体之间的联系,并实现相应的强制性约束。
- 外码的性质:
3.2、关系完整性(实体、参照、用户定义)
3.2.0、域完整性
值域完整性, 将属性的取值限制在有限集合内
3.2.1、实体完整性
若属性A是基本关系R的主属性,则A不可以为空, 且A唯一
3.2.2、参照完整性
外码的取值必须参照主码的取值,即值必须出自主码或者为空
3.2.3、用户定义完整性
也就是业务规则,针对某一具体关系数据库的约束条件,它反应的某一具体应用所涉及的数据必须满足的语义要求(逻辑)。比如一个人的出生日期不能晚于当前日期。
3.3、关系操作
五种基本操作:选择、投影、并、差、笛卡尔积
3.3.1、查询
包括: 选择、投影、连接、除、并、交、差
3.3.2、更新(增删改)
就是增删改
3.3.3、结构化查询语言SQL
3.4、关系代数概述(P33 ~ P38)
关系代数运算符
集合运算符 | 含义 |
---|---|
U | 并 |
— | 差 |
∩ | 交 |
× | 笛卡尔积 |
比较运算符 | 含义 |
---|---|
> | 大于 |
≥ | 大于等于 |
< | 小于 |
≤ | 小于等于 |
= | 等于 |
<> | 不等于 |
关系运算符 | 含义 |
---|---|
σ | 选择,从一个关系中选出满足选择条件的元组的一个子集,是一种从行的角度进行的运算。 σ<选择条件>(R) 。该运算满足交换律,也可使用AND 将级联的选择操作合并:σ<cond1>(σ<cond2>(R)) = σ<cond1>AND<cond2>(R) |
π | 投影,从一个关系中提取出某些列(属性)并舍弃原关系中其他列(属性),生成一个新的关系,是一种从列的角度进行的运算。π<属性列表>(R) 。该运算不满足交换律。 |
∞ | 连接,将两个有联系的关系关联起来,满足条件的两个关系的行会被连接在一起,生成新的一行。R∞<连接条件>S 。 |
等值连接:连接调节为= 的连接成为等值连接,比如:R∞<R.A=S.D>S | |
自然连接:一种特殊的等值连接,会去除结果中重复的属性列 | |
外连接:在结果关系中保留被去除的元组,而在其他属性上填NULL | |
左外连接、右外连接:只保留左边/右边关系要保留的元组 |