
00:00:00
外卖卷:非常划算 扫码领劵 省点小钱钱
数据与信息之间的关系可以表示为:信息 = 数据 + 数据处理。
E-R 图是抽象和描述现实世界的有力工具,它提供了表示实体型、属性和联系的方法。


关系模型是一种用二维表格结构来表示实体以及实体之间联系的数据模型。每个二维表由行、列组成,又可称为关系,关系模式是对关系的描述。因此可以说,关系模型是由关系模式组成的集合。
两个关系模式:

两个关系模式的关系:

两个关系均包含两个元组。教师关系的教师编号为主码,课程关系的课程号为主码。
关系代数运算符:

从关系的垂直方向进行运算,在关系 $R$ 中选取若干属性列 $A$,并用这些属性组成一个新的关系,记作 ${\pi}_A(R)$。例如:
$$\pi_{Sname,Sdept}(Student)$$
从关系的水平方向进行运算,从关系 $R$ 中选出满足给定条件 $F$ 的元组而组成的一个新的关系,记作 ${\sigma}_F(R)$。例如:
$$\sigma_{Sdept='computer'}(Student)$$
从两个关系 $R$ 和 $S$ 的笛卡尔积中选取满足条件的元组。因此,可以认为笛卡尔积是无条件的连接,其他连接认为是有条件连接。连接运算主要有一下几种:
${\theta}$ 连接:${\theta}$ 是比较运算符。
$$R \mathop ⋈ \limits_{X{\theta}Y} S = \sigma_{X{\theta}Y}(R{\times}S)$$
等值连接:是 ${\theta}$ 连接的特例,与 ${\theta}$ 连接一致,是当 ${\theta}$ 为 $=$ 时的情况。
$$R \mathop ⋈ \limits_{X=Y} S = \sigma_{X=Y}(R{\times}S)$$
自然连接:自然连接是除去重复属性的等值连接,它要求两个关系中进行比较的分量必须是相同的属性或属性组,并且在连接结果中去掉重复的属性列,使公共属性列只保留一个。
外连接:如果希望不满足连接条件的元组也出现在连接结果中,则可以通过外连接操作实现。外连接有三种形式:左外连接、右外连接、全外连接。含义是将指定一边(如左连接就是左边的关系)中不满足的元组也保留到连接后的结果中,并在结果中将另一关系各属性置为空(NULL)值。
SOL 语言按照用途可以分为如下 4 类:
关系的描述称为关系模式,它可以形式化地表示为:
$$R(U,D,dom,F)$$
其中 $R$ 为关系名,$U$ 为组成该关系的属性名集合,$D$ 为属性组 $U$ 中属性所来自的域,$dom$ 为属性到域的映射,$F$ 为属性组 $U$ 上的一组数据依赖。
设 $R(U)$ 是一个属性集 $U$ 上的关系模式,$X$ 和 $Y$ 是 $U$ 的子集。
若对于 $R(U)$ 的任意两个可能的关系 r1、r2,若 r1[x] 等于 r2[x],则 r1[y] 等于 r2[y],或者若 r1[y] 不等于 r2[y],则 r1[x] 不等于 r2[x],称 $X$ 决定 $Y$,或者 $Y$ 依赖 $X$。
比如在设计学生表时,一个学生的学号能决定学生的姓名,也可称姓名属性依赖于学号,对于现实来说,就是如果知道一个学生的学号,就一定能知道学生的姓名,这种情况就是姓名依赖于学号,这就是函数依赖,函数依赖又分为非平凡依赖,平凡依赖;从性质上还可以分为完全函数依赖、部分函数依赖和传递函数依赖。
数据依赖
在计算机科学中,数据依赖是指一种状态,当程序结构导致数据引用之前处理过的数据时的状态。其中最重要的是函数依赖和多值依赖。
函数依赖
设 $X,Y$ 是关系 $R$ 的两个属性集合,当任何时刻 $R$ 中的任意两个元组中的 $X$ 属性值相同时,则它们的 $Y$ 属性值也相同,则称 $X$ 函数决定 $Y$,或 $Y$ 函数依赖于 $X$, 记作 $(X{\rightarrow}Y)$。
平凡函数依赖
当关系中属性集合 $Y$ 是属性集合 $X$ 的子集时 $(Y{\subseteq}X)$,存在函数依赖 $X{\rightarrow}Y$ ,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。
非平凡函数依赖
当关系中属性集合 $Y$ 不是属性集合 $X$ 的子集时 $(Y{\nsubseteq}X)$,存在函数依赖 $X{\rightarrow}Y$,则称这种函数依赖为非平凡函数依赖。
完全函数依赖
设 $X,Y$ 是关系 $R$ 的两个属性集合,$X'$ 是 $X$ 的真子集,存在 $X{\rightarrow}Y$,但对每一个 $X'$ 都有 $X'$ 不能函数决定 $Y$,则称 $Y$ 完全函数依赖于 $X$。
部分函数依赖
设 $X,Y$ 是关系 $R$ 的两个属性集合,存在 $X{\rightarrow}Y$,若 $X'$ 是 $X$ 的真子集,存在 $X'{\rightarrow}Y$,则称 $Y$ 部分函数依赖于 $X$。
传递函数依赖
设 $X,Y,Z$ 是关系 $R$ 中互不相同的属性集合,存在 $X{\rightarrow}Y,(Y{\nsubseteq}X),Y{\rightarrow}Z$,则称 $Z$ 传递函数依赖于 $X$。
设关系模式 $R(U,F)$,其中 $U$ 为属性集,$F$ 是 $U$ 上的一组函数依赖,那么有以下推理规则。
规范化是指用形式更为简洁、结构更加规范的关系模式取代原有关系模式的过程。数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入、删除、和更新操作异常。
在对数据库进行一些操作的时候我们可能会遇到以下的一些问题:
目前主要有 6 种范式,按规范化程度从低到高可分为:1NF、2NF、3NF、BCNF、4NF、5NF。各种范式之间存在的关系:1NF ⊃ 2NF ⊃ 3NF ⊃ BCNF ⊃ 4NF ⊃ 5NF。
第一范式(1NF)
若关系模式 $R$ 的每一个分量是不可再分的数据项(每个属性都是不可再分的),则关系模式 $R$ 属于第一范式。1NF 不能排除数据冗余和更新异常(包括修改,删除,插入异常),因为其中可能存在部分函数依赖。
第二范式(2NF)
不存在非主属性对主属性的部分函数依赖(每个主属性都完全函数依赖于候选码)。2NF 也可能存在数据冗余和更新异常等问题,因为其中可能存在传递函数依赖。
第三范式(3NF)
不存在非主属性对主属性的传递函数依赖(每个非主属性都非传递依赖于候选码)。3NF 中数据冗余和更新异常没有完全解决,因为可能存在主属性对候选码的部分依赖和传递依赖。
BC 范式(BCNF)
一个满足 BCNF 范式的关系模式已消除了插入和删除异常。
对存在数据元余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理,相应地,原来存储在一个二维表内的数据就要分散到多个二维表中,要使这个分解有意义,起码的要求是后者不能去失前者的信息。
在分解处理中会涉及一些新问题,为使分解后的模式保持原模式所满足的特性,其基本要求是模式分解具有无损连接性和保持函数依赖性。
评论