欢迎来到学术参考网

基于实用型的E-R图教学探讨

发布时间:2015-11-13 10:06

摘 要:E-R图是数据库设计过程中一种常用的描述方式,文章讨论了理论结合实际的范例教学,使学生轻松领会到E-R图的作用和意义

关键词:数据库设计;E-R图;关系模式
  E-R图能够简洁明了地描述实体与实体间的联系,并且把E-R图转换为关系模式也是容易的。通常教科书上提供的范例是给出实体,实体间联系的文字描述,然后要求画出对应的E-R图,这种形式的题型简单但脱离实际,因为实际数据库设计过程中,用户不会直接指出实体;如果严格依照设计步骤,内容过于繁琐,学生会失去兴趣。本文提供了几个教学范例,即联系实际又易于理解,使学生轻松领会到E-R图的作用和意义。
  范例1:假设某网上书店有图书订单如表1所示,规定一个客户可有多张订单,一张订单可订购多种图书,一种图书可在多张订单中出现。
  
图书订单日期:2010.6.10                订单编号:DB65011客户编号:C001  客户名称:广州大学  客户地址:广州市大学城     图书编号  图书名称    单价(元)    数量    金额(元)     B001  数据库系统  35.00  100    3500.00     B002  高等数学    25.00  200    5000.00                        应收金额:8500.00元业务员编号:A03   业务员姓名:张立      业务员电话:81234567表1 图书订单
  根据图中已知的订单格式设计E-R图并根据转换成关系表。
  分析:订单中明显包含客户、图书和业务员三个实体,其中数量,日期,订单号是三者因为订购关系而产生的属性,因此有图1所示E-R图:

  根据E-R图转换规则,每个实体以及多对多关系独立成一关系,有如下关系模式:
1)客户表(客户编号,客户名称,客户地址),主码:客户编号
2) 图书表(图书编号,图书名称,单价),主码:图书编号
3)业务员表(业务员编号,业务员姓名,业务员电话),主码:业务员编号
4)订单表(订单编号,日期,客户编号,业务员编号,图书编号,单价,数量),主码:订单编号+图书编号,外码:客户编号(参照客户表的客户编号),业务员编号(参照业务员表的业务员编号),图书编号(参照图书表的图书编号)
  由于订单表每类不同的图书,订单编号,日期,客户编号,业务员编号都要重复一遍,数据冗余大,容易导致更新异常;另外金额虽然可以通过单价*数量计算,但在每项订购信息中均出现,所以增加金额这类统计冗余会更加方便。因此把订单表分为订单表和订单明细两个表:
订单表(订单编号,日期,客户编号),订单明细表(订单编号,图书编号,单价,数量,金额)。
  范例2:表2显示一张交通违章处罚通知书,根据通知书所提供的信息设计E-R图并根据转换成关系表。
:
交通违章通知书:      编号:××××××
  姓名:××× 驾驶执照号:××××××
地址:××××××××××
邮编:×××××× 电话:××××××机动车牌照号:××××××
型号:××××××
制造厂:×××××× 生产日期:××××××违章日期:×××××× 时间:××××××
地点:××××××处罚方式:警告 ? 罚款 ?  暂扣驾驶执照 ?警察签字:××× 警察编号:×××被处罚人签字:×××              表2 交通违章处罚通知书
  注:一张违章通知书可能有多项处罚,例如:警告+罚款
  分析:通知书中明显包含驾驶员、机动车和警察三个实体,其中违章日期、时间、地点和处罚方式是因为违章而产生的属性,因此有图2所示E-R图:
  
  
  
  
  
  
  
  
  
  
      图2交通违章处罚通知书E-R图
  由于注明一张违章通知书可能有多项处罚,因此处罚方式不能用一个属性,应设置警告,罚款,暂扣驾驶执照三个逻辑型属性,因此对应的关系模式为:
  司机(驾照号,姓名,地址,邮编,电话);机动车(牌照号,型号,制造厂,生产日期);警察(警察编号,姓名);处罚通知(编号,日期,时间,地点,驾照号,牌照号,警告,罚款,暂扣,警察编号),驾照号,牌照号,警察编号为外码。
  结论:E-R图在数据库概念设计中常用的描述方式,要求学生应掌握并应用到实际当中,本文通过理论结合实际的例子,让学生体会E-R图的作用和意义,在教学实践中收到较理想的效果。
  参考文献:
[1] 萨师煊,王珊,数据库系统概述,高等教育出版社,2000
[2] 苗雪兰,刘瑞新等,数据库系统原理及应用教程第三版,机械工业出版社,2007

上一篇:计算机网络信息资源的应用障碍分析

下一篇:Web 2.0时代网站运营模式发展趋势分析