免费预览已结束,剩余19页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库类课程设计 系统开发报告 学 号 姓 名 题 目 薪资管理系统 指导教师 提交时间 2013 年 6 月 1 日 计算机科学与应用系 目录 第一章 需求分析 1 第二章 系统功能设计 2 第三章 数据库设计 3 3 1 数据库设计 3 3 2 数据表设计 4 3 3 数据库编程 6 第四章 功能的实现 使用说明 11 4 1 实现按照科室录入个人的基本资料 工资和扣除金额的数据 11 4 2 实现查询个人详细资料 及工资各项明细 11 4 3 计算个人的实际发放工资 11 4 4 按科室 职业分类统计人数和工资金额 11 4 5 能够修改工作人员信息 13 结束语 15 参考文献 15 附录 源程序 16 数据库类课程设计 报告评分标准 20 0 第一章第一章 需求分析需求分析 系统功能分析阶段的任务就是确定该系统要解决的问题及其具体要求 需 要通过与用户的交流和沟通明确对系统的功能要求 最终列出系统可以实现的 功能由用户确认 根据所给出的背景资料 根据所给出的背景资料 1 某单位现有 1000 名员工 其中有管理人员 财务人员 技术人员和销售 人员 2 该单位下设 4 个科室 即经理室 财务科 技术科和销售科 3 工资由基本工资 福利补贴和奖励工资构成 失业保险和住房公积金在工 资中扣除 4 每个员工的基本资料有姓名 性别 年龄 单位和职业 如经理 工程师 销售员等 5 每月个人的最高工资不超过 3000 元 工资按月发放 实际发放的工资金 额为工资减去扣除 需要实现的功能要求如下 需要实现的功能要求如下 1 实现按照科室录入个人的基本资料 工资和扣除金额的数据 2 实现查询个人详细资料 及工资各项明细 3 计算个人的实际发放工资 4 按科室 职业分类统计人数和工资金额 5 能够删除辞职人员的数据 6 能够修改工作人员的信息 1 第第二章二章 系统功能设计系统功能设计 通过对上述各项功能的分析 分类 综合 按照模块化程序设计的要求 得到 如下图所示的功能模块图 登 录 控 制 用 户 管 理 修 改 密 码 输 入 员 工 基 本 信 息 查 询 员 工 基 本 信 息 修 改 员 工 基 本 信 息 输 入 员 工 薪 资 信 息 查 询 员 工 薪 资 信 息 修 改 员 工 薪 资 信 息 员 工 薪 资 管 理 系 统 管 理 薪资管理系统 员 工 基 本 信 息 管 理 图 1 系统功能模块图 2 第第 3 章章 数据库设计数据库设计 数据库在一个管理信息系统中占有非常重要的地位 数据库结构的好坏将 直接影响到应用系统操作效率已经能否保证数据的一致性 完成性和安全性 3 1 数据库设计 根据薪资管理系统的功能要求 通过分析系统要设计的相关实体一集要收 集 存储和操纵数据信息 得到如图 2 所示的实体及其属性图 图 2 实体及其属性图 员工 性别 单位编号 姓名年龄职业 员工编号 单位 单位编号单位名称 工资 基本工资 奖金工资 福利补贴 失业保险 住房基金 3 员工基本信息 单位编号 员工编号 姓名 性别 职业 年龄 单位信息 单位编号 单位名称 薪资信息 基本工资 奖金工资 福利补贴 失业保险 住房公积金 实际 工资 3 2 数据表设计 3 2 1 根据关系 建立员工信息表表名为 Staff CREATE TABLE Staff SofficeNo VARCHAR 10 SNo VARCHAR 10 Sname VARCHAR 10 Ssex CHAR 2 Sjob VARCHAR 10 Sage SMALLINT 列名如图 3 图 3 3 2 2 用 INSERT INTO 语句 向 Staff 表录入员工的单位编号 员工编号 姓 名 性别 职业 年龄等各项信息 例如 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 01 0001 李明 男 管理人员 29 打开 Staff 表即如图 4 图 4 3 2 3 建立单位信息表 Office 4 CREATE TABLE Office Officename VARCHAR 10 SofficeNo VARCHAR 10 列名如图 5 图 5 3 2 4 用 INSERT INTO 语句 向 Office 录入单位的单位名称 单位编号等部 门信息 例如 INSERT INTO Office Officename SofficeNo VALUES 经理室 01 打开 Office 表即如图 6 图 6 3 2 5 建立薪资信息表 Salary CREATE TABLE Salary SofficeNo VARCHAR 10 Sjob VARCHAR 10 wage MONEY 工资 bonus MONEY 奖金 welfare MONEY 补贴 Insurance MONEY 保险 HF MONEY 住房公积金 FS MONEY 实际工资 列名如图 7 5 图 7 3 2 6 用 INSERT INTO 语句 向员工信息表 Salary 录入基本工资 奖励工资 福利补贴 失业保险 住房公积金等薪资明细 INSERT INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 01 管理人员 2000 300 300 200 20 NULL 并利用利用 update set 语句 使实际工资 基本工资 奖励工资 福利补贴 失业保险 住房公积金 具体语句如下 update Salary set FS wage bonus welfare Insurance HF 打开 Salary 表如图 8 图 8 3 3 数据库编程 3 3 1 建立查询语句 根据职业查询工资各项明细 具体代码如下 select SofficeNo 部门编号 Sjob 职业 wage 基本工资 bonus 奖励工资 welfare 福利补 贴 Insurance 失业保险 HF 住房公积金 FS 实际工资 from Salary where Sjob 财务人员 查询结果如图 9 6 图9 3 3 2 为了方便查询 建立名为 pro Salary 存储过程 通过部门号 员工号 职 业 查询具体员工信息和实际工资 具体代码如下 create procedure pro Salary officeID VARCHAR 10 部门 ID staffID VARCHAR 10 员工 ID job VARCHAR 10 职位 AS select A Sname 姓名 A Ssex 性别 A Sjob 职业 A Sage 年龄 B Officename 部门名称 C wage 基本工资 C bonus 奖励工资 C welfare 福利补贴 C Insurance 失业保险 C HF 住房公积金 C FS 实际工资 from Staff as A Office as B Salary as C where A SofficeNo B SofficeNo and B SofficeNo C SofficeNo and B SofficeNo officeID and A Sjob C Sjob and A Sjob job and A SNo staffID 调用存储过程 具体代码如下 exec pro Salary officeID 02 staffID 0004 job 管理人员 调用结果如图 10 图 10 3 3 3 根据工号查询员工信息 具体代码如下 select SofficeNo 部门编号 SNo 工号 Sname 姓名 Ssex 性别 Sjob 职业 Sage 年龄 from Staff where SNo 0001 查询结果如图 11 7 图 11 3 3 4 根据部门名称查询部门编号 再根据部门编号查询本单位人 具体代码如 下 select Officename SofficeNo from Office where Officename 技术科 select count 所查单位的总人数 from Staff where SofficeNo 03 查询结果如图 12 图 12 3 3 5 根据职业名称 查询本职业人数 具体代码如下 select count 所查职业的总人数 from Staff where Sjob 管理人员 查询结果如图13 8 图13 3 3 6 查询某一职业人员的实际工资 具体代码如下 select FS 所查职业的实际工资 from Salary where Sjob 技术人员 查询结果如图14 图14 3 3 7 为方便用户查看数据 创建列名分别为工号 姓名 单位 职业 实际工资的 视图 具体代码如下 create view V salaryinfo as select A SNo A Sname A SofficeNo A Sjob B FS from Staff A Salary B where A SofficeNo B SofficeNo and A Sjob B Sjob 查询试图的语句代码如下 select distinct from V salaryinfo 运行结果如图 15 图 15 3 3 8 在表 Staff 中建立 insert 触发器 查询新添加员工的信息 具体代码如下 9 create trigger T Staff on Staff for insert as select Sname 新添加的员工 SNo SofficeNo Ssex Sjob Sage from inserted INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 04 0013 姚远 男 销售人员 25 运行结果如图 16 图 16 3 3 9 在表 Staff 中建立 delete 触发器 查询被删除员工的信息 具体代码如下 create trigger T Staff1 on Staff for delete as select Sname 被删除的员工 SNo SofficeNo Ssex Sjob Sage from deleted DELETE from Staff where SNo 0013 and Sname 姚远 运行结果如图 17 图 17 10 第四章第四章 功能的实现功能的实现 4 1 实现按照科室录入个人的基本资料 工资和扣除金额的数据 实现语句如下 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 04 0014 韩梅梅 女 销售人员 29 附 以上是录入科室编号为 04 工号为 0014 姓名为韩梅梅 性别为女 职业为销售人员 年龄为 29 的员工信息 运行结果如图 18 图 18 4 2 实现查询个人详细资料 及工资各项明细 具体实现语句如下 exec pro Salary officeID 02 staffID 0004 job 管理人员 附 以上是调用名为 pro Salary 存储过程 以实现通过部门号 员工号 职业 查询具体 员工信息和工资各项明细及实际工资 运行结果如图 19 图 19 4 3 计算个人的实际发放工资 具体实现语句如下 update Salary set FS wage bonus welfare Insurance HF 附 利用 update set 语句 使实际工资 基本工资 奖励工资 福利补贴 失业保险 住房公 积金 4 4 按科室 职业分类统计人数和工资金额 4 4 1 按科室统计人数 具体实现语句如下 11 select Officename SofficeNo from Office where Officename 技术科 select count 所查单位的总人数 from Staff where SofficeNo 03 附 根据部门名称查询部门编号 再根据部门编号查询本单位人数 运行结果如图 22 图 22 4 4 2 按科室职业统计人数 具体实现语句如下 select count 所查职业的总人数 from Staff where Sjob 管理人员 运行结果如图 23 图 23 4 4 3 根据职业查询工资金额 具体语句如下 select SofficeNo 部门编号 Sjob 职业 wage 基本工资 bonus 奖励工资 welfare 福利补 贴 Insurance 失业保险 HF 住房公积金 FS 实际工资 from Salary where Sjob 财务人员 运行结果如图 24 12 图 24 4 4 4 根据科室查询工资金额 具体语句如下 select SofficeNo 部门编号 Sjob 职业 wage 基本工资 bonus 奖励工资 welfare 福利补 贴 Insurance 失业保险 HF 住房公积金 FS 实际工资 from Salary where SofficeNo 02 运行结果如图 25 图 25 4 4 5 能够删除辞职人员的数据 具体实现语句如下 DELETE from Staff where SNo 0013 and Sname 姚远 运行结果如图 26 图 26 4 5 能够修改工作人员信息 具体实现语句如下 update Staff set Sage 24 where SNo 0001 附 修改员工号为 0001 的员工年龄 查询运行结果语句如下 13 select from Staff where SNo 0001 运行结果如图 27 图 27 14 结束语结束语 在课程设计过程中 深刻体会到 理论和应用结合的重要性 平时课本上 学的一些定义和代码 在实际应用中会出现很多状况 比如 查询结果出现多 个重复现象 查询结果为空 或者遇到定义不明确 在解决这些问题的过程中 对于自己的知识面和解决问题的能力都有很大提升 当然 在编写代码时 也遇到很多调试错误 遇到问题是跟同学交流 向 前辈请教也是相当有必要的 课本只告诉我们怎么做 却不能为教会我们具体 解决问题和错误的方法手段 整个课程设计过程中 其实我 QQ 几乎都是长期 在线的 在遇到问题 通过百度搜索 反复调试都无法彻底解决时 到班级群 里问同班同学是一个不错的途径 大家都在课程设计 都会遇到这样那样的问 题 也许我解决不了的问题 正是他们刚刚遇到并已经找到解决方法的 另外 在有关计算机的技术群 会有很多高手 只要虚心请教 他们是很乐意帮忙解 决问题的 有时候 自己一个人反复检查半天都调试不出来的语句 在他们的 指点下半分钟就搞定了 总之 在遇到问题时 不管是利用百度 QQ 学习交 流群 学会通过各种渠道找到解决问题的方法很重要 一篇课程设计几乎把一学期学到的东西都给串起来了 以前课堂上学的那 些定义和代码变得不再抽象遥远 在应用中真的学到了很多很多的东西 可能我还是比较菜鸟吧 虽然 熬了一星期写好了一些前台和后台的代码 逻辑却越来越乱 后来 把做的东西全部推翻 又一步一步重新编写 依然存 在很多不足 还有很多方面有待改进 会继续加油的 参考文献 参考文献 1 王珊 萨师煊 数据库系统概论 第四版 高等教育出版社 2006 2 John J Patrick 著 刘红伟 董民辉 等译 SQL 编程基础 原书第 3 版 机械工业出版社 2009 3 汤荷美 周立柱等著 数据库技术及应用 2011 15 附录 源程序 附录 源程序 CREATE TABLE Staff SofficeNo VARCHAR 10 SNo VARCHAR 10 Sname VARCHAR 10 Ssex CHAR 2 Sjob VARCHAR 10 Sage SMALLINT 新建一个员工信息表名为 Staff CREATE TABLE Office Officename VARCHAR 10 SofficeNo VARCHAR 10 新建一个部门信息表名为 Office CREATE TABLE Salary SofficeNo VARCHAR 10 Sjob VARCHAR 10 wage MONEY 工资 bonus MONEY 奖金 welfare MONEY 补贴 Insurance MONEY 保险 HF MONEY 住房公积金 FS MONEY 实际工资 新建一个薪水信息表名为 Salary INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 01 0001 李明 男 管理人员 29 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 01 0002 金金 女 管理人员 30 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 01 0003 吴青峰 男 管理人员 35 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 02 0004 李高明 男 管理人员 23 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 02 0005 崔颢 男 财务人员 25 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 02 0006 李雷 男 财务人员 23 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage 16 VALUES 03 0007 高权威 男 管理人员 27 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 03 0008 魏来 男 技术人员 25 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 03 0009 师鑫 男 技术人员 25 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 04 0010 魏一 女 管理人员 30 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 04 0011 宋康 男 销售人员 25 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 04 0012 苗鹏 男 销售人员 27 INSERT INTO Staff SofficeNo SNo Sname Ssex Sjob Sage VALUES 04 0014 韩梅梅 女 销售人员 29 向 Staff 表录入员工信息 select SofficeNo 部门编号 SNo 工号 Sname 姓名 Ssex 性别 Sjob 职业 Sage 年龄 from Staff where SNo 0001 根据工号查询员工信息 INSERT INTO Office Officename SofficeNo VALUES 经理室 01 INSERT INTO Office Officename SofficeNo VALUES 财务科 02 INSERT INTO Office Officename SofficeNo VALUES 技术科 03 INSERT INTO Office Officename SofficeNo VALUES 销售科 04 向 Office 表录入部门信息 INSERT INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 01 管理人员 2000 300 300 200 20 NULL INSERT INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 02 管理人员 2000 300 300 200 20 NULL INSERT 17 INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 03 管理人员 2000 300 300 200 20 NULL INSERT INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 04 管理人员 2000 300 300 200 20 NULL INSERT INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 02 财务人员 1800 250 250 200 18 NULL INSERT INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 03 技术人员 1700 200 200 200 17 NULL INSERT INTO Salary SofficeNo Sjob wage bonus welfare Insurance HF FS VALUES 04 销售人员 1000 200 700 200 10 NULL 向 Salary 表录入薪资信息 update Salary set FS wage bonus welfare Insurance HF update Staff set Sage 24 where Sname 李明 select from Staff where Sname 李明 利用 update set 语句 使实际工资 基本工资 奖励工资 福利补贴 失业保险 住房 公积金 select SofficeNo 部门编号 Sjob 职业 wage 基本工资 bonus 奖励工资 welfare 福利补 贴 Insurance 失业保险 HF 住房公积金 FS 实际工资 from Salary where SofficeNo 02 查询语句 根据职业查询工资各项明细 create procedure pro Salary officeID VARCHAR 10 部门 ID staffID VARCHAR 10 员工 ID job VARCHAR 10 职位 AS select A Sname 姓名 A Ssex 性别 A Sjob 职业 A Sage 年龄 B Officename 部门名称 C wage 基本工资 C bonus 奖励工资 C welfare 福利补贴 C Insurance 失业保险 C HF 住房公积金 C FS 实际工资 from Staff as A Office as B Salary as C where A SofficeNo B SofficeNo and B SofficeNo C SofficeNo and B SofficeNo officeID and A Sjob C Sjob and A Sjob job 18 and A SNo staffID 建立名为 pro Salary 存储过程 通过部门号 员工号 职业 查询具体员工信息 和实际工资 exec pro Salary officeID 02 staffID 0004 job 管理人员 调用存储过程 select Officename SofficeNo from Office where Officename 技术科 select count 所查单位的总人数 from Staff where SofficeNo 03 根据部门名称查询部门编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年浙江艺术职业学院单招职业倾向性考试必刷测试卷附答案
- 2026年山西金融职业学院单招职业技能测试题库及答案1套
- 2026年陕西省汉中市单招职业适应性考试题库必考题
- 2026年福州职业技术学院单招职业适应性考试题库必考题
- 2026年南阳职业学院单招职业技能测试题库及答案1套
- 2026年延安职业技术学院单招职业适应性考试题库及答案1套
- 2026年三门峡职业技术学院单招职业技能考试必刷测试卷附答案
- 2026年绍兴文理学院单招职业技能考试题库及答案1套
- 2026年抚州幼儿师范高等专科学校单招职业倾向性测试必刷测试卷附答案
- 2026年四川汽车职业技术学院单招职业适应性考试题库附答案
- 桥下空间整治报告范文
- 上海二手房转让合同样本
- DB32T 1590-2010 钢管塑料大棚(单体)通 用技术要求
- 湖北省武汉市部分学校2024-2025学年高一上学期期中考试政治试题 含解析
- 《内经选读》习题库及标准答案
- ISO45001管理体系培训课件
- 南京信息工程大学《数字图像处理Ⅰ》2021-2022学年期末试卷
- 合肥热电集团招聘笔试题库2024
- 老年病科医生工作总结
- 地屈孕酮保胎治疗
- 医院保洁应急处置方案
评论
0/150
提交评论