第三章:
关系数据库系统是支持模型的数据库系统,它由关系数据结构,关系操作集合和关系完整性约束三要素组成。
3.1关系数据结构
1.关系的定义和性质
关系的数学定义
1)域:一组具有相同数据类型的值的集合。
2)笛卡尔积
3)关系:D1D2…Dn中有关系的行形成的一个子集叫做D1D2…Dn上的一个关系,用R(D1,D2,…,Dn)表示。其中,R表示关系名,n表示关系的目或元或度。
2.关系的性质
关系数据库要求,其中的关系必须是具有以下性质:
1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域
2)在同一个关系中,不同列的数据可以是同一种数据类型,但各属性的名称都必须互不相同。
3)在同一个关系中,任意两个元组都不能完全相同
4)在同一个关系中,列的次序无关紧要,即列的排列顺序是不分先后的,但一般按使用习惯排列各列的顺序。
5)在同一个关系中,元组的位置无关紧要。即排行不分先后,可以任意交换两行的位置。
6)关系中的每个属性必须是单值,即不可再分,这就要求关系的结构不能嵌套。这是关系应满足的最基本条件。
二 关系数据库
1.关系模式
关系数据库中,关系模式是型,关系是值;关系模式是对关系的描述。因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映像关系。
一个关系模式应当是一个五元组,关系模式可以形式化的表示为:R(U,D,Dom ,F)。其中,R是关系名;U是组成该关系的属性名集合;D是属性组U中属性所来自的域;Dom是属性向域的映像集合;F是属性间的数据依赖关系的集合。
关系模式通常可以简记为:R(U)或R(A1,A2…,An)
其中R是关系名,A1,A2,…An为属性名;域名及属性向域的映像,常常直接说明为属性的类型和长度。
人们常常把关系模式和关系统称为关系
2.关系数据库
关系数据库就是采用关系模型的数据库。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
3.2关系的完整性
数据的完整性是指关系模型中数据的正确性与一致性
关系模型一般定义三类完整型约束:实体完整性,参照完整性和用户自定义完整性约束。
1.实体完整性规则
实体完整性规则:要求关系的主码具有唯一性且主码中的每一个属性都不能取空值。
2.参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K对应(基本关系R和S也可能是同一个关系),则对于R中每一个元组在F上的取值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
3.用户定义的完整性规则:
由用户根据实际情况对数据库中数据的内容进行的规定,也称为域完整性规则。
3.3关系运算
关系代数是以关系为运算对象的一组高级运算的集合。关系代数是一种抽象的查询语言,是关系数据操纵语言的一种表达方式。关系代数的运算对象是关系,运算结果也是关系。
关系代数中的运算可以分为两类:
1)创痛的集合运算:并,交,差,笛卡尔积
2)专门的关系运算:投影(对关系进行垂直分割),选择(对关系进行水平分割),连接(关系的结合),除法(笛卡尔积的逆运算)
两类操作符
1)比较运算符
2)逻辑运算符:或,与,非
传统的集合运算:
1.笛卡尔积:
2.并:任取元组t,当且仅当t属于R或t属于R∪S。R∪S是一个n元关系组。关系的并操作对应于关系的插入或添加记录的操作,俗称“+”操作,是关系代数的基本操作。并运算可以去掉某些元组,避免出现重复行。
3.差:其含义为:当且仅当t属于R并且不属于S时,t属于R-S 。R-S也是一个n元关系。关系的差操作对应于关系的删除记录操作,俗称“-”操作。
4.交:其含义为:任取元组t,当且仅当t既属于R又属于S时,t属于R∩S,R∩S也是一个n元关系。关系的交操作对应于寻找两关系共有记录的操作,是一种关系查询操作,时关系代数的基本操作。
二 专门的关系运算
包括选择,投影,连接,除等。
1.选择
选择运算是在关系R中选择满足给定条件的诸元组,记作:
σF(R)={t|t∈R^F(t)=’真’}
选择运算实际上是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行运算。
2.投影
关系R上的投影是从R中选择出若干属性列组成新的关系。记作:
∏A(R)={t[A]|t∈R}
投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性后,就可能出现重复行,应取消这些完全相同的行。
3.连接
1)连接运算的含义
是从两个关系的笛卡尔积中选取满足规定的条件的全体元组,形成一个新的关系。
连接操作是从行和列的角度进行运算。
2)连接运算的过程
首先,确定结果中的属性列;然后,确定参与比较的属性列;最后,逐一取R中的元组分别和S中与其符合比较关系的元组进行拼接。
3)常用的两种连接运算
(1)等值连接
(2)自然连接
自然连接是一种特殊的等值连接,即若A,B是相同的属性组,就可以在结果中把重复的属性去掉。这种去掉了重复属性的等值连接称为自然连接
3.4关系的规范化
实体的联系有两类,一类是实体与实体之间的联系;另一类是实体内部各属性间的联系。定义属性值间的相互关联(主要体现在值的相等与否),这就是数据依赖,它是数据库模式设计的关键。数据依赖是现实世界属性间相互联系的抽象,是世界内在的性质,是语义的体现。
1.函数依赖
数据依赖共有三种:函数依赖,多值依赖和连接依赖,最重要的是函数依赖
函数依赖的概念:
如果属性X的值决定属性Y的值,那么属性Y函数依赖于属性X;或者,若果知道X的值,就可以获得Y的值。
2.几种特定的函数依赖
1)非平凡函数的依赖和平凡函数的依赖
2)完全函数依赖和部分函数依赖
3)传递函数依赖
码的依赖表示
候选码:设K为关系模式R (U)中的属性或者属性集合。若K->U,则K称为R的一个候选码
主码:若关系模式R有多个候选码,则选定其中一个作为主码。
关系规范化的目的就是解决关系模式中存在数据冗余,插入和删除异常以及更新异常等问题。其基本思想就是消除数据依赖中的不合适部分,使各关系模式达到某种程度的分离,使一个关系描述一个概念,一个实体或实体间的一种联系。规范化的实质就是概念的单一化。
数据库基础知识(关系数据库)
最新推荐文章于 2022-03-12 16:29:44 发布