数据库课程设计报告-工资管理系统.doc
《数据库课程设计报告-工资管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告-工资管理系统.doc(28页珍藏版)》请在咨信网上搜索。
数 据 库 课 程 设 计 报 告 理论成绩 实践成绩 总成绩 院系:信息管理学院 专业:软件工程 班级:软件Q1141 组长:李艳平() 组员:孙俊珍() 王 毅() 左礼振() 题目:工资管理系统 教师:石黎 时间: 目录 一、设计目的 - 1 - 二、数据库功能分析 - 1 - 信息输入功能 - 1 - 数据修改删除功能 - 2 - 查询和统计功能 - 2 - 三、数据库设计 - 2 - 需求分析 - 2 - 概念分析(E-R图) - 3 - 逻辑设计…………………………………………………………………..- 4- 物理设计 - 7 - 实施与维护 - 7 - 四、界面设计及相关代码 - 8 - 数据库的连接操作 - 8 - 登陆界面 - 10 - 管理员操作 - 13 - 职工操作 - 35 - 五、感想及总结 - 39 - 六、参考文献 - 42 - 一、设计目的 工资管理是一项琐碎、复杂而又十分细致的工作,一般不允许发生差错。手工进行工资发放工作,需要反复地进行抄写、计算,不仅花费财务人员大量的时间,而且往往由于抄写不慎,出现张冠李戴,或者由于计算机的疏忽,出现工资发放错误的现象。计算机进行工资发放工作,不仅能够保证工资核算正确无误、快速输出,而且还可以利用工资数据库对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理。实现企业员工工资管理的系统化、规范化和自动化,能够和人事管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。 二、数据库功能分析 信息输入功能 1) 输入员工的基本信息。包括:员工编号、姓名、性别、参加工作时间、所属部门、职位 等基本信息 2) 输入员工的工资信息。包括:岗位基本工资、津贴、考勤等相关信息。 3) 输入员工的部门信息。包括:部门编号、部门名称、部门负责人、部门人数、部门与外界的联系方式。 数据修改删除功能 1) 修改和删除员工的基本信息。当单位人员的信息发生变化,如职称的改变,工作部门变动,或调离本单位等,系统应能修改员工的信息或将其从员工信息表中删除。 2) 修改和删除员工的工资信息。员工升职加薪、工资普调是企业中常见的事情,这就需要系统能方便对员工工资进行个别及批量的修改;如员工调离本单位,就应当从员工信息表中删除这个员工信息,将其工资信息表中相应的数据删除。 3) 修改和删除部门信息。当一个部门的负责人或联系方式发生改变时,系统中相关部门信息也能做相应改变。 查询和统计功能 1) 能够查询指定员工的基本信息 2) 能够查询部门信息 3) 查询某个员工的工资信息 4) 统计部门总人数、共工资、平均工资 5) 工资表月工资记录的生成功能。生成当月所有员工或所有部门的工资记录,同时能进行员工工资的计算,即基本工资、奖励金额、应扣金额。 三、数据库设计 需求分析: 《工资管理系统》针对的用户是小型企业,工资项目比较少,较为固定,工资管理涉及企业管理的多个方面,如员工职务宫中变化、员工考勤情况、员工加班情况等等。根据这些信息,在每个月的某个固定时间,生成企业对全体员工的月工资。对于月工资,能够实现按照员工、部门、月、年进行统计分析,产生相应报表。 需求信息整理(DFD图)如下: 第0层DFD图 概念分析(E-R图) 逻辑设计 1. 数据字典 表1 Allowance (员工津贴) 列 名 数据类型 可否为空 说 明 emp_no varchar(10) not null 员工号(主键一) overtime_month varchar(20) not null 加班时间(主键二) Overtime_days int null 加班天数 Overtime_pay float null 加班工资 表2 Attendance (考勤信息统计) 列 名 数据类型 可否为空 说 明 emp_no varchar(10) not null 员工号(主键一) attend_month varchar(20) not null 时间(主键二) Absent_days int null 缺勤天数 Absent_pay float null 考勤工资 表3 BasicWages(工资标准表格) 列 名 数据类型 可否为空 说 明 emp_pos Varchar(10) not null 工种(主键) basic_wage Float not null 基本工资 表 4 EmpBasicInfo (员工基本情况表) 列 名 数据类型 可否为空 说 明 emp_no VARCHAR(10) NOT NULL 员工号(主键) emp_name VARCHAR(40) NULL 员工名称 emp_pos VARCHAR(40) NOT NULL 职位 sex Char(2) NULL 性别 department_id VARChar(10) NOT NULL 员工部门 emp_time VARCHAR(20) NOT NULL 入公司时间 telephone Char(11) Null 电话号码 2. 关系模式 员工基本信息表(所属部门,入公司时间,电话号码) 员工津贴表(员工号,加班时间,加班天数,加班工资) 员工考勤表(员工号,时间,缺勤天数,考勤工资) 基本工资表(职位,基本工资) 部门信息表(部门编号,部门名称,部门人数,联系方式) 用户登陆(ID号,用户名,密码) 3. 视图设计 为及时更新数据,减少数据库后台操作,设计了部门工资情况及员工月工资情况两个视图 部门工资情况视图: 员工月工资视图: A 物理设计 数据库最终是要存储在物理设备上的,为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程,就是数据库的物理设计。数据库的物理结构依赖于给定的计算机系统和DBMS。 实施与维护 确定了数据库的逻辑结构和物理结构后,就可以用所选用的DBMS提供的数据定义语言(DDL)来严格定义数据库,包括建立表、定义表的约束等。数据库系统投入运行后,对数据库设计进行评价、调整、修改等维护工作。 四、界面设计及相关代码 数据库的连接操作 using System; using ; using ; using 工资管理系统 { ows) { if == row["user_id"].ToString()) { = row["user_id"].ToString(); = row["username"].ToString(); if == row["password"].ToString()) { = ; (); break; } else { ("密码错误!请重新输入!"); = ""; } } else { i = i + 1; if (i == [str_vtab]. { ("无此用户信息,请重新输入!"); = ""; = ""; (); } } } } #endregion #region 登陆信息检查 private void button1_Click(object sender, EventArgs e) { if == "" && == "") { ("请输入账户和密码!"); (); } else if == "" && != "") { ("请输入账户名"); (); } else if != "" && == "") { ("请输入密码!"); (); } else if (! && ! { ("请选择登陆身份!"); } else if { if == "001" && == "1001") { Form2 myform2 = new Form2(); (); } else { ("用户名和密码错误!"); = ""; = ""; = false; = false; } } else if { Form3 myform3 = new Form3(); IDverify("Staff", myform3); } } #endregion #region 重置登陆信息 private void button2_Click(object sender, EventArgs e) { = ""; = ""; = false; = false; (); } #endregion } } 管理员操作 1) 查询员工信息 2) 查询部门信息 3) 查询津贴信息: 4) 查询考勤信息: 5)员工月工资汇总: 6)部门平均工资: namespace 工资管理系统 { public partial class Form2 : Form { BaseOperate boperate = new BaseOperate(); ows) "emp_no"].ToString() + "\t" + row["emp_name"].ToString() + "\t" + row["emp_pos"].ToString() + "\t " + row["sex"].ToString() + "\t " + row["depart_name"].ToString() + "\t\t" + row["emp_time"].ToString() + "\t" + row["telephone"].ToString()); } #endregion #region 显示部门信息 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_name"].ToString() + "\t\t" + row["depart_head"].ToString() + "\t " + row["depart_emps"].ToString() + "\t\t" + 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 = (str_sqlcom, str_vtab); "职工号\t\t加班月份\t加班天数\t加班工资"); foreach (DataRow row in [str_vtab].Rows) "emp_no"].ToString() + "\t\t" + row["overtime_month"].ToString() + "\t\t " + row["overtime_days"].ToString() + "\t\t " + row["overtime_pay"].ToString()); } #endregion #region 出勤统计 private void 出勤统计ToolStripMenuItem_Click(object sender, EventArgs e) { string str_sqlcom = "Select * from Attendance"; string str_vtab = "vistual_table"; DataSet thisDset = (str_sqlcom, str_vtab); "职工号\t\t考勤月份\t缺勤天数\t扣除工资"); foreach (DataRow row in [str_vtab].Rows) "emp_no"].ToString() + "\t\t" + row["attend_month"].ToString() + "\t\t " + row["absent_days"].ToString() + "\t\t " + row["absent_pay"].ToString()); } #endregion #region 员工月工资汇总 private void 员工月工资汇总ToolStripMenuItem_Click(object sender, EventArgs 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"].ToString() + "\t" + row["pay_time"].ToString() + "\t" + row["basic_wage"].ToString() + "\t" + row["overtime_pay"].ToString() + "\t" + row["absent_pay"].ToString() + "\t" + row["month_pay"].ToString()); } #endregion #region 各部门工资情况 private void 各部门工资情况ToolStripMenuItem_Click(object sender, EventArgs e) { string str_sqlcom = "select * from DepartAvgWage"; string str_vtab = "vistual_table"; DataSet thisDset = (str_sqlcom, str_vtab); "部门\t 月份\t 部门人数\t部门总工资\t部门平均工资"); foreach (DataRow row in [str_vtab].Rows) "depart_name"].ToString() + "\t " + row["pay_month"].ToString() + "\t " + row["depart_emps"].ToString() + "\t\t " + row["sum_wage"].ToString() + " \t " + row["avg_wage"].ToString()); } #endregion #region 更新数据 private void 更新数据ToolStripMenuItem_Click(object sender, EventArgs e) { Form4 newform = new Form4(); (); } #endregion #region 退出 private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) { (); } #endregion } } 7)信息修改: namespace 工资管理系统 { public partial class Form4 : Form { BaseOperate boperate = new BaseOperate(); ows) { if (row["emp_no"].ToString() == { string no = ; string name = ""; if == "") name = row["emp_name"].ToString(); else name = string pos = ""; if == "") pos = row["emp_pos"].ToString(); else pos = string Sex = ""; if (! && ! Sex = row["sex"].ToString(); else if Sex = else if Sex = string depart = ""; if == "") depart = row["depart_name"].ToString(); else depart = string time = ""; if == "") time = row["emp_time"].ToString(); else time = string tel = ""; if == "") tel = row["telephone"].ToString(); else tel = string str_sqlcom2 = "update EmpBasicInfo set emp_name=@name, emp_pos=@pos, sex=@Sex, depart_name=@depart, emp_time=@time, telephone=@tel where emp_no=@no"; SqlConnection mycon = (); (); SqlCommand cmd = new SqlCommand(str_sqlcom2, mycon); SqlParameter par_no = new SqlParameter("@no", no); SqlParameter par_name = new SqlParameter("@name", name); SqlParameter par_pos = new SqlParameter("@pos", pos); SqlParameter par_sex = new SqlParameter("@Sex", Sex); SqlParameter par_depart = new SqlParameter("@depart", depart); SqlParameter par_time = new SqlParameter("@time", time); SqlParameter par_tel = new SqlParameter("@tel", tel); int result = (); if (result > 0) ("信息修改成功!"); search = 1; break; } } if (search == 0) ("无此员工!"); } } #endregion #region 添加新员工 ows) { if (row["emp_no"].ToString() == { ("此工号的员工已存在!请重新输入!"); search = 1; break; } } if (search == 0) { DataRow newRow = ["EmpBasicInfo"].NewRow(); newRow); ows) { if (row["depart_name"].ToString() == { int num = (row["depart_emps"].ToString()) + 1; row["depart_emps"] = num; } } (thisDset, "Department"); /*更新表Allowance, Attendance*/ string no = ; (); SqlCommand cmd1 = new SqlCommand("insert into Allowance values (@no ,'201310', '', '')", thisConn); SqlCommand cmd2 = new SqlCommand("insert into Attendance values (@no, '201310', '', '')", thisConn); SqlParameter par_no1 = new SqlParameter("@no", no); (); SqlParameter par_no2 = new SqlParameter("@no", no); (); /*更新表Staff*/ string id = string name = (); string pwd = ("1", "1115"); SqlCommand cmd3 = 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 #region 删除员工 ows) { if (row["emp_no"].ToString() == { string str_sqlcom1 = "delete from EmpBasicInfo where emp_no = " + ; (); SqlCommand cmd = new SqlCommand(str_s- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 工资管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文