关系数据库使用关系数据模型组织书,这源于数学。真正系统严格地提出关系数据模型的是IBM的研究员E.F.Codd。
关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束。
1.1数据结构
关系数据模型用二维表组织数据,在关系数据库中称为关系。关系数据库是表或关系的集合。
1.2数据操作
传统的关系运算:并、交、差、广义笛卡尔乘积。
特殊关系操作:选择、投影、连接、除。
相关数据操作:查询、插入、删除和更改。
关系模型的操作特点:
(1)完整集合操作数据和操作结果(表)
(2)这些集合可以是只包含一行数据的集合,也可以是不包含任何数据的空集合
(3)关系模型数据库中的典型操作不是一行或一记录。
(4)集合处理能力是关系数据库不同于其他类型数据库的重要特征
关系数据库与非关系数据库的区别
在非关系模型中,每个数据记录都是通过指针连接的。当需要定位到某个记录时,用户需要根据指针的链接方向,即导航。
在关系模型中,用户可以自动定位数据记录,只需指定数据的定位条件。
关系操作是通过关系语言实现的,其特点是高度非过程化。非过程化是指以下两个方面:
(1)用户不必关心数据的访问路径和访问过程
(2)用户也没有必要编写程序代码来实现对数据的重复操作
1.3数据完整性约束
数据库中的完整性是指确保数据正确性的特征。数据完整性包括两个方面:
(1)与现实世界中应用所需数据的相容性和正确性
(2)数据库中数据的相容性和正确性
在关系数据模型中,数据完整性分为实体完整性、参考完整性和用户定义完整性三类。
实体完整性和参考完整性是系统和约束。
用户定义的完整性也被称为域的完整性,它属于应用级的约束。
2.1基本术语
(1)关系是二维表,二维表的满足是关系的名称。
(2)二维表的每个列成为一个属性,每个属性都有一个名称,称为属性名。表中对应一列的值为属性值,列数为关系元数。
(3)二维表中属性的值范围称为值域。
(4)二维表中的一行数据称为元组。
(5)元组中的每个属性称为元组的一个重量,n元关系的每个元组都有n个分量。
(6)二维表的结构称为关系模式,关系模式称为二维表的表框架或表头结构。
(7)关系模型中所有关系的集合称为关系数据库。
(8)如果一个属性或属性集能够在不包含多余属性的情况下识别关系的元组,则称为候选键。也叫候选关键词或候选代码。
(9)当关系中有多个候选键时,可以选择一个作为主键。
(10)包含在候选键中的属性称为主属性,不包含在候选键中的属性称为非主属性。
2.2形式化定义
(1)形式化定义关系
笛卡尔乘积
(2)限制关系
- 关系中的每一个重量都必须是不可分割的最小属性。
- 表中的数据类型是固定的
- 不同列的数据可以从自相同列 值域
- 关系表中列的顺序并不重要
- 顺序也不重要
- 同一关系中的元组不能重复,也不能完全相同
两类关系代数
(1)传统的集合运算:广义笛卡尔积运算、并运算、交易运算和差运算。
(2)特殊关系操作:选择、投影、连接和除操作。
运算符四大类:集合运算符,专门的关系运算符,比较运算符和逻辑运算符
3.传统的集合运算
(1)并运算 R∪S={t|t∈R ort∈S}
(2)交运算 R∩S={t|t∈R and t∈S}
(3)差运算 R-S={t|t∈R and t不属于S}
(4)广义笛卡尔积
3.2.特殊关系运算
(1)选择
(2)投影
(3)连接
-
θ连接 > < >= <=
-
等值连接(θ连接的特例)
-
自然连接
-
外部连接
左外连接R*∞S
右外连接R∞*S
全外连接R*∞*S
-
半连接
自然连接与等值连接的区别:
1.相等重量必须有共同属性名称
2.要求删除重复的属性名
(4)除
R(X,Y)÷S(Y,Z)=R(X,Y)÷ΠY(S)
投影、选择、乘积、连接和除(同级)、交付、和差(同级)是关系运算的优先级。