关系模型由关系数据结构、关系操作、完整性约束3部分组成。
关系数据结构
定义:
关系:关系就是一张有行列的二维表(值)
关系的三种类型:基本关系(基本表、基表)、查询表、视图表(是虚表)。
关系模式:关系的描述(二维表表头、型)
所有非主属性都依赖于主属性。
关系数据库:
关系数据库模式(型):对关系数据库的描述;
关系数据库(值):关系模式某一时刻对应关系的集合。
元组:关系中的每个元素(二维表每一行对应一个元组)
域:一组具有相同数据类型的值的集合(每一列对应一个域)
属性:域可以相同,给关系表每列取一个名字为~
候选码:值能唯一标识一个元组的属性组
全码:关系模式所有属性组是该关系的候选码
关系操作
五种基础的关系操作:选择、投影、并、差、笛卡儿积。
增删查改中查询是其中最主要的部分。
集合运算
专门的关系运算:
选择(限制)
对关系进行行运算
关系运算 关系模式 关系(表名)
投影
对关系进行列运算,一般都是最后的条件
连接
行+列,从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
连接分为等值连接和自然连接。等值连接选取属性值相等的那些元组,自然连接把重复的属性删除。
若两个关系没有公共属性,则其自然连接变为笛卡尔积。
完整性约束
3类完整性:实体完整性、参照完整性、用户定义完整性。
实体完整性:
主键是唯一的,但是主键不一定是单属性(如:“成绩(学号,课程号)”);
主码中的属性(主属性)不能取空值。
参照完整性:
关系和关系间的引用。
一个关系的主键可以做另外关系的外键(也可以当主键的值);
外键可为空;
用户定义完整性:
给具体关系数据库的约束条件,如:某个属性必须取唯一值、某非主属性不能为空。