Oracle数据库设计大作业报告
----职工信息工资管理系统
目录
第一章系统需求简介31.1总体需求简单介绍31.2用户总体业务构造41.3其他要求41.4系统功能设想4第二章需求分析52.1 数据流图62.1.1 系统的全局数据流图62.1.2 系统的局部数据流图82.2 数据字典112.2.1数据流122.2.2 数据存储122.2.3 处理过程逻辑132.2.4 数据项14第三章概念设计143.1 实体153.2 系统局部E-R图153.3系统全局 E-R图17第四章逻辑设计214.1 E-R图到关系模式的转换214.2 关系模式的规范及调整214.3 各个数据表的表结构设计23第五章物理设计255.1 存储介质类型的选择265.2表空间管理275.3 安全管理285.4 各个基本对象的建立295.4.1建立数据表295.4.2 序列设计315.4.3 索引设计335.4.4视图设计345.5 PL/SQL编程设计365.5.1 游标管理365.6 命名块对象管理375.6.1 存储过程设计375.6.2函数设计385.6.3 触发器设计395.7 数据库服务器性能优化41第六章系统的实现426.1登录426.2 职工工资信息管理系统的功能436.2.1 系统的功能界面436.2.2 系统的部门管理界面436.2.3 系统的职工管理界面456.2.4 系统的职务管理界面476.2.5 系统的工资管理界面486.2.6 系统的考勤管理界面516.2.7系统的账户管理界面53
- 系统需求简介
- 总体需求简单介绍
需求分析阶段是数据库应用系统开发的最重要阶段。需求分析要求应用系统的开发人员按照系统的思想,根据收集的资料,对系统目标进行分析,对业务的信息需求、功能需求以及管理中存在的问题等进行分析,抽取本质的、整体的需求,为设计一个结构良好的数据库应用系统的逻辑模型奠定坚实的基础。
职工信息工资管理是公司管理的一项重要内容。随着公司员工数量增加,企业管理工作也变得越来越复杂。企业职工信息工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。最初的职工信息和工资统计都是用人工方式处理,工作量大的时候,出现错误的机率也随之升高,不仅花费大量的时间,而且往往由于抄写不慎,或者由于计算的疏忽,出现职工信息错误和工资统计错误的现象。对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。如果职工的信息和工资情况能够实现计算机系统的管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。本职工信息工资管理系统可以减轻比较繁琐的手工职工信息和工资管理。 - 用户总体业务构造
职工信息工资系统主要为了方便企业管理职工的信息以及工资情况,提高人事信息的管理水平,简化,规范各机构的日常操作,记录职工的考勤情况,推算出职工的工资,并可作出相应的调整。职工信息工资管理系统要具有如下的功能:
- 登录注册功能:使用数据库实现管理员的登录和添加
- 部门管理功能:使用数据库实现部门基本信息的录入和修改
- 职务管理功能:使用数据库实现职务基本信息的录入和修改
- 职工管理功能:向数据库中添加职工的基本信息,职工的所在部门和职务名称只能添加部门管理模块和职务管理模块中存在的部门和职务。同时可对职工的基本信息进行查询。
- 工资管理功能:实现职工工资的录入并判断输入的职工编号是否存在,修改职工的工资情况,查询指定员工的工资情况,并可从数据库中将职工的工资情况导出到本地文件以及上传到服务器上。
- 考勤管理功能:实现职工考勤信息的录入、考勤信息的修改和查询指定职工的考勤信息。将考勤信息向工资管理模块反馈,实现工资的智能推荐。
- 辅助管理模块:实现系统的退出和查看帮助
- 其他要求
如安全性,系统环境要求(根据现有的设备情况进行系统运行)等,这些不是本次作业的核心内容,所以就不再进一步叙述。很多中小型企业规模在逐步扩大,一个完善职工信息工资管理系统是十分有必要的,系统数据库设计的前提是公司需要这个系统,这个系统需要进行完善的数据库设计,这个系统能给该公司带来便捷的处理数据,系统数据库设计前提可行。 - 系统功能设想
这里的功能划分,是根据第一阶段需求调查基础上进行的初步划分。随着需求调查的深入,功能模块随着对需求了解的明确得到调整。
该系统设计了7大模块,分别是登录注册模块、部门管理模块、职务管理模块、职工管理模块、工资管理模块、考勤管理模块和辅助管理模块。根据各业务子系统所包括业务内容,还可以将各个子系统继续细化划分为更小的功能模块。划分的准则主要遵循模块的内聚性要求和模块间的低聚合性。如图所示表示一个职工信息工资管理系统功能模块结构图。
- 需求分析
本阶段的成果的内容形式主要包括数据流图(Data Flow Diagram)和数据字典(Data Dictionary)。数据流图和数据字典是描述用户需求的重要工具以及阶段成果表达形式。它作为需求分析的成果和用户交流的主要手段和依据,是后续数据库设计的前提。设计人员从数据流图中可以比较充分地了解软件的结构,所以也是软件设计的重要依据。
调查了解用户的需求后,需要进一步表达用户的需求,分析和表达用户需求的方法很多,目前最常用的还是结构化分析法。该方法是基于数据流的需求分析方法,它利用了图形的方式进行表达,容易学习和运用。
结构化分析法采用的是自顶向下、逐层分解的方式分析系统,即将系统的功能从宏观层面逐渐细化,达到最终的结构化分析方法主要使用以下几个工具:数据流图(Data Flow Diagram简称DFD)、数据字典(Data Dictionary简称DD)、判定表和判定树等。
数据流图描述了数据的来源和去向,以及所经过的处理;而数据字典是对数据流图中的数据流、数据存储和处理的明细描述。判定树和判定表用来描述据加工的逻辑构造。
不同的应用环境,对数据描述的细化程度会有所不同,常常应实际情况而定。下面就使用这两种工具来描述本例的用户需求,体现他们在实际中的应用方法。
2.1 数据流图
数据流图是通过系列符号及其组合来描述系统功能的输入、输出、处理或加工构造。
数据流图中使用的符号在各种书籍和资料上表达不尽相同,目前许多常用的一些流行的数据库辅助设计工具如Microsoft Visio、Sybase PowerDesigner、Oracle Designer、Rational Rose、Erwin等符号都不统一,我们这里以工具为例,针对Gane-Sarson模板中的符号作为参考:
注意:DFD表示数据被加工或处理的过程,箭头只是表示数据流动的方向,不能有分支、循环的情况。
数据流图命名规则之一:数据流图的中加工、处理过程一般采用动词及其短语;数据源点或终点、数据存储(数据文件或表单形式)、数据流(一项或多项数据)等一般为名词或名词短语。
数据流图命名规则之二:流图中的命令所使用的语言要基本上反映实际的情况,在整个DFD中必须要唯一,尽量避免含有像加工、处理、存储这样的元名称。
2.1.1 系统的全局数据流图
系统的全局数据流图,在具体的设计工具中往往也称为第0层或顶层数据流图,主要是从整体上描述系统的数据流,反映系统中数据的整体流向,是设计者针对用户和开发者表达出来的一个总体描述。
我们经过对职工信息工资管理业务的调查、数据的收集和信息流程分析处理,明确了该系统的主要功能,分别为:
我们经过对职工信息工资管理业务的调查、数据的收集和信息流程分析处理,明确了该系统的主要功能,分别为:公司管理员对部门信息、职务信息、职工信息、工资标准、考勤信息、职工的工资信息和用户信息进行进行维护管理。会计依据各个职务的工资标准和考勤管理生成工资清单,对职工工资进行发放处理。
图2.1 顶层数据流图
2.1.2 系统的局部数据流图
图2.2部门管理模块数据流图
图2.3职务管理模块数据流图
图2.4职工管理模块数据流图
图2.5标准工资管理模块数据流图
图2.6考勤管理模块数据流图
图2.7工资管理模块数据流图
图2.8用户管理模块数据流图
图2.9工资发放数据流图
2.2 数据字典
上面我们画的数据流图清楚的表达了数据也处理的关系,但是并没有清楚的描述各类数据的细节,我们这里通过数据字典来说明数据流图中出现的元素的详细定义和描述,包括数据流、加工处理、数据存储、数据的起点和终点或外部实体等。
数据字典包括的项目有:数据项、数据结构、数据流、数据存储、加工逻辑和外部实体。
因为整个系统的数据对象太多,所以这里我们列举订单管理模块中客户创建订单,管理员审核的处理功能中包含的几个对象加以描述。
2.2.1数据流
表2-1 职工信息工资管理模块数据流的描述
序号 | 数据流名 | 来源 | 流向 | 组成 | 说明 |
---|---|---|---|---|---|
1 | 管理员登录请求 | 需要登录的管理员 | 7 | 管理员登录名+管理员登录密码 | |
2 | 管理员部门信息管理请求 | 管理员 | 1 | 部门编号+部门名称+部门电话+部门经理 | |
3 | 管理员职务信息管理请求 | 管理员 | 2 | 职务编号+职务名称+所属部门 | |
4 | 管理员职工信息管理请求 | 管理员 | 3 | 职工编号+职工姓名+所在部门+职务名称+职工年龄+职工电话+职工性别 | |
5 | 管理员工资标准信息管理请求 | 管理员 | 4 | 职务编号+岗位工资+薪资等级+职务补贴 | |
6 | 管理员考勤信息管理请求 | 管理员 | 5 | 职工编号+出勤天数+加班次数+出勤奖金 | |
7 | 管理员工资信息管理请求 | 管理员 | 6 | 职工编号+职工姓名+推荐工资+实际工资 |
2.2.2 数据存储
表2-2职工信息工资管理模块数据存储的描述
序号 | 数据文件 | 文件组成 | 关键标识 | 组织 |
---|---|---|---|---|
1 | 部门信息 | 部门编号+部门名称+部门电话+部门经理 | 部门编号 | 按部门编号排序 |
2 | 职务信息 | 职务编号+职务名称+所属部门 | 职务编号 | 按职务编号排序 |
3 | 职工信息 | 职工编号+职工姓名+所在部门+职务名称+职工年龄+职工电话+职工性别 | 职工编号 | 按职工编号排序 |
4 | 工资标准信息 | 职务编号+岗位工资+薪资等级+职务补贴 | 职务编号 | 按职务编号排序 |
5 | 考勤信息 | 职工编号+出勤天数+加班次数+出勤奖金 | 职工编号 | 按职工编号排序 |
6 | 工资管理信息 | 职工编号+职工姓名+推荐工资+实际工资 | 职工编号 | 按职工编号排序 |
7 | 用户信息 | 用户名+手机号+密码 | 用户编号 | 按用户名排序 |
2.2.3 处理过程逻辑
表2-3职工工资信息管理模块数据处理过程逻辑的描述
序号 | 处理过程 | 编号 | 输入 | 输出 | 处理逻辑 |
---|---|---|---|---|---|
1 | 部门管理 | 1 | 部门信息 | 部门功能+无效部门信息 | 根据部门信息正确性 |
2 | 职务管理 | 2 | 职务信息 | 职务管理+无效职务信息 | 根据职务信息合理性 |