关系数据库系统是支持关系模型的数据库系统
关系模型是由关系数据结构、关系操作集合和关系完整性约束三部分组成
1.Domain 域
Domain是指一组具有相同数据类型的值的集合
2.Cartesian product 笛卡尔积
3.Relation 关系
例如:一个名为student的表有name,age,class属性,则这个关系表示为
student(name,age,class)
若某关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码(candidate key)
若一个关系中有多个候选码,则选其中一个为主码(primary key)
关系模式下所有属性是这个关系模式的候选码,称为全码(all-key)
关系有三种类型:基本关系、查询表、视图表
基本关系的六个性质:
(1)列是同质的,既每一列中的分量为同一类型的数据,来自同一个域。
(2)不同的列可出自同一个域,称其中的每列为一个属性,不同的属性的要给予不同的属性名。
(3)列的顺序无所谓,即列的次序可以任意交换。
(4)任意两个元组不能完全相同。
(5)行的顺序无所谓,即行的次序可以任意交换。
(6)分量必须取原子值,即每一个分量都必须是不可分的数据库。
R(U,D,dom,F)
其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。
通常简记为:
R(U)或R(A1,A2,…,An)
其中R为关系名,U为属性名集合,A1,A2,…,An为各属性名。
常用的关系操作包括查询(query)和插入(insert)、删除(delete)、修改(update)操作两大部分
查询操作又可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(expect)、交(intersection)、笛卡尔积
其中选择、投影、并、差、笛卡尔积是五种基本操作
分别为关系代数(relational- algebra)和关系演算(regional calculus)
关系模型中有三类完整性约束:
实体完整性、参照完整性、用户自定义完整性
实体完整性:若属性A是基本属性的主属性,则A不能为空值
参照完整性:若属性F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元组在F上的值要么为空值,要么等于S中某个元组的主码值。
用户自定义的完整性:用户可以根据实际状况自定义约束条件