关系数据库
Posted 成为自己最想成为的那种人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系数据库相关的知识,希望对你有一定的参考价值。
关系数据库应用数学方法来处理数据库中的数据。(第2章讲解关系模型的数据结构、关系操作和关系的完整性)
2.1 关系数据结构
2.1.1 关系
关系模型只包含单一的数据结构——关系。
在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。
关系模型的数据结构虽然简单却能够表达丰富的语义,描述出现实世界的实体以及实体间的各种关系。
也就是说,在关系模型中,现实世界的实体以及实体间的各种联系均用单一的结构类型——关系来表示。
关系模型是建立在集合代数的基础上的,这里从集合论角度给出关系数据结构的形式化定义。
2. 笛卡尔积(笛卡尔积是域上的一种集合运算)
定义2.2 给定一组域D1,D2,……,Dn,允许其中某些域是相同的,D1,D2,……,Dn的笛卡尔积为
D1×D2×…×Dn = {(d1,d2,…,dn) | di ∈Di,i = 1,2,…,n}
3. 关系
关系是笛卡尔积的有限子集(所以关系也是一张二维表)
表的每行对应一个元组,表的每列对应一个域。
由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码。
若一个关系有多个候选码,则选定其中一个为主码。
候选码的诸属性称为主属性。
不包含在任何候选码中的属性称为非主属性或非码属性。
一般来说,D1,D2,……,Dn的笛卡尔积是没有实际意义,只有它的某个真子集才有实际意义。
关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。
其中,基本表是实际存在的表,它是实际存储数据的逻辑表示;
查询表是查询结果对应的表。
视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
当关系作为关系数据模型的数据结构时,需要给予如下的限定和扩充:
……
2.1.2 关系模式
关系模式是对关系的描述,那么一个关系需要描述哪些方面呢?
关系是元组的集合,因此关系模式必须指出这个元素集合的结构,
即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映像关系。
关系模式应当刻画出这些完整性约束条件。
关系模式可以形式化地表示为 R(U,D,DOM,F)
其中,R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
属性间的数据依赖将在第6章讨论,本章中关系模式仅涉及关系名、各属性名、域名、属性向域的映像4部分,即 R(U,D,DOM)
关系模式通常可以简记为
R(U) 或 R(A1,A2,… ,An)
其中R为关系名,A1,A2,… ,An为属性名。(而域名及属性向域的映像常常直接说明为属性的类型、长度)
关系是关系模式在某一时刻的状态或内容。
关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。
(例如,学生关系模式在不同的学年,学生关系是不同的。)
(在实际工作中,人们常常把关系模式和关系都统称为关系,这不难从上下文中加以区别)
以上是关于关系数据库的主要内容,如果未能解决你的问题,请参考以下文章