下面是由希赛小编整理的中级通信互联网技术知识点精讲之关系数据结构及形式化定义,希望能帮助学友们。具体内容如下:
关系数据结构及形式化定义
在关系模型中,无论是实体还是实体之间的联系均由单一的结构类型即关系(表)来表示。前面己经非形式化地介绍了关系模型及有关的基本概念。关系模型是建立在集合代数的基础上的,这里从集合论角度给出关系数据结构的形式化定义。
1.关系
(1)域(Domain)
定义8.1域是一组具有相同数据类型的值的集合。
例如,自然数、整数、实数、长度小于25字节的字符串集合、{0,1}、大于等于0且小于等于100的正整数等,都可以是域。
(2)笛卡尔积(CartesianProduct)
其中,(张三,计算机专业,李四)、(张三,计算机专业,钱六)等都是元组。张三、计算机专业、李四、钱六等都是分量。
关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute),n目关系必有个属性。
若关系中的某一属性组的值能地标识一个元组,则称该属性组为候选码(Candidatekey)。
若一个关系有多个候选码,则选定其中一个为主码(Primarykey>。主码的诸属性称为主属性(Primeattribute).不包含在任何侯选码中的属性称为非码属性(Non-keyattribute)。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。
例如,可以在表8.1的笛卡尔积中取出一个子集来构造一个关系。由于一个研究生只师从于一个导师,学习某一个专业,所以笛卡尔积中的许多元组是无实际意义的,从中取出有实际意义的元组来构造关系。该关系的名字为SAP,属性名就取域名,即SUPERVISOR,SPECIALITY和POSTGRADUATE。则这个关系表示为SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假设导师与专业是一对一的,即一个导师只有一个专业;导师与研究生是一对多的,即-个导师可以带多名研究生,而一名研究生只有一个导师.这样SAP关系可以包含3个元组,如表8-2所示。
关系可以有3种类型:基本关系(通常又称为基本表或基表)、査询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示.査询表是査询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
相关推荐: