关系模型由关系数据结构、关系操作、完整性约束3部分组成。

关系数据结构

定义:

关系:关系就是一张有行列的二维表(值)

关系的三种类型:基本关系(基本表、基表)、查询表、视图表(是虚表)。

关系模式:关系的描述(二维表表头、型)

所有非主属性都依赖于主属性。

关系数据库:

关系数据库模式(型):对关系数据库的描述;

关系数据库(值):关系模式某一时刻对应关系的集合。

元组:关系中的每个元素(二维表每一行对应一个元组)

域:一组具有相同数据类型的值的集合(每一列对应一个域)

属性:域可以相同,给关系表每列取一个名字为~

候选码:值能唯一标识一个元组的属性组

全码:关系模式所有属性组是该关系的候选码

关系操作

五种基础的关系操作:选择、投影、并、差、笛卡儿积。




关系模型用MySQL实现_元组


增删查改中查询是其中最主要的部分。

集合运算


关系模型用MySQL实现_关系模型用MySQL实现_02


关系模型用MySQL实现_关系模型用MySQL实现_03


专门的关系运算:


关系模型用MySQL实现_关系数据库_04


选择(限制)

对关系进行行运算

关系运算 关系模式 关系(表名)


关系模型用MySQL实现_关系数据库_05


投影

对关系进行列运算,一般都是最后的条件


关系模型用MySQL实现_数据库_06


连接

行+列,从两个关系的笛卡尔积中选取属性间满足一定条件的元组。

连接分为等值连接和自然连接。等值连接选取属性值相等的那些元组,自然连接把重复的属性删除。

若两个关系没有公共属性,则其自然连接变为笛卡尔积。


关系模型用MySQL实现_关系模型用MySQL实现_07


完整性约束

3类完整性:实体完整性、参照完整性、用户定义完整性。

实体完整性:

主键是唯一的,但是主键不一定是单属性(如:“成绩(学号,课程号)”);

主码中的属性(主属性)不能取空值。

参照完整性:

关系和关系间的引用。

一个关系的主键可以做另外关系的外键(也可以当主键的值);

外键可为空;

用户定义完整性:

给具体关系数据库的约束条件,如:某个属性必须取唯一值、某非主属性不能为空。