教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

数据库原理课程设计报告-工资管理系统(2)

来源:网络收集 时间:2026-03-06
导读: `departmentId` int(11) NOT NULL,//员工所属部门号,外键 `basicSalary` int(11) NOT NULL,//员工的基本工资,外键 `departmentAllowance` int(11) NOT NULL,//员工所在部门的补贴,外键 `isGet` int(11) NOT NULL

`departmentId` int(11) NOT NULL,//员工所属部门号,外键 `basicSalary` int(11) NOT NULL,//员工的基本工资,外键

`departmentAllowance` int(11) NOT NULL,//员工所在部门的补贴,外键 `isGet` int(11) NOT NULL,//员工是否领取工资 PRIMARY KEY (`staffId`), )

创建员工表

CREATE TABLE `staff` (

`staffId` int(11) NOT NULL AUTO_INCREMENT,//员工编号,主键自增 `staffName` varchar(255) NOT NULL,//员工姓名 `staffAge` int(11) DEFAULT NULL,//员工年龄 `staffSex` varchar(255) DEFAULT NULL,//员工性别 `staffPhone` varchar(255) DEFAULT NULL,//员工电话

`departmentId` int(11) DEFAULT NULL,//员工所在部门,外键 `professionId` int(11) DEFAULT NULL,//员工所属工种,外键 PRIMARY KEY (`staffId`), )

创建考勤表

CREATE TABLE `works` (

`staffId` int(11) NOT NULL,//员工编号,外键 `workDate` date NOT NULL,//工作日 `isWork` int(11) NOT NULL,//是否打卡 )

4.3 创建存储过程

/*创建查询部门全部员工的存储过程,只有一个输入参数:部门编号*/ DROP PROCEDURE IF EXISTS `dpt_staff`; DELIMITER ;;

CREATE DEFINER=`root`@`localhost` PROCEDURE `dpt_staff`(`id` int) BEGIN

SELECT * FROM staff where departmentId=id; END ;;

DELIMITER ;

/*调用该存储过程*/

Call dpt_staff(部门编号(1或2));

/*创建查询单人月工资的存储过程,一个输入参数:员工编号;一个输出参数:月总工资;*/

DROP PROCEDURE IF EXISTS `monthSalary`; DELIMITER ;;

CREATE DEFINER=`root`@`localhost` PROCEDURE `monthSalary`(IN `id` int,OUT `c` int) BEGIN

DECLARE a INT; DECLARE b INT;

/*把查询到的结果赋值给变量*/

SELECT basicSalary into a FROM salary WHERE staffId=id;

SELECT departmentAllowance into b FROM salary WHERE staffId=id; set c = a+b;

select c as monthSalary; END

;;

DELIMITER ;

/*创建生成年终奖的存储过程,一个输入参数:员工编号*/ DROP PROCEDURE IF EXISTS `yearBonus`; DELIMITER ;;

CREATE DEFINER=`root`@`localhost` PROCEDURE `yearBonus`(`id` int) BEGIN

DECLARE a INT DEFAULT 1000; DECLARE b DOUBLE;

DECLARE c INT DEFAULT 12; DECLARE month_Salary INT; /*调用存储过程monthSalary(),得到其输出参数*/ call monthSalary(id,month_Salary); SET b=(month_Salary*c+a)/c; SELECT b; END ;;

DELIMITER ;

/*调用存储过程*/

Call yearBonus(员工编号)

4.4 创建视图

/*创建部门员工考勤情况的试图*/

DROP VIEW IF EXISTS `dpt_stf_workinfo`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `dpt_stf_workinfo` AS SELECT department.departmentId, staff.staffId,

staff.professionId, works.isWork, works.workDate FROM

department

INNER JOIN profession ON profession.departmentId = department.departmentId

INNER JOIN staff ON staff.professionId = profession.professionId AND staff.departmentId = department.departmentId INNER JOIN works ON works.staffId = staff.staffId ;

/*创建员工是否领取工资的试图*/ DROP VIEW IF EXISTS `isgetsalary`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` VIEW `isgetsalary` AS SELECT staff.staffId, staff.staffName, salary.isGet FROM staff

INNER JOIN salary ON salary.staffId = staff.staffId ;

/*创建各个员工工资情况的试图*/ DROP VIEW IF EXISTS `salaryinfo`;

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `salaryinfo` AS SELECT department.departmentId, staff.staffId, staff.staffName, staff.professionId,

department.departmentAllowance, profession.basicSalary FROM

department

INNER JOIN profession ON profession.departmentId = department.departmentId

INNER JOIN staff ON staff.professionId = profession.professionId AND staff.departmentId = department.departmentId ;

4.5 创建触发器

/*创建一个有员工离职的时候,离职员工表添加一条记录,员工表删除对应员工信息的触发器*/

DROP TRIGGER IF EXISTS `update_allowance`; DELIMITER ;;

CREATE TRIGGER `update_allowance` AFTER UPDATE ON `department`

FOR EACH ROW begin

update salary set departmentAllowance=new.departmentAllowance

where departmentId=departmentId; end

/*创建一个一个员工离职,对应工资表的数据全部清除*/ DROP TRIGGER IF EXISTS `delete_salary`; DELIMITER ;;

CREATE TRIGGER `delete_salary` AFTER DELETE ON `staff` FOR EACH ROW begin

delete from salary where staffId=old.staffId; end

总结

在这一周的课程设计中我学到了许多书本之外的东西,动手能力得到了提高,对数据库系统的设计流程有了进一步的了解。虽然本周时间比较紧,五天其中有三天考试,但是我还是下来了。当然在本次课程设计中我也学到了很多应用软件的知识,比如navicate for mysql和PowerDesigner之间的联合运用,数据流图的绘制还有就是对工资管理的需求分析更加熟悉等。在这里感谢王老师,游老师的帮助,其次感谢祥哥的指导。

参考文献

[1] 孙建伶,林怀忠. 数据库原理与应用. 北京:高等教育出版社 2006.5 [2] 梁方明. SQL Server 2000. 北京:希望电子出版社 2002.7

[3] 王珊,萨师煊. 数据库系统概论(第四版). 北京:高等教育出版社 2006.5 [4] 李树有. 数据库应用系统开发与实例. 北京:人民邮电出版社 2005.9 [5] 孟彩霞. 数据库系统原理与应用(本科). 北京:人民邮电出版社 2008.3 [6] 陶宏才. 数据库原理及设计. 北京:清华大学出版社 2004.4

…… 此处隐藏:2085字,全部文档内容请下载后查看。喜欢就下载吧 ……
数据库原理课程设计报告-工资管理系统(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/39972.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)