1.关系模型
1.1关系模型相关概念
关系模型:用二维表来存储数据。
关系模型的基本概念——一描述“学生”实体为例
关系:由行列组成的表。
关系名:表名
属性:又称为字段,表中的列。
值域:属性的取值范围。
元组:又称为记录,表中的行。
关键字(码/候选码):能唯一代表一行记录的属性或属性集。
主键:又称为主码,被选做唯一代表一行记录的一个属性或多个属性组合。
外键:表的主键作为数据之间联系的纽带放到另一个表中。
主属性:任一候选码中的属性称为主属性
例如:
1.2关系模型的性质
(1)关系中每个属性值是不可分解的。
(2)关系中每个元组代表一个实体,因此不允许存在两个完全相同的元组
(3)元组的顺序无关紧要,可以任意交换,不会改变关系的意义。
(4)关系中各列的属性值取自同一个域,故一列中的各个分量具有相同性质。
(5)列的次序可以任意交换,不改变关系的实际意义,但不能重复。
1.3关系完整性——有效、正确、相容
1、实体完整性
若属性A是基本关系R的主键,则A不能取空值。
主键不能取空值且必须唯一。
2、参照完整性——主键与外键的规则
成绩表中的学号必须在学生表中存在
规则:
外键的值或者为空,或者等于主键值
外键的名称不一定与主键的名称一样,只要语义相同就可以。
3、用户定义完整性
用户定义完整性就是针对某一个具体应用领域定义的数据约束条件,以现实数据满足语义要求。实际上就是所有属性必须定义数值类型及取值范围。可以避免属性的值与应用语义发生矛盾。
例如:选课表中成绩属性的取值范围0~100之间
2.关系代数运算
2.1传统的集合运算
1.并:
要求:具有相同的目n,相应属性取自同一个域
2.交:
要求:具有相同的目n,相应属性取自同一个域
数据即属于R又属于S
3、差:
要求:具有相同的目n,相应属性取自同一个域
去掉后者中所包含有的记录
4、笛卡尔积:
目数即列数
2.2专门的关系运算
关系模型支持的四种基本运算
1、选择(Selection)
选择运算是根据给定的条件,从一个关系中选出一个或多个元组(表中的行)。
2、投影(Projection)
投影就是从一个关系中选择某些特定的属性(表中的列)重新排列组成一个新关系,投影之后属性减少,新关系中可能有一些行具有相同的值。
3、连接(Join)
链接运算是从两个或者多个关系中选取属性间满足一定条件的元组,组成一个新的关系。
3.1等值连接:相同做连接,不去重复字段
3.2小于连接:满足小于条件的做连接
3.3自然连接:要求要有同名属性,自然连接的结果(自然连接暗含的条件是R.B=S.B且R.c=S.C,因为R、S中有同名的2列B、C),并且去掉重复字段
找出相等的连接起来,去掉重复字段
4.除:即为R÷S,他是笛卡尔积的逆运算。