1、数据库工资管理系统课程设计实验报告数据库原理及应用课程设计工资管理系统学生姓名: +学生班级: +学生学号: +指导老师: +目录一、开发背景随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业, 员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来 处理员工的工资不但显得力不从心,而且极容易出错。如何设计一个小型企业 工资的,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查 询,统计等操作。这样就使办公人员可以轻松快捷地完成工资管理的任务。对于企、事业单位的工资发放来说,不需要太大型的。只需要一个操作方 便,功能实用,能同时满足财务部门、单位其他相关部门
2、及代发单位三方对数 据的管理及需求的系统。实现工资的集中管理。可供财务人员对本单位的人员以及工资进行增加、 删除、修改、查询,对工资发放中的应发工资合计等项目由系统自动进行计 算;同时系统还可对员工及工资管理情况进行多角度查询。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实 现工资管理的系统化、规范化、自动化。企业工资管理系统是典型的信息管理系统(MIS),后台数据库采用 SQLS erver2005 数据库。 SQLS erver2005 数据库具有与 VB6 无缝连接、操作简单、易于使用的优点。二、功能描述工资管理系统系是为了更好的实现工资各种信息的管理以及各种信息
3、的安 全性管理。本系统主要对查看员工的各种工资信息需求所设计的,可以很好的 管理数据。 本系统的主要功能由以下几个部分组成:经过调研及分析,工资管理信息系统主要完成以下功能:(1) 员工基本信息模块:员工的基本信息。(2) 工资信息模块:员工每个月度的基本工资、岗位工资、水电费、津贴工 资、扣除薪酬、实发金额。(3) 部门信息模块:公司各部门编号、名称、负责人、人数。(4) 考勤模块:记录员工迟到、缺席次数。(5) 津贴模块:记录员工加班情况派发津贴。(6) 员工信息管理模块:管理员对所需要的资料的查询即对员工基本信息的 增加、删除、修改、查询操作。(7) 员工工资管理模块:管理员对所需要的资
4、料的查询即对员工工资信息的 增加、删除、修改、查询操作。三、数据流分析数据流图用户员工信息工资信息考勤信息表员工信息添、考勤信息津贴信考勤信津贴信息表津贴信息部门信息添、删、部门信息表员工信息表图 工资管理系统简易数据流图数据字典数据项的描述1、数据项名:员工编号 别名: w_number 取值范围: 0000-9999 含义说明:每位员工的编号 类型: char 长度:42、数据项名:员工姓名 别名: w_name 取值范围: 1-4 含义说明:每位员工的姓名 类型: varchar 长度:83、数据项名:员工性别 别名: sex 取值范围:“男”或“女” 含义说明:每位员工的性别 类型:
5、char 长度:24、数据项名:基本工资 别名: basic_wage 取值范围:整数 含义说明:每位员工的基本工资 类型: int5、数据项名:出生年月别名: birthday含义说明:每位员工的出生日期类型: datetime数据结构描述1、名称:员工 (Employee)含义说明:员工信息组成结构:员工编号 +姓名+性别+出生年月 +所属部门 +文化程度 +职称2、名称:工资 (Salary)含义说明:工资信息组成结构:员工编号 +基本工资 +岗位工资 +水电费+津贴工资 +扣除工资+实 发工资数据流的描述1、数据流名称:员工信息添加 简述:新员工信息录入 数据流来源:公司管理者 数据流
6、去向:员工信息 数据流组成:员工编号 +姓名+性别+出生年月 +所属部门 +文化程度 +职称 主要数据存储的定义1、存储名称:员工记录存储 说明:记录着所有员工的所有基本信息 输入:员工基本信息 输出:员工所有信息 数据结构:员工编号 +姓名+性别+出生年月 +所属部门 +文化程度 +职称 处理过程的定义1、处理过程名:员工信息处理 说明:处理员工的基本信息 输入数据流:终端输出数据流:员工信息入库四、概念模型设计根据系统数据流图和数据字典,得出系统的概念模型( E-R)如图所示图工资信息 E-R 图图考勤信息 E-R 图图工资管理系统局部 E-R 图图工资管理系统总 E-R 图五、逻辑结构设
7、计和优化关系模型设计关系模式:员工信息(员工编号、姓名、性别、出生年月、所属部门、文化程度、职称)模式判定:员工信息 2NF,且每个非主属性都不传递函数依赖于员工信息的主关系键,所以员工信息 3NF关系模式:部门信息(部门编号、部门名称、部门负责人、部门人数)模式判定:部门信息 2NF,且每个非主属性都不传递函数依赖于部门信息的主关系键,所以部门信息 3NF关系模式:基本工资(工资级别、工资金额)模式判定:基本工资 2NF,且每个非主属性都不传递函数依赖于基本工资的主关系键,所以基本工资 3NF关系模式:岗位工资(工资级别、工资金额)模式判定:岗位工资 2NF,且每个非主属性都不传递函数依赖于
8、岗位工资的主关系键,所以岗位工资 3NF关系模式:工资信息(员工编号、基本工资、岗位工资、水电费、津贴工资、扣除工资、实发金额)模式判定:工资信息 2NF,且每个非主属性都不传递函数依赖于工资信息的主关系键,所以工资信息 3NF关系模式:考勤信息(员工编号、姓名、性别、迟到次数、缺勤次数)模式判定:考勤信息 2NF,且每个非主属性都不传递函数依赖于考勤信息的主关系键,所以考勤信息 3NF关系模式:津贴信息(员工编号、姓名、性别、加班时间、加班天数、加班类型、津贴情况)模式判定:津贴信息 2NF,且每个非主属性都不传递函数依赖于津贴信息的主关系键,所以津贴信息 3NF数据库表结构设计表员工信息表
9、员工编号char (4)主键,不允许重复姓名varchar (8)性别char (2)出生年月datetime所属部门varchar (20)外键文化程度varchar (20)职称char (12)表部门信息表部门编号char (4)主键, 不允许重复部门名称varchar (20)部门负责人varchar (20)部门人数int表基本工资表工资级别char (2)主键, 不允许重复工资金额int表岗位工资表工资级别char (2)主键, 不允许重复工资金额int表工资信息表员工编号char (4)主键, 不允许重复; 外键基本工资int岗位工资int水电费float津贴工资int加班工资扣
10、除薪酬int迟到、缺席扣薪实发金额int表考勤信息表员工编号char (4)主键不允许重复姓名varChar(8)性别Char(2)迟到次数int缺席次数int表津贴信息表员工编号char (4)主键不允许重复姓名varChar(8)性别Char(2)加班时间Varchar(10)加班天数float加班类型varChar(8)津贴情况int六、物理设计与实施数据库的物理设计数据库物理设计的主要任务是确定数据库物理结构,即确定数据库的存储 结构设计和存取方法。包括确定关系、索引、聚簇、日志、备份等的存储安排 和存储结构,确定系统配置等。存储结构设计为了提高系统的性能,根据应用情况将数据的易变部分
11、与稳定部分、经常 存取部分与不经常存取部分分开存放。由于现在的计算机都有多个磁盘,将表(如员工信息表)和索引放在不同 的磁盘上,在查询过程中,大大提高 I/O 读写的效率,而对于较大的分放在两 个磁盘上,可以加快存取速度,在多用户环境下的作用更有效;为了改进系统 的性能,将日志文件与数据库对象(表、索引等)放在了不同的盘上。同时, 考虑到本系统是多用户的,为了提高效率,数据库备份的数据和日志文件将保 存在磁盘中。在数据库中经常存取的部分包括: 员工(员工编号、姓名、性别、出生年月、所属部门 ) 部门(部门编号、部门名称、部门负责人、部门人数 ) 工资(员工编号、基本工资、岗位工资、水电费 )考
12、勤(员工编号、姓名、性别、迟到次数、缺勤次数)不经常存取部分包括:基本工资(工资级别、工资金额)岗位工资(工资级别、工资金额)在数据库设计初始阶段,为了对以后的数据库进行物理优化,提供了一些 系统配置变量、存储分配系数,并对这些变量赋予合理的缺省值。但这些值不一定适合每一种应用环境,在进行物理设计时,对这些变量重新赋值,以改善系统的性能。在选择硬件设备、服务器操作系统、数据库时应该考虑能够逐步 增加和扩展。在配置系统变量时,要注意同时使用数据库的用户数,同时打开的数据库 对象数,内存分配参数,缓冲区分配参数,时间片大小,数据库的大小,锁的 数目等。这些参数值都会影响数据库的存储时间和存储空间的
13、分配。 存储方法设计在本系统中,采用顺序查找,平均查找 n/2 次,建立 B+树索引,则平均 查找次数为 B+树的层数 log2 n+1 。所以选择 B+树作为索引,再设计过程中对 关系的码建立索引。数据库的实施数据库的建立create database gongzion( name =gongzi_data ,filename =d: ,size =10,maxsize =50,filegrowth =5)log on( name =gongzi_log ,filename =d: ,size =5,maxsize =25,filegrowth =5)表对象的建立(1)员工信息表 :crea
14、te table 员工信息( 员工编号 char ( 4) primary key ,姓名 varchar ( 8),性别 char ( 2),出生年月 datetime , 所属部门 varchar ( 20), 文化程度 varchar ( 20), 职称 char ( 12 )(2)部门信息表 : create table 部门信息 ( 部门编号 char ( 4) primary key 部门名称 varchar ( 20), 部门负责人 varchar ( 20), 部门人数 int )(3)基本工资表 :create table 基本工资( 工资级别 char ( 2) prima
15、ry key 工资金额 int )(4)岗位工资表 :create table 岗位工资( 工资级别 char ( 2) primary key 工资金额 int )(5)工资信息表 :create table 工资信息( 员工编号 char ( 4) primary key 基本工资 int , 岗位工资 int , 水电费 float , 津贴工资 int , 扣除薪酬 int , 实发金额 int ,)(6)考勤信息表 : create table 考勤信息 ( 员工编号 char ( 4) primary key姓名 varchar ( 8), 性别char ( 2), 迟到次数 in
16、t , 缺席次数 int)(7)津贴信息表 : create table 津贴信息 ( 员工编号 char ( 4) primary key姓名 varchar ( 8), 性别char ( 2), 加班时间 varchar ( 10),加班天数 float ,加班类型 varchar ( 8),津贴情况 int)索引为提高检索性能,为表创建符合索引,其索引项为员工编号、姓名。create unique index yg on 员工信息 ( 员工编号 , 姓名 )视图建立一个视图,反映员工姓名及工资情况。create view 员工 _ 工资asselect 员工信息 . 员工编号 , 姓名
17、, 实发金额from 员工信息 , 工资信息where 员工信息 . 员工编号 =工资信息 . 员工编号备份数据库的完全备份BACKUP DATABASE study TO DISK = 办公 .student数据库的差异备份BACKUP DATABASE study TO DISK = 办公 .student with differential数据库的日志备份BACKUP log study TO DISK = 办公 .student七、心得体会通过这一周的数据库设计 , 使我们从中受到很大的影响,不仅将大学所学 的知识进行了实际应用,还学到了很多书本上学不到的知识。开阔了视野,增 长了知识
18、,积累了一些经验和教训。充分锻炼了自己的动手和应用能力,真正 做到了理论联系实际。由于是第一次弄数据库程序设计,对于数据库的流程还不是很清楚,所以 很大一部分时间是在网上找资料,来完善这次数据库的需求分析。一开始对于 这个数据库系统的功能模块、数据流图和数据字典都不是很清楚该怎么样来书 写和绘图,不过经过进一步的学习终于懂得这些该怎么样写才是正确的,也增 强了我自学的积极性。因为一开始对这次数据库程序设计还很陌生,所以都是在摸索中前进,当然也会遇到很多问题。比如一个功能的实现遇到了困难就会 很焦急的面对这个问题。最后,我要感谢老师的关心、指导和教诲。再次向所有关心、帮助、理 解、支持我们做好数据库课程设计的老师和同学们致以深深的谢意,感谢你们 的帮助和关爱!八、参考文献1萨师煊,王珊数据库系统概论 (第三版)M 高等教育出版社 200022010王珊, 陈红数据库系统原理教程 M 清华大学出版社 19983钱雪忠, 李京数据库原理及应用(第三版) M 北京邮电大学出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1