数据库课程设计报告_工资管理系统_第1页
数据库课程设计报告_工资管理系统_第2页
数据库课程设计报告_工资管理系统_第3页
数据库课程设计报告_工资管理系统_第4页
数据库课程设计报告_工资管理系统_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库课程设计理论成绩实践成绩总成绩院系:信息管理学院专业:软件工程班级:软件Q1141组长:李艳平()组员:孙俊珍()王毅()左礼振()题目:工资管理系统时间:、设计目的、数据库功能分析信息输入功能数据修改删除功能查询和统计功能.目录错误!未定义书签。错误!未定义书签。错误! 未定义书签。错误! 未定义书签。错误! 未定义书签。三、数据库设计需求分析错误!未定义书签。错误 ! 未定义书签。概念分析(E-R图)错误 ! 未定义书签。逻辑设计 .-4-物理设计 错误!未定义书签。实施与维护 错误!未定义书签。 错误!未定义书签。数据库的连接操作 错误!未定义书签。登陆界面管理员操作错误 ! 未定

2、义书签。错误 ! 未定义书签。职工操作错误 ! 未定义书签。五、感想及总结错误!未定义书签。六、参考文献错误!未定义书签。、设计目的工资管理是一项琐碎、复杂而又十分细致的工作, 一般不允许发生差错。手工进行工资发放工作,需要反复地进行抄写、计算,不仅花费财务人员大量的时间,而且往往由于抄写不慎,出现张冠李戴, 或者由于计算机的疏忽,出现工资发放错误的现象。计算机进行工资发放工作,不仅能够保证工资核算正确无误、快速输出,而且还可以利用工资数据库对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理。实现企业员工工资管理的系统化、规范化和自动化,能够和人事管理系统、考勤管理系统相结合

3、,真正实现企业高效、科学、现代化的员工管理。二、数据库功能分析信息输入功能1) 输入员工的基本信息。包括:员工编号、姓名、性别、参加工作时间、所属部门、职位等基本信息2) 输入员工的工资信息。包括:岗位基本工资、津贴、考勤等相关信息。3) 输入员工的部门信息。包括:部门编号、部门名称、部门负责人、部门人数、部门与外界的联系方式。数据修改删除功能1) 修改和删除员工的基本信息。当单位人员的信息发生变化,如职称的改变,工作部门变动,或调离本单位等,系统应能修改员工的信息或将其从员工信息表中删除。2) 修改和删除员工的工资信息。员工升职加薪、工资普调是企业中常见的事情,这就需要系统能方便对员工工资进

4、行个别及批量的修改;如员工调离本单位,就应当从员工信息表中删除这个员工信息,将其工资信息表中相应的数据删除。3) 修改和删除部门信息。当一个部门的负责人或联系方式发生改变时,系统中相关部门信息也能做相应改变。查询和统计功能1) 能够查询指定员工的基本信息2) 能够查询部门信息3) 查询某个员工的工资信息4) 统计部门总人数、共工资、平均工资5) 工资表月工资记录的生成功能。生成当月所有员工或所有部门的工资记录,同时能进行员工工资的计算,即基本工资、奖励金额、应扣金额。三、数据库设计需求分析:工资管理系统针对的用户是小型企业,工资项目比较少,较为固定,工资管理涉及员工加班情况等等。根据这些对于月

5、工资,能够实现按企业管理的多个方面,如员工职务宫中变化、员工考勤情况、 信息,在每个月的某个固定时间,生成企业对全体员工的月工资。照员工、部门、月、年进行统计分析,产生相应报表。需求信息整理(DFD图)如下:查询结果第一层DFD图概念分析(E-R图)总E-R图图二员工部门实体E-R图图三员工考勤实体图五员工月工资实体E-R 图逻辑设计1 .数据字典表1 Allowance (员工津贴)歹U名数据类型可否为空说明emp_novarchar(10)not null员工号(主键一)overtime_mont hvarchar(20)not null加班时间(主键二)Overtime_daysintn

6、ull加班天数Overtime_payfloatnull加班工资表2 Attendance ( 考勤信息统计)歹U名数据类型可否为空说明emp_novarchar(10)not null员工号(主专)attend_monthvarchar(20)not null时间(主键二)Absent_daysintnull缺勤天数Absent_payfloatnull考勤工资表3 BasicWages (工资标准表格)歹U名数据类型可否为空说明emp_posVarchar (10)not null工种(主键)basic_wageFloatnot null基本工资表4 EmpBasicInfo (员工基本情

7、况表)歹U名数据类型可否为空说明emp_noVARCHAR(10)NOT NULL员工号(主键)emp_nameVARCHAR(40)NULL员工名称emp_posVARCHAR(40)NOT NULL职位sexChar(2)NULL性别department_idVARChar(10)NOT NULL员工部门emp_timeVARCHAR(20)NOT NULL入公司时间telephoneChar (11)Null电话号码2 .关系模式员工基本信息表(所属部门,入公司时间,电话号码)员工津贴表(员工号,加班时间,加班天数,加班工资)员工考勤表(员工号,时间,缺勤天数,考勤工资)基本工资表(职位

8、,基本工资)部门信息表(部门编号,部门名称,部门人数,联系方式)用户登陆(ID#,用户名,密码)3 .视图设计为及时更新数据,减少数据库后台操作,设计了部门工资情况及员工月工资情况两个视图 部门工资情况视图:员工月工资视图:kt-KV ages , 隹置是1c中* (LOCAL)上I Ulovuice* f所有到)eap_xioovex t ._ ou_tliwerwertiniie_pay睦 flai rVae*所有列)p_pgc_wage列别名豪1输出忸演梵型1排序.顿序1徒则emp_noEmpBasidufover time onipay_timejHIuw anceyEasi N曰苍r

9、sv/overtime payAlls waxiceV*absant payKiiandadictdbo. Basi cWag:4mont h_jpiyJSELECT dbo. EmpBas iclRfo. empjiOj dbd. Bma 1 cWanges三.Ibasi c_wa.ge, dbn. Attendance, absentjay, bo. Basiettigs. b爱务i ejrg电AS n on_thj ayFROM dto.息艮ndaiLE IWBER JDIffdbo. Allowance, over t i m e_m on th AS pay_time d.lo, A

10、llow ance. oer 11 m e_pay,* db*. Allo*ariCfr.+ lbs A七七电或45电& alsnt_paydbo. Allowance ONdbo. Atinditnc, attendjmo-nth = dbo. Allow1 ucft ovsr tirhon.th INKER JDIM dbo s Empliasi clnfo Off db. Allowaiic, emp.no 二 dbo. EvnpBasi dnfo. ntp_no KNIdbo. Ait endwce. emp.xw = dba. ImpB asi clno.工KHER JUINdbo.

11、 EtasicWas OM ib-o. EmjiBasicInfo. empjpos - dba, BasicWgs, mp_pos物理设计数据库最终是要存储在物理设备上的,为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。 数据库的物理结构 依赖于给定的计算机系统和 DBMS实施与维护确定了数据库的逻辑结构和物理结构后,就可以用所选用的DBM要供的数据定义语言(DDL)来严格定义数据库,包括建立表、定义表的约束等。数据库系统投入运行后,对数据 库设计进行评价、调整、修改等维护工作。四、界面设计及相关代码数据库的连接操作using Sy

12、stem;using ;using ;using 工资管理系统ows)if = row user_id .ToString()= rowuser_id .ToString();= rowusername .ToString();if = row password .ToString()= ;();break ;else(i = i +();#endregion#regionprivateifelse1; 密码错误!请重新输入!);if (i = str_vtab. 无此用户信息,请重新输入!); ;登陆信息检查void button1_Click( object sender, EventAr

13、gs e)= & = ) 请输入账户和密码!);();else if = & != )( 请输入账户名);();else if != & = )( 请输入密码!);();else if (! & !( 请选择登陆身份!);else ifif = 001 & = 1001 )Form2 myform2 = new Form2();();else( 用户名和密码错误! );false=false ; else ifForm3 myform3 =new Form3();IDverify(Staff, myform3);#endregion#region 重置登陆信息private void butt

14、on2_Click( object sender, EventArgs e) ;=false ;=false ;();#endregion管理员操作1) 查询员工信息2) 查询部门信息3) 查询津贴信息:4) 查询考勤信息:5)员工月工资汇总:O底2010000口10的20即10302020。0F产等。口产口%-20。痂 o ODOO-OOODO-OUOOO O 5 o O 5 o O 5 Q o o 1 8 o O -4097 68399795876 5-22 2 2Z232Z2-2UX-222辑ococooNooooDOMooMooullooMoo H222220/273030厂2626打

15、272726月野10012013101002201310100320L310100-12013101005201310100620L310100720L31010082013101009Z0L3LD1010201310101120L3101U122m31。101320131010H2013101015201310部部室部阳60255022 R276)部门平均工资:|疆首理茴登料上!刈员工信息部n信息津贴信息出勤统计统计1更新瓶据退出 吊工月工资工总口工资情猊月制.苜l;人至.葡口二20131024450201310513SQQ2 口 131Q62502DI31C6165D0namespace工

16、资管理系统public partial class Form2 : FormBaseOperate boperate = new BaseOperate (); ows)emp_no .ToString() +t + row emp_name.ToString() +t +row emp_pos .ToString() +t +rowsex .ToString() +t + row depart_name .ToString() +tt+ row emp_time .ToString() +t + row telephone .ToString();#endregion#region 显示部门

17、信息private void 部门信息ToolStripMenuItem_Click( object sender, EventArgs e)string str_sqlcom = Select * from Department ;string str_vtab = vistual_table ;DataSet thisDset = (str_sqlcom, str_vtab); 部门号 t 部门名称t 负责人 t 职工人数t 联系电话 );foreach ( DataRow row in str_vtab.Rows)depart_id .ToString() +t + row depart

18、_name .ToString() +tt+ row depart_head .ToString()+t + row depart_emps .ToString() +tt+row depart_tel .ToString();#endregion#region 显示部门信息private void 津贴信息ToolStripMenuItem_Click( object sender, EventArgs e)string str_sqlcom = Select * from Allowance string str_vtab = vistual_table ;DataSet thisDset

19、 = (str_sqlcom, str_vtab); 职工号 tt 加班月份t 加班天数t 加班工资 );foreach ( DataRow row in str_vtab.Rows)emp_no .ToString() +tt+ row overtime_month .ToString() +tt + rowovertime_days .ToString() +tt +row overtime_pay .ToString();#endregion#region 出勤统计private void 出勤统计ToolStripMenuItem_Click( object sender, Event

20、Args e)string str_sqlcom = Select * from Attendance ;string str_vtab = vistual_table ;DataSet thisDset = (str_sqlcom, str_vtab); 职工号 tt 考勤月份t 缺勤天数t 扣除工资 );foreach ( DataRow row in str_vtab.Rows)emp_no .ToString() + tt+ row attend_month .ToString() + tt+ rowabsent_days .ToString() +tt +row absent_pay

21、 .ToString();#endregion#region员工月工资汇总private void 员工月工资汇总ToolStripMenuItem_Click( object sender,e)string str_sqlcom = Select * from MonthWages ;string str_vtab = vistual_table ;DataSet thisDset = (str_sqlcom, str_vtab); 工号 t 月份 t 工资 t 底薪 t 津贴 t 考勤 );foreach ( DataRow row in str_vtab.Rows)emp_no .ToS

22、tring() +t + row pay_time .ToString() +row basic_wage .ToString() +t +rowovertime_pay .ToString() +t +row absent_pay .ToString() +t + row month_pay .ToString();#endregion#region 各部门工资情况private void 各部门工资情况ToolStripMenuItem_Click( object sender,e)string str_sqlcom = select * from DepartAvgWage ;strin

23、g str_vtab = vistual_table ;DataSet thisDset = (str_sqlcom, str_vtab); 部门 t 月份 t 部门人数t 部门总工资t 部门平均工资EventArgst +EventArgsdepart_name .ToString()+ t+ row pay_month .ToString()+ tforeach ( DataRow row in str_vtab.Rows)rowdepart_emps .ToString() +tt row sum_wage.ToString() + t + row avg_wage .ToString(

24、);#endregion#region 更新数据private void 更新数据ToolStripMenuItem_Click( object sender, EventArgs e)Form4 newform = new Form4();();#endregion#region 退出private void 退出 ToolStripMenuItem_Click( object sender, EventArgs e)();#endregion7)信息修改:璃信息修改修改员工信息I修改部门信息簟政建账信息1修改考勤信息I修改基本工资信息I工 号加班月份加班天数namespace工资管理系统p

25、ublic partial class Form4 : FormBaseOperate boperate = new BaseOperate (); ows)if (row emp_no .ToString()=stringno =;stringname =,;;if)name = rowemp_name.ToString();elsename =string pos =,;;if)pos = rowemp_pos .ToString();elsepos =if (! & !Sex = rowelse ifSex =Sex =if = )depart = rowelsedepart =if =

26、 )time = rowelsetime =if = )tel = rowelsetel =update EmpBasicInfo setstring Sex = sex .ToString();else ifstring depart =depart_name .ToString();string time =emp_time .ToString();string tel =telephone .ToString();string str_sqlcom2 =emp_name=namee, mp_pos=pos, sex=Sex, depart_name=depart,emp_time=tim

27、e, telephone=tel where emp_no=no ;SqlConnection mycon = ();();SqlCommandcmd = new SqlCommand(str_sqlcom2, mycon);SqlParameter par_no = new SqlParameter ( no, no);SqlParameter par_name = newSqlParameter ( name, name);SqlParameter par_pos = newif (row emp_no .ToString() =SqlParameter( pos, pos);SqlPar

28、ameterpar_sex =newSqlParameter(Sex, Sex);SqlParameter( depart , depart);SqlParameter( time , time);SqlParameterSqlParameterSqlParameterpar_departpar_time =par_tel =newnewnewSqlParameter( tel , tel);int result = ();if (result 0) 信息修改成功! );search = 1;break ;#endregion#regionows)if (search = 0) 无此员工!);

29、添加新员工(searchifrow(thisDset,();(no ,201310, , )(no, 201310, , ) 此工号的员工已存在!请重新输入! );1;break ;(search = 0)DataRow newRow = EmpBasicInfo .NewRow(); newRow); ows)if (row depart_name .ToString() =int num = (row depart_emps .ToString() + 1;depart_emps = num;Department );/* 更新表 Allowance, Attendance*/ strin

30、g no = ;SqlCommandcmd1 = new SqlCommand( insert into Allowance values, thisConn);SqlCommandcmd2 = new SqlCommand( insert into Attendance values , thisConn);SqlParameter par_no1 = new SqlParameter ( no, no);();SqlParameter par_no2 = new SqlParameter ( no, no);();/* 更新表 Staff*/string id =string name =

31、 ();string pwd = ( 1 , 1115 );SqlCommandcmd3 = new SqlCommand( insert into Staff values(id, name, pwd), thisConn);SqlParameter par_id = new SqlParameter ( id , id);SqlParameter par_name = new SqlParameter ( name, name);SqlParameter par_pwd = new SqlParameter ( pwd, pwd);();();( 添加成功!);#endregion#reg

32、ion 删除员工 ows)if (row emp_no .ToString() = string str_sqlcom1 = delete from EmpBasicInfo where emp_no = + ;();SqlCommandcmd = new SqlCommand(str_sqlcom1, thisConn);();/* 更新表 Department*/string depart = row depart_name .ToString();string str_sqlcom2 = select * from Department ;SqlDataAdapter thisAdp2

33、= new SqlDataAdapter (str_sqlcom2, thisConn);ows) if (row2 depart_name .ToString() = depart) int num = (row2 depart_emps .ToString() - 1; row2depart_emps = num; (thisDset,Department );/* 更新表 Allowance, Attendance*/string no = ;SqlCommandcmd1 = new SqlCommand( delete from Allowance where emp_no = no

34、, thisConn);SqlCommandcmd2 = new SqlCommand( delete from Attendance where emp_no = no , thisConn);SqlParameter par_no1 = new SqlParameter ( no, no);();SqlParameter par_no2 = new SqlParameter ( no, no);();/* 更新表 Staff*/string id =SqlCommandcmd3 = newSqlCommand( delete from Staff where user_id = id, t

35、hisConn);SqlParameter par_id = new SqlParameter ( id , id);();();( 删除成功!);search = 1;break ;if (search = 0)( 无此员工!);#endregion#region 关闭修改员工信息窗口private void button4_Click( object sender, EventArgs e)();#endregion#region 修改部门信息private void button5_Click( object sender, EventArgs e)if = )( 请输入部门编号!);(

36、);elsestring str_sqlcom = Select * from Departmentstring str_vtab = vistual_tableDataSet thisDset = (str_sqlcom, str_vtab);int search = 0;foreach( DataRow row in str_vtab.Rows)if(row depart_id .ToString() =stringid = ;stringtel = ;if )tel = rowdepart_tel .ToString();elsetel =int search2 = 0;stringhe

37、ad =ifhead = row )depart_head .ToString();search2 = 1;elsestring str_sqlcom2 = select * from EmpBasicInfoSqlConnection thisConn = ();SqlParameter par_tel = newthisConn);ows)if (row2 emp_name.ToString() =head =search2 = 1;break ;if (search2 = 0)( 无此职工信息!请重新输入);=;();elsestring str_sqlcom3 = update Dep

38、artment set depart_head=head, depart_tel=tel where depart_id=id;SqlConnection mycon = ();();SqlCommandcmd = new SqlCommand(str_sqlcom3, mycon);SqlParameter par_id = new SqlParameter ( id , id);SqlParameter par_head = new SqlParameter ( head, head);SqlParameter ( tel , tel);int result = ();if (result

39、 0)( 信息修改成功! );search = 1;break ;if (search = 0)( 无此部门! );#endregion#region 关闭修改部门信息窗口private void button6_Click( object sender, EventArgs e)();#endregion#region 修改津贴信息private void button7_Click( object sender, EventArgs e)if();else 请输入工号!);string str_sqlcom = Select * from Allowancestring str_vtab

40、= vistual_tableDataSet thisDset = (str_sqlcom, str_vtab);int search = 0;foreach ( DataRow row in str_vtab.Rows)if (row emp_no .ToString() =stringno = ;stringmonth = ;ifmonth = rowovertime_month .ToString();elsemonth =string days =ifdays = rowovertime_days .ToString();elsedays =string pay =ifpay = ro

41、wovertime_pay .ToString();elsepay =string str_sqlcom2 =update Allowance set overtime_month=month, overtime_days=days, overtime_pay=pay where emp_no=no;SqlConnection mycon = ();();SqlCommandcmd = new SqlCommand(str_sqlcom2, mycon);SqlParameter par_no = new SqlParameter ( no, no);SqlParameter par_mont

42、h = new SqlParameter ( month, month);SqlParameter par_days = newSqlParameter ( days , days);SqlParameter par_pay = newSqlParameter ( pay , pay);int result = ();if (result 0)( 信息修改成功! );search = 1;break ;if (search = 0)( 无此员工!);#endregion#region 关闭修改津贴信息窗口private void button8_Click( object sender, Ev

43、entArgs e)();#endregion#region 修改考勤信息窗口private void button9_Click( object sender, EventArgs e)if = )( 请输入工号!);();elsestring str_sqlcom = Select * from Attendancestring str_vtab = vistual_table ;DataSet thisDset = (str_sqlcom, str_vtab);int search = 0;foreach ( DataRow row in str_vtab.Rows)if (row em

44、p_no .ToString() =string no = ;string month =ifmonth = rowattend_month .ToString();elsemonth =string days =ifdays = rowabsent_days .ToString();elsedays =string pay =ifpay = rowabsent_pay .ToString();elsepay =string str_sqlcom2 =update Attendance set attend_month=month, absent_days=days, absent_pay=p

45、ay where emp_no=no;SqlConnection mycon = ();();SqlCommandcmd = new SqlCommand(str_sqlcom2, mycon);SqlParameter par_no = new SqlParameter ( no, no);SqlParameter par_month = new SqlParameter ( month, month);SqlParameter par_days = newSqlParameter ( days , days);SqlParameter par_pay = newSqlParameter (

46、 pay , pay);int result = ();if (result 0)( 信息修改成功! );search = 1;break ;if (search = 0)( 无此员工!);#endregion#region 关闭修改考勤贴信息窗口private void button10_Click( object sender, EventArgs e)();#endregion#region 修改基本工资信息private void button11_Click( object sender, EventArgs e)if = )( 请选择职位!);();elsestring pos =string wage =SqlConnection

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论