关系数据库基础知识

来源:互联网 发布:百度云mac破解版 编辑:程序博客网 时间:2024/06/11 14:59

域:
具有相同数据类型的值的集合

笛卡儿积:
给定一组域D1,D2,...Dn( 可相同),它们的笛卡儿积为:
D1×D2×... × Dn={(d1,d2,...,dn)|di Dii=1,2,..,n}
其中每一个元素(d1,d2,...,dn)叫做一个n元组。元素中的每个值di叫做一个分量。(所有域的所有取值的一个组合,不能重复)

笛卡尔积举例:

D1={张清玫,刘逸}
D2={计算机专业,信息专业}
D3={李勇,刘晨,王敏}
则:D1×D2 × D3=

{(张清玫,计算机专业,李勇),

(张清玫,计算机专业,刘晨),

(张清玫,计算机专业,王敏),

(张清玫,信息专业,李勇),

(张清玫,信息专业,刘晨),

(张清玫,信息专业,王敏),

(刘逸,计算机专业,李勇),

(刘逸,计算机专业,刘晨),

(刘逸,计算机专业,王敏),

(刘逸,信息专业,李勇),

(刘逸,信息专业,刘晨),

(刘逸,信息专业,王敏)}

 

关系的性质
根据对关系的扩充与限定,基本关系具有下列性质:

1,列是同质的,即每列的属性值是同一类型的数据,来自同一个域。

2,不同的列可出自同一个域,每一列称为一个属性,每个属性必须有不同的属性名。属性名可以标识不同的属性。

3,列的顺序可以任意交换。

4,任意两个元组不能完全相同,由主键标识。

5,元组的顺序可以任意交换。

6,分量必须取原子值,即每一个分量必须是不可分的数据项(1NF)。不允许表中表的情况。

 

关系包含关系模式(relationschema)和关系实例(relationinstance)。关系实例是个表,关系模式描述表的列头信息。

 

关系模式:
对关系的描述称为关系模式。可以形式化的表示为:R(U,D,dom,F)
其中:
                   R:关系名
                   U:组成关系的属性名集合
                   D:属性来自的域
                   dom:属性到域的映射
                   F:属性间数据的依赖关系
简记:
                   R(U),或者R(A1,A2,…An)

 

关系完整性:(三个)

实体完整性(EntityIntegrity)
规则: 若属性A是基本关系R的主属性,则属性A 不能为NULL。

如:student(name,sex,addr)中name不能为空。
说明:实体完整性是对基本关系而言的。通常对应现实         世界的一个实体。如学生关系。现实中,实体是  可以区分的,他们具有唯一的标识。

关系模型中用主键区分不同的元组。主码中的属性不能为“空”。“空”表示不知道或不确定。

参照完整性

规则:

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks 相对应,则对于R中的每个元组在F上的值必须是:

或者取空值(F的每个属性均为空);

或者等于S中某个元组的主码值。

用户定义的完整性(User-definedIntegrity)

实体完整性和参照完整性是任何关系数据库系统都必须支持的。称为关系的两个不变性。

另外,不同的关系数据库根据应用的具体情况,往往需要一些特殊的约束条件。用户定义完整性即是指的这种约束条件。

比如某些属性间必须满足函数关系,某个属性的取值范围限定等。

 

关系代数:

选择

投影

连接