工资数据库设计.docx

上传人:b****2 文档编号:2748976 上传时间:2023-05-04 格式:DOCX 页数:25 大小:517.77KB
下载 相关 举报
工资数据库设计.docx_第1页
第1页 / 共25页
工资数据库设计.docx_第2页
第2页 / 共25页
工资数据库设计.docx_第3页
第3页 / 共25页
工资数据库设计.docx_第4页
第4页 / 共25页
工资数据库设计.docx_第5页
第5页 / 共25页
工资数据库设计.docx_第6页
第6页 / 共25页
工资数据库设计.docx_第7页
第7页 / 共25页
工资数据库设计.docx_第8页
第8页 / 共25页
工资数据库设计.docx_第9页
第9页 / 共25页
工资数据库设计.docx_第10页
第10页 / 共25页
工资数据库设计.docx_第11页
第11页 / 共25页
工资数据库设计.docx_第12页
第12页 / 共25页
工资数据库设计.docx_第13页
第13页 / 共25页
工资数据库设计.docx_第14页
第14页 / 共25页
工资数据库设计.docx_第15页
第15页 / 共25页
工资数据库设计.docx_第16页
第16页 / 共25页
工资数据库设计.docx_第17页
第17页 / 共25页
工资数据库设计.docx_第18页
第18页 / 共25页
工资数据库设计.docx_第19页
第19页 / 共25页
工资数据库设计.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

工资数据库设计.docx

《工资数据库设计.docx》由会员分享,可在线阅读,更多相关《工资数据库设计.docx(25页珍藏版)》请在冰点文库上搜索。

工资数据库设计.docx

工资数据库设计

学号:

课程设计

 

题目

工资数据库设计

学院

计算机科学与技术学院

专业

班级

姓名

指导教师

唐祖锴

 

课程设计任务书

学生姓名:

专业班级:

指导教师:

唐祖锴工作单位:

计算机学院

题目:

工资数据库设计

初始条件:

某公司决定建立“工资管理系统”,以取代单一的人工管理。

根据人员基本情况表中的学历、职称及受聘日期长短,决定工资表中的基本工资和岗位津贴的具体数值。

根据各部门上报的扣款表的内容决定工资表中扣款项的金额。

按月汇总工资表。

要求完成的主要任务:

1.根据上述的初始条件,进行调查分析并设计适当的属性。

设计一个工资数据库,DBMS可选MsSQLServer、Access、VFP等。

2.完成课程设计说明书,其格式遵守学校今年的新规定。

主要内容包括:

需求分析,概念设计,逻辑设计,物理实现等。

3.基于改数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。

这一项是选作,不作硬性要求。

时间安排:

本学期第18周:

1.消化资料、系统调查1天

2.系统分析1天

3.总体设计,实施计划2天 

4.撰写报告1天

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

 

1、系统目标

采用公司现有的软硬件及科学的管理系统开发方案,建立工资管理系统,实现企业工资管理的计算机自动化。

系统应符合公司人事、工资管理制度,并达到操作直观、方便、实用、安全等要求。

2、系统功能

系统从总体上可以分为员工信息系统,工资操作系统,数据库用户系统。

(1)员工信息系统

本系统包括对员工各种基本信息(姓名、职工号、住址、联系电话、婚姻状况、出生年月、岗位、部门号、性别)的录入、修改、查询等操作。

(2)工资操作系统

本系统包括对各种类型的基本工资的计算、生成工资表以及对员工工资的查询等操作。

(3)数据库用户系统

本系统包括对数据库用户添加、删除及修改密码等操作。

2.1、功能图

由上述功能描述可得系统功能图如下:

图2-1系统总功能图

二、概念分析

3.1、系统E-R图

由系统的分析部分可得系统的E-R图如下:

图3-1系统E-R图

系统的E-R图表明:

本工资管理系统由数据库用户、工资表、员工信息、工资类别、部门信息、考勤表等五部分组成。

3.2、数据流图

E-R图建立了系统的数据模型,但我们还需要了解信息流与数据从输入移动到输出的过程中所经受的变换,所以在此给出本系统的数据流图:

图3-2数据流图

四、逻辑设计

以下是工资管理系统的关系模型:

员工(职工号、部门号、姓名、性别、出生年月、岗位、婚姻状况、联系电话、住址)

部门信息(部门号、岗位、部门人数)

工资类别(岗位、基础工资、缺勤费、加班费)

工资表(职工号、工资、工资日期)

数据库用户(用户名、密码、权限)

考勤表(职工号、加班时间、缺勤天数、考勤日期)

 

五、物理设计

在SQL数据库中需要建立6个数据表:

员工基本信息表、部门信息表、工资类别表、工资表、考勤表和数据库用户表。

部门表

列名

数据类型

长度

允许空

部门名

Char

10

岗位

Char

10

部门人数

int

4

考勤表

列名

数据类型

长度

允许空

职工号

Char

10

加班时间

Int

4

缺勤天数

Int

4

考勤日期

datetime

8

工资类别表

列名

数据类型

长度

允许空

岗位

char

10

基础工资

Money

8

加班费

Money

8

缺勤费

money

8

工资表

列名

数据类型

长度

允许空

职工号

char

10

工资

money

8

工资日期

datetime

8

员工基本信息

列名

数据类型

长度

允许空

职工号

Char

10

姓名

Char

10

性别

Char

10

部门名

Char

10

岗位

Char

10

出生年月

Char

10

婚姻状况

Char

10

联系电话

Char

10

住址

char

10

数据库用户

列名

数据类型

长度

允许空

用户名

Char

10

密码

Char

10

权限

char

10

六、算法实现

1、添加职工

if(e.getActionCommand().equals("确定")){

sql="select*from员工基本信息where职工号='"+numtext.getText()+"'";

try{

rs=con.getrs(con.con,sql);

if(rs.next()){

jop.showMessageDialog(null,"职工号已存在,请输入另外的职工号","错误",-1);

}

else

{

sql="insertinto员工基本信息(职工号,姓名,性别,部门名,岗位,出生年月,婚姻状况,联系电话,住址)values('"+numtext.getText()+"','"+nametext.getText()+"','"+xbtext.getText()+"','"+bmchoice.getSelectedItem()+"','"+gwchoice.getSelectedItem()+"','"+csnytext.getText()+"','"+hyzktext.getText()+"','"+lxdhtext.getText()+"','"+zztext.getText()+"')";

con.moddb(con.con,sql);

}

//try{

//con.dbclose(con.con,null);

//}catch(Exceptionue){

//ue.printStackTrace();

//}

con.dbclose(con.con,rs);

numtext.setText("");

nametext.setText("");

xbtext.setText("");

csnytext.setText("");

hyzktext.setText("");

lxdhtext.setText("");

zztext.setText("");

con=null;

rs=null;

}

catch(SQLExceptionet){

et.printStackTrace();

}

}

2、删除职工

if(e.getActionCommand().equals("确定")){

try{

sql="deletefrom员工基本信息where职工号='"+numco.getSelectedItem()+"'";

con.moddb(con.con,sql);

sql="deletefrom考勤表where职工号='"+numco.getSelectedItem()+"'";

con.moddb(con.con,sql);

sql="deletefrom工资表where职工号='"+numco.getSelectedItem()+"'";

con.moddb(con.con,sql);

System.out.println("aaa");

initnumcho();

System.out.println("bbb");

JOptionPanejop=newJOptionPane();

jop.showMessageDialog(null,"职工删除成功!

","更新成功",-1);

System.out.println("ccc");

//con.dbclose(con.con,null);

System.out.println("ddd");

con=null;

rs=null;

}catch(Exceptionet){

System.out.println("aaaa");

et.printStackTrace();

}

3.职工信息查询

sql="select*from员工基本信息where员工基本信息.职工号='"+numchoice.getSelectedItem()+"'";

try{

rs=con.getrs(con.con,sql);

if(rs.next()){

nametext.setText(rs.getString("姓名"));

xbtext.setText(rs.getString("性别"));

bmtext.setText(rs.getString("部门名"));

gwtext.setText(rs.getString("岗位"));

csnytext.setText(rs.getString("出生年月"));

hyzktext.setText(rs.getString("婚姻状况"));

lxdhtext.setText(rs.getString("联系电话"));

zztext.setText(rs.getString("住址"));

}

con.dbclose(con.con,rs);

con=null;

rs=null;

}catch(SQLExceptione1){

e1.printStackTrace();

}

4.修改职工信息

if(ae.getActionCommand().equals("确定")){

try{

sql="update员工基本信息set姓名='"+nametext.getText()+"',性别='"+xbtext.getText()+"',部门名='"+bmchoice.getSelectedItem()+"',岗位='"+gwchoice.getSelectedItem()+"',出生年月='"+csnytext.getText()+"',婚姻状况='"+hyzktext.getText()+"',联系电话='"+lxdhtext.getText()+"',住址='"+zztext.getText()+"'WHERE职工号='"+numchoice.getSelectedItem()+"'";

con.moddb(con.con,sql);

jop.showMessageDialog(null,"职工修改成功!

","更新成功",-1);

}catch(Exceptionue){

ue.printStackTrace();

}

con.dbclose(con.con,rs);

nametext.setText("");

xbtext.setText("");

csnytext.setText("");

hyzktext.setText("");

lxdhtext.setText("");

zztext.setText("");

con=null;

rs=null;

//nametx.setText("");

}

5.考勤录入

if(e.getActionCommand().equals("确定")){

sql="select*from考勤表where职工号='"+numchoice.getSelectedItem()+"'AND考勤日期='"+kqrqtext.getText()+"'";

try{

rs=con.getrs(con.con,sql);

if(rs.next()){

jop.showMessageDialog(null,"该名职工该考勤日期已记录","错误",-1);

}

else

{

sql="insertinto考勤表(职工号,加班时间,缺勤天数,考勤日期)values('"+numchoice.getSelectedItem()+"','"+jbsstext.getText()+"','"+qqtstext.getText()+"','"+kqrqtext.getText()+"')";

con.moddb(con.con,sql);

jbss=newFloat(jbsstext.getText());

qqts=newFloat(qqtstext.getText());

sql="select岗位from员工基本信息WHERE职工号='"+numchoice.getSelectedItem()+"'";

rs=con.getrs(con.con,sql);

rs.next();

Stringaa=rs.getString("岗位");

rs=null;

sql=null;

sql="select*from工资类别WHERE岗位='"+aa+"'";

rs=con.getrs(con.con,sql);

rs.next();

jbgz=rs.getFloat("基础工资");

jbfy=rs.getFloat("加班费");

qqfy=rs.getFloat("缺勤费");

gz=jbgz+jbfy*jbss-qqfy*qqts;

System.out.println(gz);

sql="insertinto工资表(职工号,工资,工资日期)values('"+numchoice.getSelectedItem()+"','"+gz+"','"+kqrqtext.getText()+"')";

con.moddb(con.con,sql);

}

//try{

//con.dbclose(con.con,null);

//}catch(Exceptionue){

//ue.printStackTrace();

//}

con.dbclose(con.con,rs);

jbsstext.setText("");

qqtstext.setText("");

kqrqtext.setText("");

con=null;

rs=null;

}

catch(SQLExceptionet){

et.printStackTrace();

}

}

6.职工工资查询

if(e.getActionCommand().equals("查询"))

{con=newcondb();

sql="select工资表.职工号,员工基本信息.姓名,工资表.工资,工资表.工资日期from员工基本信息,工资表WHERE员工基本信息.职工号=工资表.职工号AND职工号='"+numchoice.getSelectedItem()+"'ORDERBY工资表.工资日期DESC";

rs=con.getrs(con.con,sql);

try{

while(rs.next())

{

try{

gzcx.appendText(rs.getString("职工号"));

gzcx.appendText(rs.getString("姓名"));

gzcx.appendText(rs.getString("工资"));

gzcx.appendText("\t");

gzcx.appendText(rs.getString("工资日期"));

gzcx.appendText("\n");

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

con.dbclose(con.con,rs);

con=null;

rs=null;

}

7.部门工资查询

if(e.getActionCommand().equals("平均工资"))

{

intcount=0;

floatgzh=0;

con=newcondb();

sql="select*from工资表,员工基本信息WHERE部门名='"+bmchoice.getSelectedItem()+"'AND员工基本信息.职工号=工资表.职工号";

rs=con.getrs(con.con,sql);

try{

while(rs.next())

{

gzh=gzh+rs.getFloat("工资");

count++;

}

}catch(SQLExceptione2){

e2.printStackTrace();

}

Stringa=newString("该部门平均工资为");

floatb=gzh/count;

a+=b;

jop.showMessageDialog(null,a,"错误",-1);

}

if(e.getActionCommand().equals("查询")){

gzcx.setText("");

con=newcondb();

sql="select工资表.职工号,员工基本信息.姓名,员工基本信息.部门名,工资表.工资,工资表.工资日期from员工基本信息,工资表WHERE员工基本信息.职工号=工资表.职工号AND员工基本信息.部门名='"+bmchoice.getSelectedItem()+"'ORDERBY工资表.工资日期DESC";

rs=con.getrs(con.con,sql);

try{

while(rs.next())

{

try{

gzcx.appendText("");

gzcx.appendText(rs.getString("职工号"));

gzcx.appendText(rs.getString("姓名"));

gzcx.appendText(rs.getString("部门名"));

gzcx.appendText(rs.getString("工资"));

gzcx.appendText("\t");

gzcx.appendText(rs.getString("工资日期"));

gzcx.appendText("\n");

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

con.dbclose(con.con,rs);

con=null;

rs=null;

}

}

8.工资表查询

sql="select工资表.职工号,员工基本信息.姓名,工资表.工资,工资表.工资日期from员工基本信息,工资表WHERE员工基本信息.职工号=工资表.职工号ORDERBY工资表.工资日期DESC";

rs=con.getrs(con.con,sql);

try{

while(rs.next())

{

try{

gzcx.appendText(rs.getString("职工号"));

gzcx.appendText(rs.getString("姓名"));

gzcx.appendText(rs.getString("工资"));

gzcx.appendText("\t");

gzcx.appendText(rs.getString("工资日期"));

gzcx.appendText("\n");

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

con.dbclose(con.con,rs);

con=null;

rs=null;

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

{dispose();}

七、系统截图

1、登陆界面

 

2、添加职工

3、删除职工

4、职工基本信息查询

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2