2.1关系数据结构及形式化定义
关系数据库系统是支持关系模型的数据库系统。关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。
2.1.1关系
1.域(domain)
域是一组具有相同数据类型的值的集合;
2.笛卡尔积(cartesian product)
笛卡尔积是域上面的一种集合运算。笛卡尔积可表示为一个二维表,表中的每行对应一个元组,表中的每一列的值来自一个域。
3.关系(relation)
关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(candidate key)。
若一个关系有多个候选码,则选定其中一个为主码(primary key)。
候选码的诸属性称为主属性(prime attribute),不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)。
关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。
基本表是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据;
关系表中不允许还有表,简言之不允许表中有表。
2.2关系操作
关系模型中常用的关系操作包括查询操作(query)和插入(insert)、删除(delete)和修改(update)操作两大部分;
2.3关系的完整性
关系模型的完整性规则是对关系的某种约束条件,也就是说关系的值随着时间的变化时应该满足一些约束性条件。
2.3.1关系