




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆科技学院课程设计报告 院(系):_电气与信息工程学院 专业班级: 计科1203 学生姓名: 赵弈胰 学 号: 2012442084 设计地点(单位)_I308_ _ _ _ 设计题目:_ _工资管理系统设计 完成日期: 2016年 1月 7日 指导教师评语: _ _成绩(五级记分制):_ _ 指导教师(签字): _ _重庆科技学院数据库原理课程设计报告摘要本次数据库课程设计不要求界面和外部应用程序的设计,只设计数据库部分。工资管理系统采用mysql作为数据库后台。工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除等,设计触发器、存储过程使管理更方便,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。关键词: 工资管理系统 msyql 触发器 存储过程重庆科技学院课程设计任务书3设计题目:工资管理系统设计学生姓名赵弈胰课程名称数据库原理及应用课程设计专业班级物联网2014-01 物联网2014-02地 点I308起止时间2015.1.4-2015.1.8设计内容及要求内容: 学生根据本课程设计指导书中的题目,进行设计。为了保证系统具有高度的安全性,要有登录界面,进行用户身份的验证。用户分为不同的级别,例如管理员级用户和普通用户。员工不同工种基本工资的设定:员工工种的不同,工资的标准也不同,允许管理员根据员工的现任职务设定员工的基本工资。包括每个员工的姓名、性别、年龄、工龄、职务及其所在的部门等资料的录入来确定员工的基本工资,以及对现有工作人的基本信息的录入工作。可以对员工的工资项目进行初始化的设置(包括个人所得税、上月工资零头、本月工资零头、职务工资、级别工资、基本工资、工龄工资、独子费、津贴补贴、离退费、交通费、电话费补贴。书报费补贴等人对系统管理员的密钥,以及其他系统使用人员的一些信息,例如用户名、权限、密钥的设定。加班津贴的管理,根据加班的时间和类别给予不同的加班津贴。根据月工资生成公式,按照员工的考勤情况和工作表现,生成员工工资。人员查询操作包括按单个员工信息查询、按部门查询和按工资查询等。员工年终奖金的生成。年终奖金计算公式(员工本年度的工资总和津贴的总和)/12。单位工资报表的生成。可以按照在每个月的每个固定时间生成该单位全体员工的月工资。对于月工资,能够实现按照员工、部门、年、月进行统计分析,产生相应的报表,并可以打印输出此报表。工资的发放,要求能够实现银行打卡的功能。工资转账的功能,包括转账设置、工资转账、工资凭证查询、结转下月的功能。要提供工资管理系统的帮助文件。要求: 按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计,使学生掌握数据库应用软件的开发流程,SQL语句的使用和存储过程的使用。设计参数至少5个表结构;3个存储过程;2个触发器;3个视图。进度要求18周星期一 14:0017:40 学生完成任务分配,数据库设计的软件需求,并祥细了解需求说明。18周星期二 14:0017:40 完成数据库概念设计,画出数据库E-R模型。18周星期三 14:0017:40 完成数据库逻辑设计,并编写出数据库生成脚本18周星期四 14:0017:40 完成数据库常用的Procedure,View设计、Trigger等设计,并生测试数据脚本18周星期五 14:0017:40 编写报告,并答辩。参考资料1游明英等数据库原理课程设计指导书2王珊、萨师煊数据库系统概述(第四版) 北京:高等教育出版社2006。3C.J.Date著孟小峰、王珊等译数据库系统导论(第8版) 北京:机械工业出版社.2007。4陈根才等. 数据库课程设计浙江浙江大学出版社2007其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任:王双明 指导教师:游明英/王双明 2015年 12 月25 日目录摘要II1 需求分析11.1 系统目标设计11.2 系统功能分析11.3 数据流程分析11.4 数据字典22 概念结构设计42.1 构成系统的实体型42.2 E-R图43 逻辑结构设计53.1逻辑结构简介53.2 关系模型54物理模型设计64.1定义数据库64.2 创建表64.3 创建存储过程84.4 创建视图94.5 创建触发器10总结12参考文献13131 需求分析1.1 系统目标设计 信息时代不断发展,工资管理系统也需要不断更新,现代化,才能更加方便!1.2 系统功能分析 根据不同的用户角色,进行授权,使不同用户具有相应的权限,比如管理员可以管理该数据库的全部数据更新;员工可以修改自己的基本信息等等。基本工种,基本工资的管理;公司部门、部门福利、员工的管理;加班类型,加班工资的管理;公司员工的考勤信息管理;员工月工资管理,月工资=基本工资+部门福利-缺勤扣掉的工资;查询统计上述信息,生成企业工资报表1.3 数据流程分析 图1.3数据流程图1.4 数据字典表1.1 员工信息表名称数据类型说明StaffIdInt员工编号 主键staffNameVarchar员工姓名staffAgeInt员工年龄staffSexVarchar员工性别staffPhoneVarchar员工电话departmentIdInt部门编号 外键professionIdInt工种号 外键表1.2 部门信息表名称数据类型说明departmentIdInt部门编号 主键departmentNameVarchar部门名字departmentAllowanceInt部门补贴departmentPhoneVarchar部门电话表1.3 工种表名称数据类型说明professionIdInt工种编号 主键professionNameVarchar工种名字departmentIdInt部门编号 外键basicSalaryInt基本工资表1.4 工资表名称数据类型说明staffIdInt员工号 外键departmentIdInt部门号 外键basicSalaryInt基本工资 外键departmentAllowanceInt部门补贴 外键isGetInt是否得到工资表1.5 考勤表名称数据类型说明staffIdInt员工号 外键workDateDate工作日isWorkInt是否打卡表1.6 离职员工表名称数据类型说明StaffIdInt员工编号 主键staffNameVarchar员工姓名staffAgeInt员工年龄staffSexVarchar员工性别staffPhoneVarchar员工电话departmentIdInt部门编号 professionIdInt工种号 2 概念结构设计2.1 构成系统的实体型由工资管理系统的数据流图和数据字典,抽取出系统的几个个主要实体,包括:员工实体,工种实体,部门实体,工资实体。员工实体型属性:StaffId, staffName, staffAge, staffSex, staffPhone工种实体型属性:professionId, professionName部门实体型属性:departmentId, departmentName,departmentPhone工资实体型属性:basicSalary departmentAllowance2.2 E-R图图2.2E-R图3 逻辑结构设计3.1逻辑结构简介逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。 设计逻辑结构一般分为3步进行:(1) 将概念结构转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化。3.2 关系模型 将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以融合在其他的相关的关系模式中。例如: (1) 员工与部门是多对一的关系,所以将员工与部门设计成以下关系模式: 员工(StaffId, staffName, staffAge, staffSex, staffPhone ) 部门(departmentId, departmentName,departmentPhone ) 属于(StaffId, staffName, staffAge, staffSex, staffPhone departmentId, departmentName,departmentPhone ) (2)员工和工种是多对一的关系,所以将员工与工种设计成以下关系模式: 员工(StaffId, staffName, staffAge, staffSex, staffPhone ) 工种 (professionId, professionName) 属于(StaffId, staffName, staffAge, staffSex, staffPhone professionId, professionName) (3)员工与工资是一对一的关系,所以将员工与工资设计以下关系模式: 工资(basicSalary departmentAllowance) 员工 (StaffId, staffName, staffAge, staffSex, staffPhone)属于(basicSalary departmentAllowance StaffId, staffName, staffAge, staffSex, staffPhone)4物理模型设计数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。4.1定义数据库通过SQL语言进行数据库创建,创建数据库的语句如下:Create database sms;4.2 创建表创建部门信息表DROP TABLE IF EXISTS department;CREATE TABLE department ( departmentId int(11) NOT NULL AUTO_INCREMENT,/部门编号,主键自增 departmentName varchar(255) NOT NULL,/部门名字 departmentAllowance int(11) NOT NULL,/部门补贴 departmentPhhone int(11) NOT NULL,/部门电话 PRIMARY KEY (departmentId),) 创建离职员工表DROP TABLE IF EXISTS dimissionstaff;CREATE TABLE dimissionstaff ( staffId int(11) NOT NULL,/员工编号,主键,唯一 staffName varchar(255) NOT NULL,/员工名字 staffSex varchar(255) DEFAULT NULL,/员工性别 staffAge int(11) DEFAULT NULL,/员工年龄 staffPhone varchar(255) DEFAULT NULL,/员工电话 departmentId int(11) DEFAULT NULL,/员工所在部门编号,外键 professionId int(11) DEFAULT NULL,/员工所属工种,外键 PRIMARY KEY (staffId) 创建工种表 CREATE TABLE profession ( professionId int(11) NOT NULL AUTO_INCREMENT,/工种号,主键自增 professionName varchar(255) NOT NULL,/工种名字 departmentId int(11) NOT NULL,/工种所属部门,外键 basicSalary int(11) NOT NULL,/工种的基本工资 PRIMARY KEY (professionId),)创建工资表CREATE TABLE salary ( staffId 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=rootlocalhost PROCEDURE dpt_staff(id int)BEGINSELECT * FROM staff where departmentId=id;END;DELIMITER ;/*调用该存储过程*/ Call dpt_staff(部门编号(1或2);/*创建查询单人月工资的存储过程,一个输入参数:员工编号;一个输出参数:月总工资;*/DROP PROCEDURE IF EXISTS monthSalary;DELIMITER ;CREATE DEFINER=rootlocalhost PROCEDURE monthSalary(IN id int,OUT c int)BEGINDECLARE 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=rootlocalhost PROCEDURE yearBonus(id int)BEGINDECLARE 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=rootlocalhost SQL SECURITY DEFINER VIEW dpt_stf_workinfo AS SELECTdepartment.departmentId,staff.staffId,fessionId,works.isWork,works.workDateFROMdepartmentINNER JOIN profession ON profession.departmentId = department.departmentIdINNER JOIN staff ON fessionId = fessionId AND staff.departmentId = department.departmentIdINNER JOIN works ON works.staffId = staff.staffId ;/*创建员工是否领取工资的试图*/DROP VIEW IF EXISTS isgetsalary;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost VIEW isgetsalary AS SELECTstaff.staffId,staff.staffName,salary.isGetFROMstaffINNER JOIN salary ON salary.staffId = staff.staffId ;/*创建各个员工工资情况的试图*/DROP VIEW IF EXISTS salaryinfo;CREATE ALGORITHM=UNDEFINED DEFINER=rootlocalhost SQL SECURITY DEFINER VIEW salaryinfo AS SELECTdepartment.departmentId,staff.staffId,staff.staffName,fessionId,department.departmentAllowance,profession.basicSalaryFROMdepartmentINNER JOIN profession ON profession.departmentId = department.departmentIdINNER JOIN staff ON fessionId = fessionId AND staff.departmentId = department.departmentId ;4.5 创建触发器/*创建一个有员工离职的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司版劳动合同2篇
- 部队基层安全生产培训课件
- 部队保密规章制度课件
- 山东省泰安市宁阳县第三中学2024-2025学年八年级下学期第一次月考生物试题(含答案)
- 江苏省苏州市2024-2025学年高二上学期学业质量阳光指标调研政治期末试卷(含答案)
- 广东省潮州市饶平县2024-2025学年八年级下学期3月阶段生物作业试题(含答案)
- 2024-2025学年福建省厦门市同安区人教版三年级下册期末考试数学试卷(无答案)
- 部门和岗位安全培训课件
- 避障灭火机器人课件
- 边坡锚索框格梁施工课件
- 北美128个护理诊断
- 2025高考英语全国II卷试题分析及备考策略指导课件
- 博士组合物80问
- 调课申请书范文
- 伦理学课件-应用伦理学下
- 公路工程监理规划
- 2025年荆州江陵县城市与乡村投资发展集团招【13人】高频重点提升(共500题)附带答案详解
- 火电建设项目工程档案管理办法
- 2023年银行系统反洗钱基础知识及相关法律知识竞赛试题库(附含答案共400题)
- 红楼梦第十五回课件
- 《城市轨道交通车辆 列车 视频监控系统》
评论
0/150
提交评论