关系型数据库——基本概念(下)

1,关系模型的数据结构相对比较单一,在关系模型中,实体及实体间的联系均用“关系”来表示,这也是关系模型能够取代其它数据模型的原因之一。一个关系是一张表。

2,如果一个关系中的某个属性或属性集能够唯一的确定一个元组,则称该属性(集)是这个关系上的超键(Super key,SK);如果将超键中的任一属性去掉后剩余的属性集不能唯一标识一个元组,则称该属性集是关系上的候选键(Candidate key,CK);若一个关系中有多个候选键,则可从中选择一个作为关系的主键(Primary key,PK)。如果关系R中的某个属性集是另外一个关系S的候选键,那么该属性集关系R上的(来自S的)外键。一般情况下,如不特殊说明,键即为主键。

3,关系模式(relation schema)是对关系的型的描述,可以表示为:R(U, D, DOM, I, F)。U是R的属性集合{A1,A2,…,An},D是属性的取值范围,即域的集合{D1,D2,…,Dm},DOM是U到D的映射集合,I是完整性约束规则集,F是函数依赖集合。

4,关系模式与关系相当于类与对象的概念。

5,关系模型的完整性(integrity)规则是为了保证数据的正确性和相容性而在关系上施加的约束条件。

  • 域的完整性约束

      元组分量在某个属性上的取值应在其值域之内; 元组是否能在某个属性上取空值(null),由该属性的语义决定,这就是域完整性约束的内容。域完整性约束是最基本的约束规则,数据库管理系统(DBMS)一般会自动进行域完整性约束的检查。

  • 实体完整性约束

     实体完整性约束是指元组在键上的取值不可重复,且不能为空值(null) 。实体完整性约束一般由DBMS自动实施,但是由于在有的数据库系统中允许关系上不设置键,在此种情况下DBMS将不进行实体完整性约束的检查。

  • 参照完整性约束

    参照完整性约束是关于外键的约束。参照完整性约束要求R上的元组tFK属性上的取值t[FK]必须是如下两种情况之一:等于关系S中某个元组在主键PK上的值;等于NULL。需要注意的是,关系R上的元组在外键对应的属性集上是否允许取空值,还受到R的实际语义限制。

  • 用户定义的完整性约束

     仅有上述的三种完整性约束是不够的,因为不同的实际应用往往对数据还有一定的特殊要求,而这些要求一般都是语义上的,与具体应用密切相关。例如仓库的库存必须大于可能的出货量,年龄只能增长等,这样的约束就是用户定义的完整性约束。

6,关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成

关系型数据库——基本概念(下)

关系型数据库——基本概念(下)

7,关系代数

关系型数据库——基本概念(下)

    注意投影运算的结果会去掉相同的行,注意R1和R2进行笛卡尔积运算后得到R3,R3的度是R1的度和R2的度之和,R3的元组个数是R1元组个数与R2元组个数的乘积。

  • 除法

     首先介绍象极的概念:关系R(X , Z), X, Z是属性组,xX上的取值,定义xR中的象集为Zx = { t[Z] | R属于t 且 t[X]= x }

R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的分量。A (左上角的关系)除以 B(左下角的关系),就是找出A中象极为B的所有的元素集合。

关系型数据库——基本概念(下)

关系型数据库——基本概念(下)

  • 自然连接

       从两个关系的广义笛卡儿积中选取在相同属性列B取值相等的元组,并去掉重复的行。自然连接与等值连接的不同,自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉,重复的属性,而等值连接则不必。表示方法是上图中去掉下面的条件。

  • 外连接

       为避免自然连接时因失配而发生的信息丢失,可以假定往参与连接的一方表中附加一个取值全为空值的行,它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配,称之为外连接。外连接 = 自然连接 + 失配的元组

关系型数据库——基本概念(下)

关系型数据库——基本概念(下)

8,元组演算

    这一部分留个坑。