对E—R模型的深入理解

摘要:首先对E/R模型作了详细的介绍,详细介绍了E/R模型的结构,对几种特殊的实体联系,以及怎样构造模型,还有实际的应用问题,本文都给予了详细的介绍。

关键词:E-R模型 三范式  实体集 属性联系集

一丶E-R模型

1.E-R模型的结构
  E-R模型的构成成分是实体集、属性和联系集,其表示方法如下:
  (1) 实体集用矩形框表示,矩形框内写上实体名。
  (2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。
  (3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—M或M—M。
  因此,E-R模型也称为E-R图。例如系、学生和课程的联系的E-R模型表示见图。

系、学生和课程作为实体集;一个系有多个学生,而一个学生仅属于一个系,所以系和课程之间是一对多的联系;一个学生可以选修多门课程,而一门课程有多个学生选修,所以学生和课程之间是多对多的联系。

2.E-R模型对几种特殊的实体联系的表示
  E-R模型在表示复杂实体和实体之间的复杂联系方面有较强的能力。除了可以明确表示二个实体集之间1—1、1—M或M—M的联系。还可以:
  (1) 表示三个以上的实体集之间的联系。
  例如,一个售货员(Salesperson)可以将多种商品(Goods)售给一个顾客(Customer),而一个售货员也可以将一种商品售给多个顾客;一个顾客的一种商品可以由多个售货员经售。售货员、商品和顾客三个实体集之间的联系是多对多的三元联系,其E-R模型表示见图1.11

  (2) 表示一个实体集内部的联系
  例如,雇员(EMP)这个实体集中,总经理下设多个部门经理,而部门经理下面有多个雇员。因此,雇员这个实体集中实体之间存在一对多的联系,其E-R模型如图1.12所示。
  (3) 表示二个实体集之间的多种联系
  例如,雇员(EMP)和设备(EQUIP)之间可以有多种联系,一种联系是一个设备可以由多个雇员操作(operation),另一种联系是一个雇员可以维修(maintain)多个设备,其E-R模型如图1.13所示。

3.作E-R图的步骤
  (1) 确定实体和实体的属性
  (2) 确定实体之间的联系及联系的类型
  (3) 给实体和联系加上属性
  如何划分实体及其属性有两个原          则可作参考:一是作为实体属性的事物本身没有再需要刻画的特征而且和其它实体没有联系。二是属性的一个值可以和多个实体对应,而不是相反。尽管E-R模型中的属性可以是单值属性也可以是多值属性,为简单计,多值属性常常被作为多个属性或作为一个实体(见第6章弱实体)。
  例如,职工和部门,一般情况下,一个部门有多个职工,而一个职工仅属于一个部门。所以职工应作为实体,而部门既可作为职工的属性——部门本身仅有一个名称;也可以作为实体——部门具有部门号、部门名称及电话等,如图1.14所示。

  再如,职工和工种,一个工种有多个职工,而一个职工仅属于一个工种,所以职工应作为实体,而工种既可作为职工的属性——工种本身仅有一个名称;也可以作为实体——工种和其它实体,例如和劳保用品有联系,如图1.15所示。
  如何划分实体和联系也有一个原则可作参考:当描述发生在实体集之间的行为时,最好采用联系集。例如,读者和图书之间的借、还书行为,顾客和商品之间的购买行为,均应该作为联系集。
  如何划分联系的属性:一是发生联系的实体的标识属性应作为联系的缺省属性,二是和联系中的所有实体都有关的属性。例如,学生和课程的选课联系中的成绩属性,顾客、商品和雇员之间的销售联系中的商品的数量等。

4.E-R模型中的三范式

如果我们要写数据库方便的论文,设计的e-r模型一定要满足3NF,所以我特地找了些这方面的资料。经过加工内容如下:

1函数依赖要掌握如下概念:

  1).函数依赖:  

         若对于一个关系模式中所有具体关系的属性之间都满足如下约束;对于X的每一个具体值,Y有唯一的具体值与之对应,则称Y函数依赖于X,或称Y函数依赖于X,或X函数   决定Y,记作X→Y,X称作决定因素。

        2).非平凡函数依赖:

  如果X→Y,并且Y不是X的子集,则称X→Y 是非平凡的函数依赖。

  3).平凡函数依赖

  如果X→Y,并且Y是X的子集,则称X→Y 是平凡的函数依赖。

  4.)部分函数依赖

  设X→Y是关系模式R的一个函数依赖,如果存在X的真子集X’,

   使得 X’→Y成立,则称Y部分依赖于X,

  5.)完全函数依赖

  设X→Y是关系模式R的一个函数依赖,如果不存在X的真子集X’ , 

  使得 X’→Y成立,则称Y部分依赖于X,

  例:设有关系模式选课SC1(SNO,CNO,GRADE,CREDIT)其中,SNO表示学号,CNO表示课程号,GRADE表示成绩,CREDIT表示学分。

  由于成绩是对某个学生、某门课程而言,因此,成绩只能由某个学生,某门课程两个属性共同来确定。  所以 

   (SNO,CNO)        GRADE(完全函数依赖)

  由于CNO课程号可直接决定CREDIT学分。所以(SNO,CNO)        CREDIT(部分函数依赖)

  6).传递依赖

  在同一关系模式中,如果存在非平凡函数依赖X→Y,Y→Z,而  YX,则称Z 传递依赖于X。这里特别要注意YX,如果X、Y互相依赖,实际上

处于等价地位,X→Z则为直接函数依赖,不是传递依赖。

  例:在关系模式S(学号、姓名、所在系、系名称、系地址)

  由于一个系里有多名学生,而一个学生只能在一个系里注册,一个系有一个确定的办公地址。所以  学号 →所在系,但 所在系 学号,所

在系→系地址,根据传递依赖的定义,可知,学号→系地址是传递依赖。

  7 ).关键字

  在关系模式R(U)中,K是U中的属性或属性组。如果K完全函数决定整个元组,即

                KU

  则称K为关系 R(U) 的一个候选关键字。R(U)中若有一个以上的候选关键字,则选定其中一个作为主关键字。

  8).外关键字

        在关系模式R(U)中,若属性或属性组X不是关系R 的关键字,但X是其它关系模式的关键字,则称X为其它关系模式的关键字,则称X为

关系R(U)外关键字。

 二、关系的范式

        在设计关系数据库时,如果随意建立关系模式,可能会出现很多弊病,较好的关系模式必须满足一定的规范化要求。满足不同程度要

求的为不同范式,满足最低要求的叫第一范式,在第一范式中进一步满足一些要求的为第二范式,其余类推。范式形式有第一、第二、第三、B

CNF。

  1.第一范式:在关系模式R中的每一相具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式。

  2.第二范式:如果关系模式R(U,F)中所有非主属性都完全函数依赖于任意一个候选关键字,则称关系R 是属于第二范式的。

    例:设有关系模式选课SC1(SNO,CNO,GRADE,CREDIT)其中,SNO表示学号,CNO表示课程号,GRADE表示成绩,CREDIT表示学分。

  由于成绩是对某个学生、某门课程而言,因此,成绩只能由某个学生,某门课程两个属性共同来确定。  所以 

  (SNO,CNO) --->   GRADE(完全函数依赖)

  由于CNO课程号可直接决定CREDIT学分。所以

        (SNO,CNO) --->  CREDIT(部分函数依赖)

 

  3.第三范式:如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R 是属于第三范式。

       例:设有关系模式选课SC1(SNO,CNO,GRADE,LEVEL)其中,SNO表示学号,CNO表示课程号,GRADE表示成绩,LEVEL表示等级(优良,中,差)。

  由于成绩是对某个学生、某门课程而言,因此,成绩只能由某个学生,某门课程两个属性共同来确定。  所以 

   (SNO,CNO) --->   GRADE(完全函数依赖)

       GRADE  ---> LEVEL

      (SNO, CNO) --->LEVEL (传递依赖)

  BCNF    如果关系模式R(U,F)的所有属性(包括主属性和非主属性)都不传递依赖于R 的任何候选关键字,那么称关系R 是属于BCNF的

      规范化的过程是逐步消除关系模式中不合适的数据依赖的过程。第一范式中消除非主属性对关键字的部分函数依赖,就可达到2NF;第二

范式中消除非主属性对关键字的传递函数依赖,就可达到3NF;第三范式中消除主属性对关键字的部分和传递函数依赖,就可达到 BCNF。

参考文献:

[1]黄梯云.管理信息系统[M].北京:高等教育出版社,2003.

[2] 薛华成.管理信息系统.第三版[M].北京:清华大学出版社,2004. 

[3] Efrem G.Mallach [美] 李昭智,等 译.决策支持与数据仓库系统[M].北京:电子工业出版社, 2001-04

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值