数据库原理及应用实验指导书
概念结构设计过程
本公司开发酒店管理系统,经过可行性分析、详细调查以及多次讨论,确定了该系统由娱乐管理部门、经理管理部门、宿舍管理部门和财务管理部门四个子系统组成。
本过程结构设计过程采用自底向上的设计方法,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构.
下面给出各个子系统的分析及分E-R图的设计及对其进行的各项调整。
经理管理部门子系统
本开发小组成员经过调查、信息流程分析、数据收集,并结合需求分析,明确了——
子系统的功能:
A.管理员工:给员工编号,登记其基本信息。根据员工的平时表现确定其出勤工资及根据等级确定其固定工资,从而确定其实际工资,此外还要给员工分配工作部门等。
B.划分部门:给各部门编号、命名、确定其职责范围、任命部门经理、分配员工。 C.对本部门的财务进行核算(支付工资等)。
根据要求分析给出的数据流图,参照数据字典中的详细描述,给出经理管理部门的分E-R图: 员工 1 对应 1 工资 n 组成 核算 1 部门 1 n账单
对E-R图调整的准则:
现实世界中的事物能作为属性对待的尽量作为属性对待;
属性和实体的划分:属性中不具有需要描述的信息,即属性是不可分的数据项,不再包含其他信息。
实体属性定义:
员工(员工号、姓名、性别、年龄、工龄、级别、部门、职务、备注) 工资(员工号、等级、实际工资、基本工资、出勤工资) 部门(部门号、名称、部门经理、员工数量)
账单(编号、发票号、摘要、收入数、支出数、日期、经手人、备注)
具体调整如下:
1. 2. 3.
本来员工还应对应一个领导关系,但这里为了简便,就用员工的”等级”属性来表示员工之间的领导关系; 工资本应作为员工的一个属性,但这里需强调员工对应的出勤工资(由出勤情况决定),因此将它单独作为一个实体;
部门对应的账单本应属于财务子系统的内容,这里为了简化财务子系统,先在各个子系统中进行财务总结,因此,将账单也作为一个实体。
31
数据库原理及应用实验指导书
娱乐管理部门子系统
本开发小组成员经过调查、信息流程分析、数据收集,并结合需求分析,明确了——
子系统的功能:
A.为各个项目制定收费标准,分配负责人;
B.收入支出财务处理:编号、财务来源去处的摘要、数量、单价、数额、结余、经手人等信息; C.对在部门内进行娱乐的顾客进行收费,并根据折扣规则给与顾客相应的折扣; D.对部门内部进行帐务处理;
根据要求分析给出的数据流图,参照数据字典中的详细描述,给出经理管理部门的分E-R图:
项目 1 负责 n 员工 折扣规则 1 n n 核算 1 账单
选 择 m 顾客 1 应付 1 款项 1 对应 实体属性定义:
项目(编号、名称、所在位置、收费标准、负责人)
员工(员工号、姓名、性别、年龄、工龄、级别、部门、职务、备注)
顾客(顾客号、级别、姓名、年龄、性别、证件号码、证件名称、所选项目、使用时间、备注) 款项(顾客号、级别、使用时间、应收款、实际收款、折扣) 折扣规则(级别、折扣情况)
账单(编号、发票号、摘要、收入数、支出数、日期、经手人、备注)
对E-R图调整的准则:
现实世界中的事物能作为属性对待的尽量作为属性对待;
属性和实体的划分:属性中不具有需要描述的信息,即属性是不可分的数据项,不再包含其他信息。
具体调整如下:
1.本来员工还应对应一个领导关系,但这里为了简便,就用员工的“等级”属性来表示员工之间的领导关系; 2.款项本可以作为顾客的一个属性来设置,但这里为了强调对顾客的折扣情况,需要对款项进行进一步的描述,因
此这里作为一个实体;
3.对顾客所采取的折扣规则,本应该根据顾客的实际消费量来划定,这里为了方便起见,给每位顾客添加了一个“级
别”属性,用以对应采取的折扣规则;
4.部门对应的账单本应属于财务子系统的内容,这里为了简化财务子系统,先在各个子系统中进行财务总结,因此,
将账单也作为一个实体;
住宿管理部门子系统
本开发小组成员经过调查、信息流程分析、数据收集,并结合需求分析,明确了——
子系统的功能:
32
数据库原理及应用实验指导书
A.给个房间布置设备、分类、编号、制定收费标准、分配服务人员。 B.登记旅客信息,确认其身份,登记其入住、退出时间; C.接受顾客的预定服务,对于已预定的客房进行登记的处理; D.统计各类房间的客满程度; E.对本部门的财务流动进行登记处理。
根据需求分析给出的数据流图,参照数据字典中的详细描述,给出经理管理部门的分E-R图:
顾客 m 住宿 n 客房 m 负责 n 员工 1 1 1 m 预 应 核订 预 付 1 账单 算 约 1 1 订单 1 款项 1 对应 1 折扣规则
实体属性定义:
顾客(顾客号、级别、姓名、年龄、性别、证件类型、证件号码、入住时间、退出时间、备注) 客房(客房号、类别、位置、设备、收费标准、管理人员、状态) 员工(员工号、姓名、性别、年龄、工龄、级别、部门、备注) 款项(顾客号、级别、使用时间、应收款、实际收款、折扣) 折扣规则(级别、折扣情况)
订单(订单号、时间、房间号、经手人、备注)
账单(编号、发票号、摘要、收入数、支出数、日期、经手人、备注)
对E-R图调整的准则:
现实世界中的事物能作为属性对待的尽量作为属性对待;
属性和实体的划分:属性中不具有需要描述的信息,即属性是不可分的数据项,不再包含其他信息。
具体调整如下:
1.本来员工还应对应一个领导关系,但这里为了简便,就用员工的“等级”属性来表示员工之间的领导关系; 2.款项本可以作为顾客的一个属性来设置,但这里为了强调对顾客的折扣情况,需要对款项进行进一步的描述,因此这里作为一个实体;
3.对顾客所采取的折扣规则,本应该根据顾客的实际消费量来划定,这里为了方便起见,给每位顾客添加了一个“级别”属性,用以对应应采取的折扣规则;
4.部门对应的账单本应属于财务子系统的内容,这里为了简化财务子系统,先在各个子系统中进行财务总结,因此,将账单也作为一个实体。
财务管理子系统
本开发小组成员经过调查、信息流程分析、数据收集,并结合需求分析,明确了——
33
数据库原理及应用实验指导书
子系统的功能:
A. 对各个部门上交上来的收支情况进行汇总,得出各个部门的损益情况; B.
对整个酒店各个部门的损益情况进行汇总登记,得出本期酒店的损益;
C. 将整个酒店的收益情况下发给各个部门,帐务公开,集思广益。 分E-R图如下:
部门 1 组成 n 员工 1 n 下 发 核 算 1 财务状况 1 m m 汇总 账单 m 结算 1 总帐
实体属性定义:
部门(部门号、名称、部门经理、员工数量)
员工(员工号、姓名、性别、年龄、工龄、级别、部门、职务、备注) 账单(编号、发票号、摘要、收入数、支出数、日期、经手人、备注) 总帐(编号、部门号、收入、支出、净利、日期、经手人、备注) 财务状况(时期、总收入、总支出、净利润)
对E-R图调整的准则:
现实世界中的事物能作为属性对待的尽量作为属性对待;
属性和实体的划分:属性中不具有需要描述的信息,即属性是不可分的数据项,不再包含其他信息。
具体调整如下:
员工应对应一个领导关系,但为了简便起见,就用员工的“等级”属性来表示员工之间的领导关系。
34
数据库原理及应用实验指导书
视 图 集 成
以上便是四个子系统的分E-R图设计及其调整的整个过程,接着要做的就是将所有的分E-R图进行综合,合成一个系统的总E-R图.
由于本系统比较简单,分E-R图规模也比较小,所以E-R图合成过程采用一次将四个子系统分E-R图集成总E-R图的方式.
分两步进行:
第一步:合并。
解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。 各分E-R图之间的冲突主要有三类: 1. 属性冲突:
(1)属性域冲突,即属性值的类型、取值范围或取值集合不同。由于本系统较简单,所以并不存在这种冲突; (2)属性取值单位冲突。由于本系统较简单,不存在这类冲突; 2. 命名冲突:
(1) 同名异义:由于本系统较简单,所以不存在这类冲突; (2) 异名同义:由于本系统较小,所以不存在这类冲突; 3. 结构冲突:
(1) 同一对象在不同应用中具有不同的抽象:本系统在需求分析阶段原本存在这种冲突,考虑到后期的简化
合并,我们在设计各个分E-R图就早先解决了这个问题,即将在任何一个分E-R图中作为实体出现的属性全部作为实体;
(2) 同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同:由于本系统较简单,所以并
不存在这种冲突;
第二步:修改和重构。
消除不必要的冗余,生成基本E-R图。
由于本系统涵盖的内容比较少,基本不存在冗余的现象,所以初步E-R图就是基本E-R图,不必再进行调整。下面给出E-R图。
总E-R图:
员工(员工号、姓名、性别、年龄、工龄、级别、部门号、职务、备注); 工资(员工号、等级、实际工资、基本工资、出勤工资); 部门(部门号、名称、部门经理、员工数量、财务状况编号);
项目(项目编号、部门号码、名称、所在位置、收费标准、负责人号);
顾客(顾客编号、级别、姓名、年龄、性别、证件号码、证件名称、所选项目、使用时间、备注); 客房(客房号、类别、部门号、位置、设备、收费标准、管理人员号、状态); 款项(款项编号、顾客号、项目号、折扣级别、使用时间、应收款、实际收款); 折扣规则(折扣级别、折扣情况);
订单(订单号、顾客号、经手人号、备注);
账单(账单编号、总帐编号、发票号、收入数、支出数、日期、经手人号、备注); 总帐(总帐编号、部门号、财务状况编号、收入、支出、净利、日期、经手人号、备注); 财务状况(财务状况编号、时期、总收入、总支出、净利润);
35