1、 1 / 15数据库原理课程设计设计题目:员工薪资管理系统学 号: 52 / 15昆明理工大学信息工程与自动化学院2016 年 12 月前言当今社会,员工的薪资管理是每个公司和单位的一个重要内容,随着企业的发展,公司员工的增加以及调动,员工的薪资的管理工作也变得越来越复杂。薪资管理关系到每个员工的基本工资、福利补贴、失业保险、住房公积金和奖金等项目,是员工们普遍关注的问题。同时,资金是企业生存与发展的重要支撑,资金的运转关系到企业的整体发展。而早期的员工薪资是通过人工处理纸质资料来进行管理的,这不仅耗时,还难以避免工资发放错误的现象。如今,计算机科学技术快速发展,为员工薪资管理提供了有利的条件
2、。通过计算机来对此进行管理,节省了人力、物力、财力,提高了准确率,满足了企业的财务管理、薪资发放的需要,能够给企业带来更好地效益。本学期,我们学习了 Access 数据库管理,让我们获得了多一项技能。同时,也让我们有了牛刀小试的想法。学习外语的我们,今后的工作很有可能会用到这一项技能,学习设计一个小型的数据库无疑是最好的锻炼。对我而言,员工的薪资管理可能与今后工作更有联系,因此,想通过此次设计实验得到锻炼,并希望能够得到老师的点拨,以求更大进步。通过设计大实验,验证和巩固在课堂上学习的知识,掌握数据库的表建立、查询、窗体和宏的基本使用,从而使自己具有设计小型数据库管理系统的能力,为自己的多添一
3、分彩。并且,希望能后通过此次将课本上的理论知识和实际有机的结合,既要动手又要动脑,独立实践的机会,来锻炼自己的动手能力和实践能力,培养自己计算机技术的应用能力和综合分析问题、解决问题的能力。在背景资料的基础上,结合员工薪资管理的实际情况,使用 Microsoft Access2003在 E-R 图中用矩形 表示,矩形框内写明实体名;比如学生5 / 15张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在 E-R 图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都
4、是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在 E-R 图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n 或m : n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。系统 E-R 图6 / 151奖励工资贡献有效建议条数缺勤次数扣罚金额奖励金额迟到次数
5、奖金总金额11111n1发放住房贷款失业保险基本工资福利补贴系统账号和密码密码账号发放日期领取日期参加工作时间性别姓名编号科室年龄管理管理实际发放工资奖励职业用户名密码员工科室科室编号科室名称科长或总经理7 / 15四、数据库物理结构设计1、系统组织结构图员工登陆界面编辑、查询统计、增加、删除查询基本信息查询工资信息查询奖励信息员工薪资管理系统查询、修改 查询、修改查询工资信息奖励工资管理员工工资管理员工信息管理管理员部门信息管理系统用户管理离职人员管理增加员工管理8 / 152、表结构定义表 1 员工信息表表 2 科室信息表表 3 员工薪资表字段名称 数据类型 字段大小 是否设置主键员工编号
6、 文本 10 是实际发放工资 货币 否基本工资 货币 否福利补助 货币 否住房贷款 货币 否是否发放 是/否 否字段名称 数据类型 字段大小/ 格式 是否设置主键员工编号 文本 10 是姓名 文本 10 否性别 文本 1 否出生日期 日期 短日期 否参加工作时间 日期 短日期 否科室 数字 整型 否职位 文本 10 否密码 文本 6 否是否辞职 是/否 否字段名称 数据类型 字段大小 是否设置主键科室编号 文本 10 是科室名称 文本 10 否科长编号 文本 5 否科长姓名 文本 10 否9 / 15表 4 奖励工资表字段名称 数据类型 字段大小 是否设置主键员工编号 文本 4 是扣罚金额 货
7、币 否奖罚总金额 货币 否3、表具体信息及关系(1)表具体信息员工信息表员工编号 姓名 性别 出生日期 参加工作时间 科室 职位 密码 是否辞职001 张三丰 男 1996/2/19 2016/2/2 1经理 001 False002 李大仁 男 1997/3/8 2016/2/2 2编程员 002 False003 吕大鱼 男 1996/1/1 2016/2/2 3话务员 003 False004 罗小姣 女 1997/3/9 2016/2/2 2普通员工 004 False005 张萌 女 1993/3/9 2016/2/2 1普通员工 005 False006 杨峰 男 1997/3/4
8、 2016/2/2 3普通员工 006 False007 万小华 男 1996/2/4 2016/2/2 1普通员工 007 False员工薪资表员工编号 实际发放工资 基本工资 福利补助 住房贷款 是否发放001 3,300.003,000.001,000.00 500.00 True002 3,400.003,000.001,000.00 500.00 True003 3,500.003,000.001,000.00 500.00 True004 3,500.003,000.001,000.00 500.00 True005 3,700.003,000.001,000.00 500.00
9、True006 3,500.003,000.001,000.00 500.00 True007 3,800.003,000.001,000.00 500.00 True10 / 15奖励工资表员工编号 奖励金额 扣罚金额 奖罚总金额001 1,000.00 200.00 800.00002 1,000.00 100.00 900.00003 1,000.00 300.00 700.00004 1,000.00 200.00 800.00005 1,000.00 100.00 900.00006 1,000.00 100.00 900.00007 1,000.00 300.00 700.00科室
10、信息表科室编号 科室名称 科长编号 科长姓名1 办公室 101 张三2 编程室 102 李四3 咨询室 103 王二(2)表关系图11 / 15五、数据库实现1、创建选择查询:创建一个名为“员工实发工资查询”的查询,根据基本表的信息员工信息表、员工奖金查询和员工薪资表的信息计算出员工的实发工资,并显示相关信息。操作方法为:首先进入查询设计视图,把所需的三个表显示出来,然后将所需字段选入查询的设计区中,如图 1 所示,在“实发工资”字段的行中,使用生成器生成公式:员工薪资表!基本工资+ 员工薪资表!福利补助-员工薪资表!住房贷款+员工奖金查询 !奖罚总金额,随着数据的改变而自动运算。保存查询为“
11、员工实发工资查询” ,便可计算出员工的实发工资、图 12、创建参数查询:创建一个名为 “员工输入员工编号和密码查询个人实发工资”的查询,当输入不同的员工编号和密码时,显示相应员工的实发工资信息。此查询用于员12 / 15工查询个人信息,确保了对其他员工信息的保密性。操作方法为:首先进入查询设计视图,将各个字段选入查询的设计区中,如图 2 所示,在“员工编号”字段的条件行中,输入请输入员工编号:作为参数,在“密码”字段的条件行中,输入请输入密码:。当运行本查询时会出现带有提示信息“请输入员工编号:”的对话框,输入所需查询的员工的编号,按确定键,接着会有提示信息“请输入密码” ,输入之后就会得到对
12、应员工的实发工资的信息。图 23、部分报表和宏的设计流程:(1) 、创建报表:创建一个名为“按科室汇总员工实发工资”的报表。操作过程:打开创建报表向导,以“员工实发工资”为数据源,将所需字段添加,添加“科室”字段为分组级别,以“员工编号”字段为升序排序,单击汇总选项,进行“实发工资” 、 “基本工资” 、 “奖励总金额”等的汇总,选择报表样式,输入名称保存。然后打开预览并在设计视图中美化外观。如图 4 所示:13 / 15图 4(2) 、创建宏:创建一个名为“管理员管理权限宏”的宏组。操作过程:A先用窗体设计视图创建一个名为“管理员管理权限”的窗体:B创建“管 理 员 权 限 宏 ”, 点 击
13、 “宏 名 ”和 “条 件 宏 ”按 钮 , 让 窗 口 变 为如 下 图 所 示 开 始 进 入 宏 命 令 操 作 :图 5C 建 立 一 个 宏 组 , 宏 的 设 计 视 图 如 图 6 所 示 :14 / 15图 64、实现难点:1、 奖 励 工 资 和 实 发 工 资 的 运 算 ;2、 管 理 员 登 录 界 面 宏 和 员 工 登 陆 界 面 宏 的 设 计 ;3、 管 理 员 管 理 权 限 和 员 工 权 限 的 设 计 ;4、 输 入 新 的 员 工 信 息 和 薪 资 信 息 窗 体 的 设 计 ;5、 员 工 的 不 同 的 查 询 权 限 功 能 的 实 现 。六、
14、设计体会通过为期两周的上机实验和课程设计,我学到了很多书本上不能学到的东西,对数据库的了解有所提高,不再局限于表面字面意思,而是通过深入了解并动手实践来掌握一些基本基础,毕竟自己亲自设计过一个数据库,不再是书本上的理论,空空而谈,所以受益匪浅。学 习 理 论 是 实 践 的 基 础 。 经 过 本 次设 计 经 历 , 我 深 刻 地 认 识 到 了 认 真 学 习 课 堂 的 理 论 知 识 以 及 做 好 平 时 的 课程 实 验 , 并 形 成 一 定 的 知 识 体 系 是 本 次 课 程 设 计 的 基 础 , 尤 为 重 要 。 再 者 ,15 / 15熟 能 生 巧 。 在 学
15、习 的 过 程 中 多 加 练 习 是 也 是 很 重 要 的 。在 Access 课 程 设 计 过 程 中 逐 步 学 习 使 用 Access2003 和 Access2007数 据 库 管 理 软 件 , 但 由 于 Access2003 版 本 在 自 己 电 脑 无 法 使 用 , 在 设 计 过程 中 花 了 一 点 时 间 适 应 Access2007 的 使 用 。 学 会 了 在 Access2007 中 建 立数 据 库 , 简 单 基 本 的 数 据 库 操 作 管 理 , 控件属性的基本操作, 还 有 数 据 库各 个 对 象 ( 除 了 页 外 ) 的 基 本 功
16、能 。 综合设计的前一段时间用于确立课程设计的基本设计(包括 E-R 图和系统结构图) 。一边学习做好课程每次实验一边结合实例程序,逐渐弄懂系统的设计思想,并进一步明确系统实现过程;设计中期在于搜集数据表需要的数据,并作一些查询和窗口的设计和完善;设计的最后阶段,在于完善系统功能和具体细节(如美观等)的修改。在课程设计的全部过程中遇到了一些困难,但经过自己认真分析和寻求他人帮助,基本完成了课程设计的要求。因此,我认识到了在学习的过程中应多和身边的同学交流,互相学习,取长补短,还应请教老师或上网查找资料,这样在学习中会少走弯路,不断完善自我。不足之处:形成一个比较好的知识系统,导致课程设计的初步遇到了很多困难。还有在命令语句等编程方面的知识仍要付出很大的努力方可达到学习Access 的基本要求。