实验四 数据库设计
——概念结构设计(二)
【实验目的】
明确概念结构设计的步骤,掌握画E—R图的方法和合并E—R图。 【实验步骤】
1、熟悉概念结构设计的步骤
2、掌握概念结构设计的第二步骤,合并E—R图。 【实验内容】
一、视图的集成
概念结构设计的第一步是设计分E—R图,分E—R图完成以后,第二步就是要将所有的分E—R图综合成总E—R图。
一般说来,视图集成可以有两种方式:
(1)多个分E—R图一次集成.如图(a)所示。
(2)逐步集成,用累加的方式一次集成两个分E—R图,如图(b)所示。 第一种方法比较复杂,做起来难度较大。
第二种方法每次只集成两个分E—R图,可以降低复杂度。
无论采用哪种方式,每次集成局部E—R图时都需要分两步走:
(1)合并;解决各分E—R图之间的冲突,将各分E—R图合并起来生成初步E—R图。
(2)修改和重构。消除不必要的冗余,生成基本E—R图。 (一)合并分E—R图,生成初步E—B图 各个局部应用所面向的问题不同,且通常是由不同的设计人员进行局部视图设计,这就导致各个分E—R图之间必定会存在许多不一致的地方,称之为冲突。因此,合并分E—R图时并不能简单地将各个分E—R图画到一起,而是必须着力消除各个分E—R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型。合理消除各分E—R图的冲突是合并分E—R图的主要工作与关键所在。
各分E—B图之间的冲突主要有三类:属性冲突、命名冲突和结构冲突。 1、属性冲突
(1)属性域冲突,即属性值的类型、取值范围或取值集合不同。例如零件号,有的部门把它定义为整数,有的部门把它定义为字符型。不同的部门对零件号的编码也不同。又如年龄,某些部门以出生日朗形式表示职工的年龄,而另一些部门用整数表示职工的年龄。
(2)属性取值单位冲突。例如,零件的重量有的以公斤为单位,有的以斤为单位,有的以克为单位。
属性冲突理论上好解决,但实际上需要各部门讨论协商,解决起来并非易事。
2、命名冲突
(1)同名异义,即不同意义的对象在不同的局部应用中具有相同的名字。 (2)异名同义(一义多名),即同一意义的对象在不同的局部应用中具有不同的名字。
如对科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程。 命名冲突可能发生在实体、联系一级上,也可能发生在属性一级上。其中属性的命名冲突更为常见。处理命名冲突通常也像处理属性冲突一样,通过讨论、协商等行政手段加以解决。
3、结构冲突
(1)同一对象在不同应用中具有不同的抽象。例如,职工在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。
解决方法通常是把属性交换为实体或把实体变换为属性,使同一对象具有相同的抽象。但变换时仍要遵循上面讲述的两个准则。
(2)同一实体在不同分E—R图中所包含的属性个数和属性排列次序不完全相同。
这是很常见的一类冲突,原因是不同的局部应用关心的是该实体的不同侧面。解决方法是使该实体的属性取各分E—R图中属性的并集,再适当调整属性的次序。
实体间的联系在不同的分E—R图中为不向的类型,如实体E1与E2在一个分E—R图中是多对多联系,在另一个分E—R图中是一对多联系;又如在一个分E—R图中E1与E2发生联系,而在另一个分E—R图中E1、E2、E3三者之间有联系。
解决方法是根据应用的语义对实体联系的类型进行综合或调整。 (二)消除不必要的冗余,设计基本E—R图
在初步E—R图中,可能存在一些冗余的数据和实体间冗余的联系。所谓冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,应当予以消除。消除了冗余后的初步E—R图称为基本E—R图。
消除冗余主要采用分析方法.即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。
【实验练习】
1、下表是某学校学生的成绩报告单,如要开发学校的教务管理信息系统,请根据下表和上次实验练习的结果,分析该成绩单中各实体的联系并绘制总E—R图。
××学校成绩报告单
课程名称: 课程性质:必修 选修 考核形式:考试 考查 补考 重修
专业: 班级: 人数: 学号 姓名 性别 平时成绩 期末成绩 总评成绩 教师签名:
2、某商品销售公司的商品销售的部分中层数据流程图和数据字典如下:
(1) 管理销售订单DFD片断说明:
销售管理员向系统发出管理订单请求,订单子系统处理相应的操作,然后将结果通知财务部门。管理员亦可对所有订单进行查看。
销售管理员 查看订单 管理订单 订单变化结果 1.2 订单管理子系统 销售订单 财务部门
(2)管理销售商品DFD片断说明:
销售管理员向系统发出管理销售商品请求,销售商品子系统处理相应的操作,然后将结果通知财务部门。管理员亦可对所有销售商品进行查看。
销售管理员 查看销售商品 1.3 销售商品销售商品变化结果 管理子系统 管理销售商品 销售报价 销售商品 财务部门 (3)管理收付款信息DFD片断说明:
销售管理员向系统发出管理收款付款信息请求,收款付宽管理子系统处理相应的操作,然后将结果通知财务部门,管理员亦可对收款付款信息进行查看,收款付款管理子系统将结果返回给管理员。
销售管理员 查看收付款信息 1.5 收款付款收付款信息变化结管理子系统 管理收付款 收付款方案 收款付款 发票信息 财务部门 (4)管理发票DFD片断说明:
销售管理员向系统发出管理发票请求,发票管理子系统处理相应的操作,然后将结果通知财务部门,管理员亦可对发票信息进行查看,发票管理子系统将结果返回给管理员。
销售管理员 查看发票信息 管理发票 发票信息变化结果 1.6 发票管理子系统 发票信息 财务部门
数据字典:
外部实体编号:S—01
外部实体名称:销售管理员
简述:整个商品销售过程中的管理人员
输入的数据流: DI—01,DI—02,DI—03,DI—04
输出的数据流:DO—01,DO—02, DO—03, DO—04
外部实体编号:S—02 外部实体名称:财政部门 简述:财务部
输出的数据流:F—01,F—02,F—03,F—04
数据流编号:DO—01
数据流名称:管理订单
简述:销售管理人员发出的管理订单请求 来源:销售管理人员
去向:订单管理子模块
组成:订单编号+合同签订日期+订单状态+商品金额+总费用+销售负责人编号 +客户负责人编号+创建人+创建日期+备注 数据库流量:6份/天
高峰流量: 2/时(上午9:00~11:00)
数据流编号:DO—02
数据流名称:管理销售商品
简述:销售管理人员发出的管理销售商品请求 来源:销售管理人员
去向:销售商品管理子模块
组成:销售商品编号+商品编号+销售订单编号+销售数量+销售价格+审核状态 +备注
数据库流量:15份/天
数据流编号:DO—03
数据流名称:管理收款付款
简述:销售管理人员发出的管理收付款请求 来源:销售管理人员
去向:收款付款管理子模块
组成:收付款编号+收付款客户编号+收付款类型+状态+是否开发票+收付款金
额+收付款日期+备注 数据库流量:20份/天
高峰流量: 5/时(上午9:00~11:00)
数据流编号:DO—04 数据流名称:管理发票
简述:销售管理人员发出的管理发票请求 来源:销售管理人员 去向:发票管理子模块
组成:发票编号+收付款客户编号+发票类型+发票金额+发票日期+状态+备注 数据库流量:20份/天
高峰流量: 4/时(上午9:00~11:00)
请画出各个销售管理过程的分E—R图,然后,合并分图。
相关推荐: