




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库类课程设计系统开发报告学号:111007133姓名:邢小迪题目:企业员工薪资管理指导教师:王红梅提交时间:2013年 6月 01日计算机科学与应用系目录一 绪论二 员工薪资管理系统概述· ······························1 现状分析··
2、······································1系统目标···········&
3、#183;····························2系统特点····················
4、183;···················3三 员工薪资管理系统数据库设计·························3需求分析··
5、;·····································3数据库物理结构分析···········&
6、#183;················4数据库概念结构设计····························6数据库逻辑结构设计·
7、3;··························9四 员工薪资管理系统数据库功能模块的创建···········12五 总结 ········
8、·····································21体会············
9、183;····························21参考文献····················
10、183;················22一绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。 提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于 SQL server 数据库技术建立一个通用工资管理系统, 该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、 报表统计等。 基
11、本上能满足管理员和公司的要求。此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。二 员工薪资管理系统概述1、现状分析随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。随着我国国民经济建设1的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段
12、,不断改善服务质量,提高工作效率, 这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、 企业管理水平以及优质服务上都提出更高的要求。 建设一个科学高效的信息管理系统是解决这一问题的必由之路。 企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。 工资管理作为企业内部的一种财务管理也是如此, 由于企业职工人数较多, 每一位职工的具体实际情况也不尽相同, 各项工资条款的发放, 如果没有一个完整的管理系统对企业和员工的工作都带来许多的不便。基于以上原因,企业工资管理系统使用电脑安全保存、 快速计算、全面统计,实现工资管理的系统化、规范化、自动化。2、系
13、统目标员工薪资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:(1) 对单位人员的变动进行处理。 一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。(2) 对职工的工资进行计算、 修改。可以对职工的工资档案进2行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资及实发金额等。(3) 查询统计功能。 要求即
14、可以单项查询, 比如查看某个职工的工资情况等; 也可以多项查询, 比如某个部门所有的员工的工资信息。( 4)对用户管理功能。 一个系统的应用有管理员和普通用户,他们对系统的权限受到限制。3、系统特点(1) 本系统使工资管理基本实现了信息化,系统设计的各种查询要求代替了原来了人工查询, 即节省了人力, 又减轻了员工的工作量,最重要的是由计算机操作,可以提高数据的准确性,避免人为的错误,方便管理。(2) 本系统设置了系统数据备份功能,定期的系统备份可以在数据库受到意外的或有意的破坏的情况下, 系统得以恢复, 减少损失。(3) 本系统的界面设计简洁明了,采用了流行的菜单设计,对于不是计算机专业的管理
15、人员, 只需阅读操作说明书, 就能方便的使用本系统。三 员工薪资管理系统数据库设计1、需求分析本系统定位于中小型单位,暂时考虑单机环境下的实现;3本系统采用会员式管理, 每个属于该单位的职工都有一个属于自己的用户名和密码, 通过该用户名和密码就可以登陆系统执行基于自己权限范围内的操作, 系统功能应包括员工基本信息的输入输出与修改、 各部门的基本信息输入修改、 员工工资的基本情况、总工资的计算、统计分析。员工可以通过此系统查询自己本月的基本工资, 福利,奖金以及出去失业保险可住房公积金后的工资。该工资管理系统主要是由基本资料、工资登记、工资查询、系统管理几个部分组成的,主要用于单位工资发放管理。
16、( 1)基本资料包括员工基本资料和部门的基本资料:员工基本资料: 可以输入该员工的编号、 姓名、性别、出生日期、位于哪个部门、所处的职业。部门基本资料:可以输入部门的编号、名称。( 2)工资登记包括工资登记和清数据:可以录入员工本月的基本工资、奖金福利、失业保险和住房公积金,可以清除以前的数据。( 3)工资查询包括员工工资汇总查询。( 4)分类查询包括按部门查询和按日期查询。2、数据库物理结构分析2.1设计策略由于该系统主要用于员工的工资管理,其中工资的录入、 计4算、扣除与查询,人员的增删减是主要功能,所以应用程序主要就是实现这几个功能。2.2系统总体结构图员工工资管理系统员部系员员工门统工
17、工信信管工总息息理资工录录查资入入询计算员工子部工系门资统信统息计修改登个工录人资验资查证料询2.3 系统详细设计说明5员工基本信息表 员工 的创建;部门基本信息表 科室 的创建;员工工资基本信息表 工资 的创建3、数据库概念结构设计数据库概念设计是整个数据库设计的关键。 根据用户需求设计数据库的概念, 数据模型。 我们首先要将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构, 这种信息结构不是 DBMS支持的数据模型,而是概念级模型。然后再把概念模型转换为具体机器上 DBMS支持的数据模型。概念模型是对现实世界的抽象和概括。它真实,充分地反映了现实世界中的事物和事物之间的联系, 能
18、满足用户对数据的处理要求。由于其简洁、明晰、独立于机器,很容易理解,因此可以用概念模型和不熟悉计算机的用户交换意见, 使用户能积极参与数据库的设计工作。 概念模型易于变动, 还很容易向各种数据模型转换。概念模型的基本概念涉及的主要有7 个,分别为实体、属性、码、域、实体型、实体集、联系。ER图是概念模型最常用的表示方法,在ER图中:1)用长方形表示实体型,在框内写上实体名。2)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连,在无向边旁标上联系的类型。若实6体间的联系也具有属性,则把属性和菱形也用无向边连上。员工实体关系图(图1)姓 名性 别员工号员工职 业年龄所属
19、部门部门实体关系图(图2)部门编号部 门名 称7工资实体关系图(图3)日期基本工资福利补贴奖励工资工资失业保险住房公积金部门员工实体关系图(图4)部 门部门员工员 工员工工资实体关系图(图5)员工员工工资工资4、数据库逻辑结构设计84.1根据上述概念模型设计得出的E R图,我们可以得出系统中涉及的主要实体有3 个,其结构如下:1 、员工(员工工号,姓名、性别、出生日期、部门代码和职业)2 、部门(部门代码,部门名称)3 、工资(员工工号,姓名,日期,基本工资,奖励工资,福利补贴,住房公积金,失业保险)4.2实体间的联系工资管理系统中实体之间有6 个联系,其关系如下:1 、具有 1 关系:员工和
20、奖金的关系是1: N, N 个职位相同的员工具有相同的奖金基数。2 、工薪关系:员工和工资单的关系是1:N,每个员工每个月都有一张工资单。3 、属于关系:员工和部门的关系是N:1,一个部门可以有多个员工。4 、聘用关系:员工和职业的关系是N:1,一个职务可以聘用多个员工。5 、设置关系:部门和职业的关系是M:N,一个部门可以设置多个职务,相同的职务也可以设置在多个部门。根据以上逻辑结构分析我们可以知道: 一个部门有多个员工,每个员工都有工资,工资又由基本工资等组成,其关系模式为:9员工编号姓名性别出生部门代码职业(主键)日期( 外键)部门号(主键)部门名称员工工姓名基福利奖励工失业保住房公积日
21、期号(主本补贴资险金键)工资表、视图汇总视图/ 表名类型说明员工基本表集中保存员工的基本信息科室基本表集中存放单位各部门的信息工资基本表存放员工工资的基本信息4.3完整性约束:基本表 员工10基本表 科室基本表 工资11四 员工薪资管理系统数据库功能模块的创建1 建立员工表,工资表,科室表-USE ygxz-GO-CREATE TABLE科室-(部门代码 k char (10) PRIMARy KEY,- 部门名称 char (30) NOT NULL) -GO-CREATE TABLE员工-(员工工号 ychar (10)PRIMARy KEY,- 姓名 y char(10) not nul
22、l,- 性别 char(2) constraint Y3 check ( 性别 in (' 男 ','女 '),- 出生日期 datetime,- 部门代码 y char (10)foreign key ( 部门代码 y) references科室 (部门代码 k),- 职业 char (20) -GO-CREATE TABLE工资-(- 员工工号 g char (10)primary key ,-constraint Y1 check ( 员工工号 g between '1110000' and '1111111'), -for
23、eign key( 员工工号 g) references 员工 (员工工号 y),- 姓名 g char(10),12- 基本工资 money,- 福利补贴 money,- 奖励工资 money,- 失业保险 money,- 住房公积金 money,- 日期 datetime ,- constraint c1 check ( 基本工资 +福利补贴 +奖励工资 - 失业保险 -住房公积金 <=3000)-GO2 录入员工表,工资表,科室表的数据然后查询表USE ygxzGOINSERT 科室VALUES ('0001','经理室 ')INSERT 科室VAL
24、UES ('0002','财务科 ')INSERT 科室VALUES ('0003','技术科 ')INSERT 科室VALUES ('0004','销售科 ')GOSELECT *FROM科室13USE ygxzGOINSERT员工VALUES ('1110001','张毅 ','男 ','1991-01-01' ,'0003','工程师 ')GOINSERT员工VALUES ('1110002
25、','张尔 ','男 ','1991-02-01' ,'0003','工程师 ')INSERT员工VALUES ('1110003','张三 ','男 ','1991-02-02' ,'0003','助理工程师 ')INSERT员工VALUES ('1110004','李四 ','女 ','1991-04-02' ,'0003',
26、39;助理工程师 ')NSERT员工VALUES ('1110005','李梦 ','女 ','1992-04-02' ,'0003','助理工程师 ')INSERT员工VALUES ('1110006','李飞 ','女 ','1991-04-02' ,'0002','会计 ')NSERT员工VALUES ('1110007','王梦 ','女 '
27、,'1992-04-02' ,'0002','助理会计 ')NSERT员工VALUES ('1110008','邢梦 ','女 ','1992-04-02' ,'0002','助理会计 ')INSERT员工VALUES ('1110009','武阳 ','男 ','1992-05-02' ,'0002','助理会计 ')INSERT员工VALUES (
28、9;1110010','无双 ','男 ','1993-05-02' ,'0001','副经理 ')INSERT员工VALUES ('1110011','霸气 ','男 ','1992-05-02','0001','秘书 ')SELECT *FROM员工14USE ygxzGOINSERT工资VALUES ('1110001','张毅 ','2000','2
29、00','300','100','240','2013-05-15')INSERT工资VALUES ('1110002','张尔 ','2000','200','300','100','240','2013-05-15')INSERT工资VALUES ('1110003','张三 ','1800','200','200'
30、;,'100','240','2013-05-15')INSERT工资VALUES ('1110004','李四 ','1800','200','200','100','240','2013-05-15')INSERT工资VALUES ('1110005','李梦 ','1800','200','200','100','
31、;240','2013-05-15')INSERT工资VALUES ('1110006','李飞 ','2500','200','400','100','240','2013-05-15')INSERT工资VALUES ('1110007','王梦 ','2100','200','400','100','240','2013-
32、05-15')INSERT工资VALUES ('1110008','邢梦 ','2100','200','400','100','240','2013-05-15')INSERT工资VALUES ('1110009','武阳 ','2100','200','400','100','240','2013-05-15')INSERT工资V
33、ALUES ('1110010','无双 ','2700','100','300','200','240','2013-05-15')INSERT工资VALUES ('1110011','霸气 ','2000','200','400','100','140','2013-05-15')INSERT工资VALUES ('1110012&
34、#39;,'吴淑敏 ','2200','200','400','100','240','2013-05-15' )INSERT工资VALUES ('1110013','吴飞扬 ','2250','100','400','100','240','2013-05-15' )INSERT工资VALUES ('1110014','邢小迪
35、39;,'2750','200','400','100','440','2013-05-15' )INSERT工资VALUES ('1110015','朱鸿儒 ','2100','200','300','100','240','2013-05-15' )INSERT工资VALUES ('1110016','熊朝辉 ','2100
36、9;,'200','300','100','240','2013-05-15' )INSERT工资VALUES ('1110017','吴飞扬 ','2100','200','300','100','240','2013-05-15' )INSERT工资VALUES ('1110018','杨亚迪 ','2140','200'
37、,'300','100','240','2013-05-15' )INSERT工资VALUES ('1110019','李敏 ','2100','200','300','100','240','2013-05-15')INSERT工资VALUES ('1110020','郭佳 ','2440','200','300','
38、;100','240','2013-05-15')GO15SELECT *FROM工资3 运用触发器删除表中的信息create triggerdel_ygon 员工instead of deleteasbegindelete 工资 where 员工工号 g in (select 员工工号 y from deleted) delete 员工 where 员工工号 y in (select 员工工号 y from deleted) enddelete 员工where 员工工号 y='1110003'goSELECT *FROM工资SELECT
39、 *FROM员工I164 视图查询表中的信息create view Y01 ( 员工工号 y,姓名 y,性别 ,职业 ,部门名称 ,出生日期 ,基本工资 ,福利补贴 ,奖励工资,失业保险 ,住房公积金 )asselect 员工工号 y,姓名 y,性别 ,职业 ,部门名称 ,出生日期 ,基本工资 ,福利补贴 ,奖励工资 ,失业保险,住房公积金from 员工 ,工资 ,科室where员工工号 y=员工工号 g;查询职工总人数select count(distinct 员工工号 y) 职工总人数from Y01-查询部门总数-select count(distinct部门名称 ) as 科室-fro
40、m y015 存储过程的创建1)、创建存储过程查询每个员工的实际发放工资USE ygxzGOCREATE PROCEDURE员工工号 y_实际工资员工工号 ychar(10)='%'AS17BEGINSELECT 员工工号 y,姓名 y,部门代码 y,职业 ,基本工资 +福利补贴 +奖励工资 -失业保险 -住房公积金 as 实际工资 ,日期FROM员工 ,工资WHERE 员工工号 y=员工工号 g and 员工工号 g=员工工号 yEND执行存储过程员工工号y_实际工资execute 员工工号 y_实际工资 '1110011'2)、创建存储过程查询每个员工的扣除
41、工资-USE ygxz-GO-CREATE PROCEDURE员工工号 y_扣除工资- 员工工号 ychar(10)='%'-AS-BEGIN-SELECT员工工号 y,姓名 y,部门代码 y,职业 , 失业保险 +住房公积金 as 扣除工资 ,日期-FROM员工 ,工资-WHERE员工工号 y= 员工工号 g and 员工工号 g=员工工号 y-END-执行存储过程员工工号y_扣除工资-execute 员工工号 y_扣除工资 '1110011'3)、创建存储过程查询各部门的人数USE ygxzGO18CREATE PROCEDURE部门 _人数部门代码char(10)='%'ASBEGINselect 部门名称 ,count(*) as 总人数from 员工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论