数据库 之 ER模型、函数依赖、无损分解、关系代数

原创 2015年11月21日 10:37:54

ER模型的基本概念,以及如何绘制E-R图;

实体:客观存在的可以相互区别的事物,也可以是抽象的事件。如:一场足球赛等。

实体在ER图中用矩形表示

属性:实体有很多特性,每一个特性成为属性。每个属性的值域可以是整数型,实数型等。

属性用椭圆形来表示。

 

联系(Relationship):

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。

第一步:R1,R2……中有没有所对应的ABCDE,如果有则用a1,a2表示

第二步:看A→C,看AC两列,a1→b13,所以AE列a1→b13把原来的b53改为b13(以小的为标准改)

第三步:看B→C,类似第二步。

……

下面的依次类推:DE→C是一样的。

 

另外一种方法:

如果R的分解为p={R1,R2},F为R所满足的函数依赖集合,分解p具有无损链接性的充分必要条件是:

R1∩R2→(R1-R2)或R1∩R2→(R2-R1) PS:-操作为R1中去除R1和R2的公共属性所组成。

 

关系代数:

五种基本运算:并,差,笛卡尔积,选择和投影。此外还有除。

关系代数概念:是一种抽象的查询语言,是一种代数的符号,其中的查询时通过向关系附加特定的操作符来表示的。它包括一个对表进行操作的集合。(关系代数其实就是对关系的一个运算,而这种对关系的运算就是一种查询语言)

 

1.      并(Union,∪):R∪S的联合就是所有在R里面有,或S里面有,或者两个表里面都有的记录集合。

2.      差(Difference,-):计算两个表的区别的集合。R-S是在R里面却不在S里面的记录的集合。

3.      笛卡尔积(Product,X):计算两个关系的笛卡尔乘积。令R 为有 K1元的表,令S为有k2元的表。RxS是所有k1+k2元记录的集合,其前k1个元素来自R里的一条记录,而后k2个元素来自S里的一条记录。


4.      投影(Project,用符号π表示):从一个表中选取几列的操作,

5.      选择(Select,用符号σ表示):从一个表里选取n行记录

6.      交(Intersection,用符号∩表示):计算两个表集合理论上的交集。给出表R和S,R∩S是同时在R和S里面的记录的集合。

7.      连接(Join):两个表先进行笛卡尔乘积,根据相同的属性进行选择,然后用投影把重复的列去掉。即为连接。

8.      除(Division,用÷来表示):有两个关系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属性中的一样。即为除关系。

【数据库复习】函数依赖

如果我们要设计关系型数据库的表模式,则很有可能会出现冗余,为了避免这种情况,我们需要一些规则,这些规则称为依赖。 函数依赖简单地说就是属性集A推导出属性集B,比如 给定这些规则之后,如果某个关...
  • xiazdong
  • xiazdong
  • 2012年04月27日 21:03
  • 35826

【数据库学习】 之 函数依赖及其公理/定理

思维导图一、总概括(1)函数依赖====习题-1====(1.1)函数依赖的特性====习题-2====(1.2)部分或完全函数依赖====习题-3====(1.3)传递函数依赖====习题-4===...
  • fanfan4569
  • fanfan4569
  • 2016年12月28日 17:18
  • 886

数据库----判别一个分解的无损连接性

http://blog.csdn.net/ristal/article/details/6651991
  • woailuo453786790
  • woailuo453786790
  • 2016年05月22日 10:29
  • 2708

数据库--ER模型、函数依赖、无损分解、关系代数

ER模型的基本概念,以及如何绘制E-R图; 实体:客观存在的可以相互区别的事物,也可以是抽象的事件。如:一场足球赛等。 实体在ER图中用矩形表示 属性:实体有很多特性,每一个特性成为属性。每个属...
  • xiaokui008
  • xiaokui008
  • 2011年10月12日 21:42
  • 7046

实体关系图E-R图(Entity Relationship Diagram)

1、什么是E-R图E-R图即实体-联系图(Entity Relationship Diagram),是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。E-R方法:是“实体-联系方法”...
  • limuzi13
  • limuzi13
  • 2015年12月24日 00:29
  • 38679

数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别

数据库,部分函数依赖,传递函数依赖,完全函数依赖,三种范式的区别
  • rl529014
  • rl529014
  • 2015年09月12日 09:13
  • 15638

数据库 之 ER模型、函数依赖、无损分解、关系代数

ER模型的基本概念,以及如何绘制E-R图; 实体:客观存在的可以相互区别的事物,也可以是抽象的事件。如:一场足球赛等。 实体在ER图中用矩形表示 属性:实体有很多特性,每一个特性成为属性。每个属...
  • u013630349
  • u013630349
  • 2015年11月21日 10:37
  • 1197

数据库6 关系代数(relational algebra) 函数依赖(functional dependency)

参考:关系代数——除法参考:数据库关系代数表达式学习 注意点:对于普通的join:A join B则join之后的集合的属性(attribute)数量为A,B的列数(attribute)相加natur...
  • neuldp
  • neuldp
  • 2016年06月12日 21:35
  • 592

【数据库】函数依赖和规范化

函数依赖        在数据库中,关系模式中的属性值之间会发生联系。譬如每个学生只有一个姓名,每门课程只能有一个任课老师。这类联系就称为函数依赖(functional dependency...
  • Gnd15732625435
  • Gnd15732625435
  • 2016年11月01日 16:51
  • 1533

数据库函数依赖

一、函数依赖(Functional Dependency)的概念数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系。二、定义 设R(U)是属性U上的一个关系模式,X...
  • liaojiafan
  • liaojiafan
  • 2010年06月28日 13:12
  • 2013
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库 之 ER模型、函数依赖、无损分解、关系代数
举报原因:
原因补充:

(最多只允许输入30个字)