ER模型的基本概念以及如何绘制ER图;
实体:可以相互区分的客观事物,或抽象事件,例如一场足球比赛。
实体在 ER 图中用矩形表示。
属性:一个实体有多个特征,每个特征称为一个属性。每个属性的取值范围可以是整数、实数等。
属性用椭圆表示。
关系:
1关系:若实体集E1中的每个实体只能与实体集E2中的一个实体相关,反之亦然,则实体集E1与E2之间的关系变为一对一关系,记为1:1
N连接:一对多,记为1:N。
M:N关系:多对多关系,记为M:N
绘制ER图:
找到实体,建立联系,最后添加属性。
功能依赖性:
定义:设R(U)是属性集U上的关系模式,X,Y是U的子集。如果对于R(U)的任何可能关系r,r中不能存在两个元组在X上具有相等的属性值而在Y上具有不等的属性值,则称X函数决定Y或者称Y函数依赖于X,算作X→Y。
首先我们要理解关系模型和属性集的概念,属性集可以理解为N条记录,每条记录都有一个主键和属性。
X,Y是U的子集,也就是说,X,Y是两列数据。
对于R(U)的任意一个可能关系r:r可以理解为主键和某个字段属性之间的关系,也可以是两个不相关的属性之间的关系,这种关系是不确定的。
最后一句的意思是,不可能出现X属性列中的两个元组在X中相等,而在Y属性列中也相等的情况。
例如,如果主键X可以确定后续列属性Y,那么我们可以说函数X确定Y或者函数Y依赖于X。
两列非主属性X和Y,X不能确定Y,即称X函数不能确定Y,对惯性系没有依赖性。
完整函数依赖性:
定义:在 R(U) 中,若 X→Y,且 X 的任何真子集 X' 不依赖于 Y,则称 Y 完全函数依赖于 X。记为 X→FY
即X是一个集合,只有整个集合才能确定Y,但是它的真子集X'不能确定Y,即完全函数依赖。
一些功能依赖:
如果 X→Y,但 Y 不完全函数依赖于 X,则称 Y 对 X 具有部分函数依赖性,表示为 X→PY
传递函数依赖性:
在 R(U) 中,如果 X→Y,(Y 不包含在 X 中),Y 在函数上不依赖于 X,并且 Y 在函数上依赖于 Z,则称 Z 传递性地依赖于 X。
无损分解:
这里可以简单理解为数据库函数依赖关系,如果可以恢复,就是无损分解,如果不能恢复,就是有损分解。
那么判断是否是无损分解,只需要判断是否可以还原就可以了,我们举个例子来解释一下。
首先,行是 R 中的元素,列为 R1-R5。
步骤1:R1,R2等中是否有对应的ABCDE?如果有,则用a1,a2来表示。
第二步:看A→C,看AC两列,a1→b13,于是在AE列,a1→b13,把原来的b53改成b13(以小的为准)
步骤3:查看B→C,与步骤2类似。
…
以下类似:DE→C 相同。
另一种方法:
设R的分解为p={R1,R2},F为R满足的函数依赖关系集,则分解p具有无损连通性的必要充分条件为:
R1∩R2→(R1-R2) 或 R1∩R2→(R2-R1) PS: -操作包括从 R1 中删除 R1 和 R2 的共同属性。
关系代数:
五种基本运算:并、差、笛卡尔积、选择和投影。此外,还有除法。
关系代数概念:是一种抽象查询语言,一种代数符号,其中查询通过将特定运算符附加到关系来表达。它包括一组对表的操作。(关系代数实际上是一种对关系的操作数据库函数依赖关系,这种对关系的操作是一种查询语言)
1. 并集(∪):R∪S 的并集是 R、S 和两个火灾表中所有记录的集合。
2. 差异(-):计算两个表之间的差异集。RS 是 R 中但不在 S 中的记录集。
3. 笛卡尔积 (Product, X):计算两个关系的笛卡尔积。设 R 为具有 k1 个元素的表,设 S 为具有 k2 个元素的表。RxS 是所有 k1+k2 个元素记录的集合,这些记录的前 k1 个元素来自 R 中的记录,后 k2 个元素来自 S 中的记录。
4.投影(用符号π表示):从表中选择几列的操作。
5.选择(用符号σ表示):从表中选择n行记录
6. 交集(用符号 ∩ 表示):计算两个表的集合论交集。给定表 R 和 S,R∩S 是同时存在于 R 和 S 中的记录集。
7.Join:先将两个表做笛卡尔积,按照相同属性做选择,然后通过投影去除重复的列,这就是Join。
8.除法(用÷表示):有两个关系R(X,Y)和S(Z),其中X、Y、Z为属性集。假设Y和Z有相同个数的属性,且对应的属性来自同一域。关系R(X,Y)÷S(Z)得到的商关系是关系R在属性X上的投影的子集,该子集与S(Z)的笛卡尔积必定包含在R(X,Y)中,用R÷S表示。
R在属性X上投影的子集:即属性X的一个子集,可能是几行数据。下面这句话的意思是,这个子集中原来对应的数据肯定和属性Z上的一样,这是一个分工关系。
暂无评论内容