工资管理系统数据库设计报告(数据库课程设计)
工资管理系统数据库课程设计报告

工资管理系统数据库课程设计报告姓名:* *班级:计科 0613学号:0902061307指导老师:刘嫔时间:2010年1月目录第一章概述1.1项目背景 (3)1.2编写目的 (3)1.3软件定义 (3)第二章需求分析2.1 数据库需求分析 (4)2.2 功能陈述 (4)2.3 数据流图 (4)2.4功能流程图 (6)2.5 E-R模型图 (7)第三章数据库逻辑设计3.1 表的定义 (10)第四章系统模块的具体实现 (12)第五章结束语5.1系统运行与测试 (25)5.2 心得体会 (25)参考文献 (26)第一章概述1.1项目背景随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。
工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。
1.2编写目的巩固课堂知识,加深对数据库系统的了解领会数据库理论与软件开发实践的关系培养良好的编程习惯,熟悉软件开发的基本流程1.3软件定义1.3.1软件名称工资管理系统1.3.2 系统的主要功能此工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。
数据库课程设计实验报告-工资管理系统

延安大学计算机学院实验报告专用纸实验室:软件工程实验室学号:实验日期:2013年11月日(1)。
需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等.在做这个管理系统时,我们既咨询了父母又结合了教师等不同行业人士的工资情况,发现该系统受些许因素牵制比如说:公司大小,人员流动性,员工学历等通过我们的了解调查最终总结出系统功能如下:a。
整体结构合理, 模块化结构利于操作。
b。
完整的数据输入,输出,维护.c。
拥有不错的自检性,用户输错或误输均有提示。
d. 拥有较强的容错性,某个用户的错误操作不会引起系统的瘫痪。
e. 程序接口灵活,以便日后操作与维护。
f. 在不影响系统功能的前提下,美化操作界面.(2)。
概念设计○1E-R图错误!数据流图(3).逻辑设计基本信息(员工编号号,姓名,性别,毕业学校,所学专业,学历,电话,住址,从事岗位).考勤信息表(员工编号,姓名,请假天数,矿工天数,月迟到次数,月份).加班信息表(员工编号,姓名,晚班加班(天),周末加班(天),春节加班(天),节假日加班(天),月份)。
岗位信息表(员工编号,姓名,从事岗位,基本工资,部门名称)。
部门信息表(部门编号,部门名称,部门经理,部门人数)根据基本表创建了如下视图:加班津贴(员工编号,姓名,加班薪酬,月份)缺勤扣除表(员工编号,姓名,扣除工资,月份)月工资表(员工编号,姓名,基本工资,扣除工资,加班薪酬,实得工资,月份)年终奖(员工编号,姓名,奖(4).数据字典视图的创建:(5)。
系统的实现开发环境:SQL server 2005及eclipse○,1用SQL语言创建数据库Array 1.基本信息表(JBXX)Create table JBXX(Empno int not null primarykey,Emname varchar(8) not null,Sex char(2)check(Sex=’ 男’or Sex=’女’),School varchar(20)null,Profession varchar(20) null,Education varchar(6) null,Phone char(11) null,Address varchar(15)null)3.加班信息表(OVERTIMEINFORMA TION)Create table OVERTIMEINFORMATION(Empno int not null ,Night int null,Weekend int null,Festival int null,Special int null,Themonth int not null,5。
高校工资管理系统数据库设计报告

工资管理系统数据库设计报告设计题目:工资管理系统学生姓名:系别:电气信息工程系专业:计算机科学与技术班级:学号:2010 年11月30 日目录目录 (2)一、引言 (3)二、需求分析 (4)三、系统功能分析 (5)四、E-R图……………………………………….错误!未定义书签。
五.数据流程图 (11)六.逻辑结构设计 (12)七.关系图 (18)一引言1.1编写目的1.掌握工资管理系统设计的一般方法,主要包括系统分析、系统设计的组织和实施。
2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试运行等工作。
3.培养把所学知识运用到具体对象,并能求出解决方案的能力。
1.2背景随着高等学校的快速发展,高校规模越来越大,教职工的数量也越来越多,高校工资管理更加的复杂,而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点。
因为此数据库是为工资管理系统服务以及提供数据的,所以此数据的名称定为“工资”以便记忆,而建立数据库的工具为sql server 2005,使用为VS 2008一.需求分析1.数据需求工资管理信息系统需要完成功能主要有:(1)员工基本信息的录入,修改,删除,包括员工编号,员工姓名,所属部门,性别,出生年月,身份证号,民族,政治面貌,文化程度,专业,职务,进入单位时间,基本工资,银行账号,电话号码,联系电话住址,说明(2)工资标准设定功能。
具体包括职务工资,职称工资以及其它工资标准的设定。
(3)工资信息浏览。
包括员工编号,员工姓名,实发工资(4)员工工资表创建。
工资管理系统数据库设计报告(数据库课程设计)模板.doc

工资管理系统数据库设计报告(数据库课程设计)模板数据库课程设计报告设计题目:工资管理系统学院:数学与计算机学院专业:计算机科学与技术(软件工程)班级:软件12 指导老师:李竹林组员:徐振国(02)张奇卫(03)小组成员及分工组员分工编写代码及测试运行概念设计物理结构设计需求分析需求分析需求分析需求分析目录1.引言41.1编写目的41.2项目背景41.3参考资料42.需求分析52.1功能的分析、52.2 顶层图52.3数据流程图52.4 数据字典分析63.数据库的概念设计74.数据库的逻辑设计85.数据库与数据表的设计——物理结构设计95.1数据库与数据表的设计95.2数据的完整性设计126.数据库操作与实施结果——数据库对象的设计136.1建数据库——工资管理库136.2 建表136.3创建视图166.4 触发器166.5 建立索引177.运行和维护187.1简单查询187.2复杂查询197.3数据库的用户与权限管理XXXX年月,基本工资,岗位工资,工龄工资,加班工资,缺勤扣款,其他应减款,其他应增款,应发工资,实发工资from 工资,员工where 员工.员工编号=工资.员工编号and 姓名like '张%';(3)每个部门的工资情况,按月统计select 部门名称,avg(实发工资) from 工资,员工where 员工.员工编号=工资.员工编号group by 部门名称;7.3数据库的用户与权限管理(1)数据库的用户管理GZGL库的用户dbo用户属性数据库登陆文件夹Sa登陆属性建立新用户:用户名U1,密码1234(登陆名login1)Create login login1 with password=’1234’;Use GZGL;Create user U1 for login1;(2)用户权限管理系统权限管理对象权限管理,设置权限将员工表的录入、查询授予给U1用户GRANT SELECT,INSERT ON TABLE 员工TO U1;7.4数据库的备份对GZGL库进行备份单击备份右键进行备份7.5数据的导出与导入1)数据的导出8 总结经过这段时间的努力,我们组在老师的帮助下,基本完成本次的课程设计,基本达到了工资管理系统的要求。
工资管理系统的数据库课程设计

课程设计报告书年 月1 设计时间2 设计目的掌握数据库的设计3设计任务设计一个工资管理系统4 设计内容〔1〕目标:1)实现月工资计算;2)实现与工资管理有关的档案管理。
3)提高工资管理工作效率,降低出错率。
〔2〕功能要求:档案管理1)保存有关工资计算以及工资管理所必须的数据2)能对数据进行查询、统计工资计算1)正确计算出个人月工资、部门月工资以及全厂月工资。
2)能对病假扣款系数进行修正。
3)能统计工资计算表、个人工资单、部门工资单、工资汇总表四种表格。
需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比方拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比方工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
由于设计时间本设计事一个简单模型,该公司目前对工资管理的要求并不高。
因此,针对该公司而言,我们经过了反复地论证,最终确定了工资管理系统的设计方案。
该工资管理系统的主要功能如下图:图4-1概念结构设计图4-2职工技术职称性别 出生日期参加工作日期所属部门人员类别工种类别 技术等级职工号文化程度 现住址籍贯民族工资管理系统职工基本信息 工资结构设置 工资汇总资料输入职工增删职工查询基础工资岗位工资工龄工资岗位工资工龄工资图4-3图4-4工资表岗位津贴住房补贴职务津贴物价补贴房租缺勤扣除工资加班费出勤表职工出勤日数工伤日数 产假日数旷工日数病假日数事假日数 加班日数夜班日数 病假系数图4-5 总ER 图逻辑结构设计职工表〔职工号 技术等级 性别 出生日期 参加工作日期 所属部门 人员类别 工种职别技术职称 文化程度 民族 籍贯 现住址 〕工资表〔技术等级 职工的基本工资 岗位津贴 物价补贴 职位津贴 住房补贴 房租〕出勤表〔职工号 职工出勤 工伤日数 产假日期 病假日期 旷工日期 事假日期 加班日期 夜班日期 病假日期〕物理结构设计职工表4-1字段名称 类型 是否为空 主关键字 取值范围 备注 职工号 char 否 Y 主键 char 否 N 性别 char 否 N 出生日期datetime否N职工出勤表工资表职工号 性别 民族职工号 技术等级物价补贴 岗位津贴物价补贴住房补贴 技术等级加班费 旷工日数加班日数职工代号工伤日数产假日数事假日数病假日数影响影响参加工作datetime 否 N日期所属部门 char 否 N人员类别 char 否 N工种职别 char 否 N技术等级 char 否 N技术职称 char 否 N文化程度 char 否 N民族 char 否 N籍贯 char 否 N现住址 char 否 N工资表4-2字段名称 类型 是否为空 主键字 取值范围 备注 技术等级 char 否 Y 主键 岗位津贴 int 否 N物价补贴 int 否 N职务津贴 int 否 N住房补贴 int 否 N房租 int 否 Nint 否 N缺勤扣除工资加班费 int 否 N出勤表4-3字段名称 类型 是否为空 主键字 取值范围 备注 职工号 char 否 Y 主键 int 否 N职工的出勤日数工伤日数 int 否 N产假日数 int 否 N病假日数 int 否 N旷工日数 int 否 N事假日数 int 否 N加班日数 int 否 N夜班日数 int 否 N病假系数 int 否 N数据库实现职工号 char(10) primary key,create table ZG(char(10) not null,性别 char(10) not null,出生日期 datetime not null,参加工作日期 datetime not null ,所属部门 char (20) not null,人员类别 char(10) not null,工种职别 char (10) not null,技术等级 char (10) not null,技术职称 char (10) not null,文化程度 char (10) not null,民族 char (10) not null,籍贯 char (10) not null,现住址 char (10) ) not null;技术等级 char(10) primary key not null, create table GZ(职工的基本工资 int not null ,岗位津贴 int not null ,物价补贴 int not null ,职务津贴 int not null,住房补贴 int not null,房租 int not null );职工号 char(10) primary key,create table CQ(职工的出勤日数 int ,公伤日数 int not null,产假日数 int not null ,病假日数 int not null,旷工日数 int not null,事假日数 int not null,加班日数 int not null ,夜班日数 int not null ,病假系数 int not null);数据载入职工表的数据图4-6工资表的数据图4-7出勤表的数据图4-8运行与测试设计系统查询功能及要求,写出主要的查询SQL语句,并给出运行结果。
数据库课程设计 工资管理系统

课程设计要求:1.对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)一、需求分析企业的工资管理是公司管理的一个重要内容。
随着科学技术的发展,一些公司的规模也越来越大,职工的数量也在不断的增加,企业的管理工作也变得越来越复杂。
工资管理既涉及到企业劳动人事的管理,同时也是企业财务的重要组成部分。
面对如此大的信息量,单凭传统的表格、手工操作已不能满足实际的需要。
因此,我设计工资管理系统来提高财务管理方面的效率。
通过这个系统可以使信息的管理更加规范,统计更科学。
模块功能分析:(1)部门模块:用来管理部门;(2)工资模块:用来管理员工的工资;(3)职工模块:用来管理工厂的职工信息;二、概念结构设计经分析,本系统的e-r图如下:三、逻辑结构设计 1. 工资管理基本信息表①department(部门)列名数据类型长度是否允许空 备注department_n o(部门号)char 8否主关键字职工属于部门职工姓名型性别学历职工号部门编号部门名称部门名称部门经理部门人数部门编号获得工资应发薪水事故扣薪实发薪水加班天数 加班时间职工号月薪津贴出勤天数加班费department_name(部门名)char 15 否depart_manage(部门经理)char 6 否depart_people(部门人数)int 6 否②staff(职工)列名数据类型长度是否允许空备注staff_no (职工号)char 10 否主关键字staff_name(职工姓名)char 20 否staff_sex (职工姓别)char 25 否默认”男”Enducational(学历)char 10 否dapartment_no(部门号)char 8 否department_name(部门名称)char 15 否③salary(工资)列名数据类型长度是否允许空备注staff_no(职工工号)char 10 否外键m_salary(月薪)int 6 否默认3000Allowance(津贴)int 10 是默认0out_days (出勤天数)int 2 否out_days<=31 andout_days>=0work_overti m(加班时间)datetime10 是w_overtime_ days(加班天数)int 2 否默认0w_overtime_days>=0 andw_overtime_days<=31Deduct(事故扣薪)int 4 否默认0issue_salary(应发薪水)int 4 否iss_salary(实发薪水)Int 4 否①建库create database salary_manageon(name=salary_manage_data,filename='d:\salary_manage_data.mdf',size=25,maxsize=35,filegrowth=5)log on(name=manage_log,filename='d:\salary_manage_data.ldf',size=25,maxsize=35,filegrowth=5)②建表/建立职工表/create table staff(staff_no char(10) primary key,/*职工工号*/staff_name char(20) not null,/*职工姓名*/staff_sex char(25) not null default '男'check( staff_sex in('男','女')),/*性别*/ enducational char(10) default '本科',/*学历*/dapartment_no char(8) not null,/*部门编号*/department_name char(15))/*部门名称*//*建立工资表*/create table salary(staff_no char(10) not null foreign key references staff(staff_no),/*职工工号*/m_salary int default 3000,/*月薪*/allowance int default 0,/*津贴*/out_days int not null check(out_days<=31 and out_days>=0),/*出勤天数*/ work_overtime datetime(10),/*加班时间*/w_overtime_days int default 0 check(w_overtime_days>=0 and w_overtime_days<=31),/*加班天数*/deduct int default 0,/*事故扣薪*/add_money int default 0,/*加班费*/issue_salary int(4) not null,/*应发薪水*/iss_salary int(4) not null)/*实发薪水*//*建立部门表*/create table department(department_no char(8) primary key,/*部门编号*/department_name char(15) not null,/*部门名称*/depart_manage char(6) not null,/*部门经理*/depart_people int(6)/*部门人数*/③添加记录insert into departmentvalues('071011','A部门','王经理',100);insert into departmentvalues('071012','B部门','李经理',200);insert into departmentvalues('071013','C部门','张经理',100);insert into staffvalues('0610','李明','男','本科','071011','A部门');insert into staffvalues('0613','张三','男','专科','071011','A部门');insert into staffvalues('0611','刘丽','女','本科','071012','B部门');insert into staffvalues('0612','张新','男','本科','071013','C部门');insert into salaryvalues('0610',3000,100,30,'2011-10-8',2,50,0,3000,3200); insert into salaryvalues('0611',3000,0,20,'',0,0,500,3000,2500);insert into salaryvalues('0612',3000,100,31,'2011-10-10',1,50,0,3000,3150);四、功能处理1、查询①表查询select * from department /*查询部门表*/select * from staff /*查询职工表*/select * from salary /*查询工资表*/②数据查询select salary.staff_no,staff_name,issue_salary,iss_salaryfrom salary,staffwhere iss_salary>3000 and salary.staff_no=staff.staff_noorder by salary.staff_noselect staff_no,staff_name from staffwhere staff_name like '刘%';2、数据更新①插入(前面已插入)②修改update salaryset iss_salary =1.2*iss_salarywhere iss_salary<2600;③删除delete from staffwhere enducational='专科';3.索引①建立索引create index jon salary(staff_no,issue_salary,iss_salary)create unique index index_staffon staff(staff_name)create unique index index_departon department(depart_people)②查询索引exec sp_helpindex salaryexec sp_helpindex staffexec sp_helpindex department③修改索引exec sp_rename 'salary.j','salary_index'④删除索引drop index index4.视图①创建视图create view table_salary(staff_no ,staff_name,issue_salary,iss_salary)as select salary.staff_no,staff_name,issue_salary,iss_salaryfrom salary,staffwhere salary.staff_no=staff.staff_no②查找视图select * from table_salary③/*修改视图*/Alter view table_salary(staff_no ,staff_name ,department_name,issue_salary,iss_salary)as selectsalary.staff_no,staff_name,department_name,issue_salary,iss_salaryfrom salary,staffwhere salary.staff_no=staff.staff_no;④删除视图drop view table_salary5.存储过程①创建存储过程。
数据库工资管理系统课程设计报告

数据库原理及应用课程设计《工资管理系统》学生姓名:++++++学生班级:++++++++学生学号:++++++++指导老师:+++++++目录一、开发背景 (3)二、系统功能 (3)三、需求分析 (5)1、数据流图 (5)2、数据字典 (6)1.数据流的描述 (6)2、处理逻辑的描述 (7)3. 数据存储的描述 (8)四.概念结构设计 (9)(1)员工信息属性图 (9)(2)工资种类属性图 (10)(3)津贴属性图 (10)(5)局部E-R图 (11)(6)局部E-R图 (12)(7)总的E-R图 (13)五、逻辑结构设计 ..................................................................... 错误!未定义书签。
1数据库关系模式 .. (14)2规范化处理 (14)3逻辑模型 (14)1.员工信息表 (14)2.工资种类表 (15)3.津贴表 (15)4.加班表 (15)六、物理结构设计 ..................................................................... 错误!未定义书签。
七、数据库实施及应用程序编制 (16)1.创建数据库 (17)2.创建表 (17)3.创建存储过程....................................................................... 错误!未定义书签。
八、课程设计心得体会 (19)一、开发背景现代企业管理非常复杂,并且管理的范围也很广泛。
不仅要管理职工的工资发放,还要管理财务预算结算,银行之间的转账等。
手工管理这些信息几乎不再可能,并且效率低,保密性差。
用计算机管理的优点是查询速度快,保密性好一集成本低。
因此开发专用的工资管理系统,让计算机自动管理工资势在必行。
随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。
工资管理系统数据库课程设计报告

数据库课程设计报告姓名:* *班级:计科0613 学号:0902061307 指导老师:刘嫔时间:2010年1 月目录第一章概述1.1项目背景 (3)1.2编写目的 (3)1.3软件定义 (3)第二章需求分析2.1数据库需求分析 (4)2.2功能陈述 (4)2.3数据流图 (4)2.4功能流程图 (6)2.5E-R 模型图 (7)第三章数据库逻辑设计3.1表的定义 (10)第四章系统模块的具体实现 (12)第五章结束语5.1系统运行与测试 (25)5.2心得体会 (25)参考文献 (26)第一章概述1.1项目背景随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。
建设一个科学高效的信息管理系统是解决这一问题的必由之路。
企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。
工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。
1.2编写目的巩固课堂知识,加深对数据库系统的了解领会数据库理论与软件开发实践的关系培养良好的编程习惯,熟悉软件开发的基本流程1.3软件定义1.3.1软件名称工资管理系统1.3.2系统的主要功能此工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程设计报告工资管理系统数据库设计报告设计题目:工资管理系统学院:信息技术学院专业:信息管理与信息系统小组成员及分工目录1.引言 (4)1.1编写目的 (4)1.2项目背景 (4)1.3参考资料 (4)2.需求分析 (5)2.1功能的分析、 (5)2.2顶层图 (5)2.4数据字典分析 (6)3.数据库的概念设计 (7)4.数据库的逻辑设计 (8)5.数据库与数据表的设计——物理结构设计 (9)5.1数据库与数据表的设计 (9)5.2数据的完整性设计 (12)6.数据库操作与实施结果——数据库对象的设计 (13)6.1建数据库——工资管理库 (13)6.2建表 (13)6.3创建视图 (16)6.4触发器 (16)6.5建立索引 (18)7.运行和维护 (18)7.1简单查询 (18)7.2复杂查询 (19)7.3数据库的用户与权限管理 (20)7.4数据库的备份 (22)7.5数据的导出与导入 (23)8 总结 (24)工资管理系统分析和设计1.引言1.1编写目的随着科学的进步,一些公司不断发展壮大急需一套完整的工资管理系统帮助企业的财务主管部门提高工作效率,实现企业工资管理的系统化、规范化和自动化。
本系统实现对人员信息、薪资福利、员工社保信息的维护和查询,并能迅速准确地完成考勤的分类汇总,生成工资报表等。
能够使单位实现工资管理的自动化,无疑将给企业管理部门带来很大的方便。
真正实现企业高效、科学、现代化的员工管理。
有利于财务部门对员工工资的管理,减轻人事部们的任务,提高公司效率,节约人力资源从而降低了企业成本。
1.2项目背景a.我们对数据库技术有了初步的了解和具体的应用;因此,做此分析,由各小组成员合作做出一个项目。
让我们对学到的知识系统的结合在一起;考察学生学以致用的能力。
b.由此考察学生的动手能力和合作的精神;以打分的形式作为一次考察记录。
1.3参考资料a.老师发放的软件工程文档模板。
b.网络下载有关的资料说明和一些部门的工资管理系统范例。
2.需求分析2.1功能的分析、工资管理系统主要完成的功能有:(1) 人员信息管理:企业员工信息(包括员工基本信息、教育经历、个人简历、岗位变更、离职登记、离退休信息等)的维护和查询。
(2) 考勤管理:管理员工的出勤情况(包括加班、请假、休假等),并提供查询和分类统计功能。
(3) 薪资福利管理:管理员工的薪资和福利(包括当月工资、个人所得税、发放工资历史、员工奖励、员工惩罚等)。
(4) 社会保障管理:管理员工的社保信息(包括单位参保信息、养老保险、医疗保险、住房公积金等),生成社会保险台帐。
(5) 系统管理:包括代码管理、参数设置、权限设置、更改密码等。
2.2 顶层图2.3数据流程图工资管理系统员工系统管理员工资查询注册登记信息维护打印报表2.4 数据字典分析数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数数据分析所获得的主要成果。
始的各项数据,以实现数据录入、查询或统计员工信息等功能。
员工是本系统的一个实体。
奖惩是以员工受到的奖励和惩罚所决定的,需建立一个表来记录各种奖励和惩罚。
它主要是为各种查询提供数据。
社保信息是为提供基本的查询功能而设定的一个实体,岗位变更是为记录员工在本部门或不同部门的职位变化,并提供查询的功能。
员工简历是为了提供员工在过去的情况而设定的一个实体。
据此可以绘出工资管理系统数据库的E-R图如下:4.数据库的逻辑设计将数据库的概念模型转变为关系模型:实体转变为关系模式的有:因为部门和员工1:N的关系,且员工和其他的实体也是1:N的关系,所以个关系模式为:部门(部门名称,部门人数,部门负责人)员工(员工编号,姓名,性别,年龄,学历,政治面貌,毕业学校,所学专业,出生日期,部门名称,退休信息,)工资(工资ID,员工编号,基本工资,岗位工资,工龄工资,加班工资,个人所得税,缺勤扣款,其他应扣款,其他应加款,应发工资,实发工资,工资年月)考勤(考勤ID,员工编号,加班,请假,休假,日期,出勤天数)岗位变更(ID,员工编号,初始岗位,现在岗位,变更日期)离职信息(ID,员工编号,离职时间,离职原因,批准人)简历(ID,员工编号,,获奖情况,社会实践)奖惩(奖惩ID,员工编号,奖罚日期,奖罚原因,解除日期)工资历史(ID,员工编号,发放金额,发放日期)社保信息(ID,员工编号,养老保险,医疗保险,住房公积金,参保信息)用户信息(员工编号,密码,权限)带下划线的属性为个关系模式的外码,字体为粗体的属性为各关系模式的主码。
5.数据库与数据表的设计——物理结构设计5.1数据库与数据表的设计员工信息数据表的定义其中“员工编号”是表的主键,唯一标识。
“部门名称”是外键。
“员工编号”将记录员工的编号,在员工信息表中增加这一列时,虽然增加了数据冗余,但可以再查询每个员工信息是,提高系统的性能。
因为员工信息表的记录数相对固定,相比之下,增加这个冗余的列对于整个系统来说是有利的。
通过它,系统将引用到工资信息。
此表取名为“员工”。
岗位变更数据表的定义:简历表:此表取名为简历。
离职信息此表取名为离职信息。
奖惩表:员工工资基本表发放工资历史考勤表社保信息用户信息表部门5.2数据的完整性设计(1)给每个表实施主键约束。
主键约束、非空约束员工:员工编号为主键,所以此项非空部门:部门编号为主键,所以此项非空其余的正如上面的设计(2)实施CHECK约束●员工表中建立一个检查约束,即员工性别不是男的就是女的CHECK(性别IN(‘男’,‘女’))●考勤表中建立一个对于出勤天数天数的检查约束,即出勤天数在0-20之间CHECK(出勤天数>=0 and 出勤天数<=20)(3) 外键约束FK_员工_部门FOREIGN KEY (部门名称) REFERENCES 部门(部门名称)FK_工资_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_岗位变更_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_简历_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_离职_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_奖惩_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_工资历史_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_考勤_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)FK_社保_员工FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)(4)惟一约束每一个表的主键都需要定义为惟一性:对于工资历史表员工编号也要惟一约束。
(5)强制约束对INSERT和UPDA TE操作强制约束,表明以后对员工表中的部门名称的添加和更新操作都会检查部门表中是否存在与此相应的内容。
6.数据库操作与实施结果——数据库对象的设计6.1建数据库——工资管理库Create database GZGL;6.2 建表Create table 员工(员工编号varchar(10) not null primary key,姓名char(8)not null,性别char(2) not null check(性别in (‘男’,’女’)),年龄int not null,学历varchar(10) not null,部门名称varchar(15) not null,毕业院校varchar(30) not null,政治面貌varchar(8) not null,所学专业varchar(40) not null,出生日期varchar(15) not null,退休信息varchar(4) not null,FOREIGN KEY (部门名称) REFERENCES 部门(部门名称) );Create table 简历(ID int primary key identity,员工编号varchar(10)not null,获奖情况varchar(50),社会实践情况varchar(100),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) );Create table 离职(ID int primary key identity,员工编号varchar(10)not null ,离职原因varchar(40),离职时间varchar(20),批准人varchar(8),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) );Create table 岗位变更( ID int primary key identity,员工编号varchar(10) not null ,初始岗位varchar(20),变更日期varchar(20),现在岗位varchar(20),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号) );CREATE TABLE 工资(工资ID int primary key identity,员工编号varchar(10)not null,基本工资decimal not null,个人所得税decimal not null,缺勤扣款decimal,加班工资decimal ,工龄工资decimal not null,其他应减款decimal,其他应增款decimal,岗位工资decimal not null,应发工资decimal,实发工资decimal,工资年月varchar (15),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号)CREATE TABLE 奖惩(奖惩ID int primary key identity,员工编号varchar (10)not null,奖惩日期varchar(15),奖惩原因varchar (15),解除日期varchar(15)FOREIGN KEY(员工编号)REFERENCES 员工(员工编号));CREATE TABLE 工资历史( ID int primary key identity ,员工编号varchar(10),发放金额decimal,发放日期varchar(20),FOREIGN KEY(员工编号)REFERENCES 员工(员工编号));Create table 考勤(考勤ID int primary key identity ,员工编号varchar(10) not null ,加班int,休假int,请假int,日期varchar(15),出勤天数20-请假-休假int CHECK(出勤天数>=0 and 出勤天数<=20), FOREIGN KEY(员工编号)REFERENCES 员工(员工编号));Create table 社保(ID int primary key identity,员工编号varchar(10)not null,参保信息varchar(20) ,医疗保险decimal,住房公积金decimal,养老保险decimal,FOREIGN KEY(员工编号)REFERENCES 员工(员工编号));Create table 部门(部门名称varchar(15) primary key,部门人数int,部门负责人varchar(15));Create table 用户信息(员工编号varchar(10) primary key,密码varchar(9) not null,权限int notnull);6.3创建视图查询员工工资情况建立一个视图,反映员工姓名及工资情况。