关系数据库
-
关系数据库应用数学方法处理数据库中的数据。
-
关系数据库系统是支持关系模型的数据库。
-
关系数据结构以及形式化定义
-
关系:关系模型的数据结构非常的简单。关系模型中数据的逻辑结构就是一张扁平的二维表。
-
这里从集合论的角度给出关系数据结构的形式化定义。
-
域(domain):域是一组具有相同数据类型的值得集合。例如:{0,1},{男,女},大于等于0且小于等于100的正整数等等。
-
笛卡尔积:首先举个例子:给出三个域:D1=老师集合={张三,李四}
D2=专业集合={计算机科学与技术,电子信息工程}
D3=学生集合={A,B}
则D1,D2,D3的笛卡尔积为D1XD2XD3= {
(张三,计算机科学与技术,A),(张三,电子信息工程,A),
(张三,计算机科学与技术,B),(张三,电子信息工程,B),
(李四,计算机科学与技术,A),(李四,计算机科学与技术,B),
(李四,电子信息工程,A), (李四,电子信息工程,B)
}
其中,(张三,计算机科学与技术,A),(张三,电子信息工程,A)等每一个笛卡尔积中的元素称之为元组,每一个元组中的元素称之为分量,例如元组(张三,计算机科学与技术,A)中分量有
张三,计算机科学与技术,A。
-
笛卡尔积的基数就是集合里数目的乘积,也就是说共有多少个元组,例如上面笛卡尔积的基数就是2X2X2=8。这8个元组其实就构成了一张二维数据表。
-
-
关系:D1XD2XD3......XDn的子集叫做在域D1,D2,D3...,Dn上的关系,表示为R(D1,D2,D3...Dn)
概念很抽象,举个例子,上个表中关系就是R(老师,专业,学生),然后给R随便取个名字,叫做SAP,于是这个关系可以表示为SAP(老师,专业,学生)。总结一下就是:关系名(属性名2,属性名2,属性名3,....,属性名n)其中呢,每一个属性名都可以称之为候选码,但是,如果在这里面的所有候选码中,如果能找到一个候选码能够唯一,数据不重复,就可以当做主码。至于主码,后面详细的说.
- 基本关系的6大性质
- 每一列是同质的,也就是属性相同的。
- 不同的列可以来自于同一个域,其中的每一个列称之为属性,不同的属性列要给他们不同的属性名。
- 属性列的顺序无所谓,也就是属性列的位置可以任意交换。
- 行的顺讯无所谓。即每一行与其他行不论怎么交换都是可以的。
- 每一个分量必须取原子值,也就是每一个值必须是不可分割的数据项。
- 任意两个元组的候选码不能取相同的值。
-
-
关系模式:关系的描述称之为关系模式,它可以表示为R(U,D,DOM,F)
其中R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系的集合。