员工工资管理系统-数据库课程设计
- 格式:doc
- 大小:220.00 KB
- 文档页数:13
数据库原理课程设计报告题目:职工工资管理成绩:1设计题目职工工资管理2 系统概述企业的工资管理是公司管理的一个重要内容,随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。
工资管理既设计到企业劳动认识的管理,同时也是企业财务管理的重要组成部分,工资管理需要和人事管理相联系,同时连接工时考核和医疗保险等等,来生产那个企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资。
3系统功能模块设计(1)员工信息和履历模块员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。
员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在职务、和工资等级等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工信息查询可以通过员工号或员工姓名对员工信息进行查询。
(2)工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
(3)工资汇总模块用在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇含义说明:标识每一个员工的年龄类型:整型长度:2取值范围:18-100取值含义:顺序的标识每一个员工的年龄员工是该系统中的一个核心数据结构,它可以描述如下:数据结构:员工含义说明:是员工薪资管理系统中的主体数据结构,定义了一个员工的有关信息组成:员工号,姓名,性别,年龄数据项:基本工资含义说明:标识每一个员工的基本工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的基本工资数据项:福利补贴含义说明:标识每一个员工的福利补贴类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的福利补贴数据项:奖励工资含义说明:标识每一个员工的奖励工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的奖励工资数据项:失业保险含义说明:标识每一个员工的失业保险类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的失业保险数据项:应得工资含义说明:标识每一个员工的应得工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的应得工资数据项:实得工资含义说明:标识每一个员工的实得工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的实得工资7程序运行环境和开发环境操作系统:windows 7后台数据库:SQL Server 2008开发工具:JA V A等由于java编程与win7系统的SQL Server 2008比较兼容,所以我用的win7系统,这更便于我们编程与调试8数据库的实施与运行通过员工信息登入工资管理系统界面,如图:图8-1具体代码如下:public void createDialog (){dialog = new JDialog (Salary.this, "用户登录框", true);//创建对话框//Font fn = new Font ("宋体", 1, 13);dialog.setSize (new Dimension (300, 200));//设置对话的大小dialog.setLayout (new GridLayout (4, 1));//设置对话框的布局dialog.setLocation (400, 260);JLabel jlab1 = new JLabel ("请登录");JLabel jlab2 = new JLabel ("用户名:");JLabel jlab3 = new JLabel ("密码:");JTextField jte1 = new JTextField ("", 15);JPasswordField jte2 = new JPasswordField ("", 15);JButton jbut1 = new JButton ("确定");jbut1.setFont (fn);jbut1.setFocusPainted(false);JButton jbut2 = new JButton ("取消");jbut2.setFont (fn);jbut2.setFocusPainted(false);JPanel jpan1 = new JPanel ();JPanel jpan2 = new JPanel (new FlowLayout (FlowLayout.LEFT));JPanel jpan3 = new JPanel (new FlowLayout (FlowLayout.LEFT));JPanel jpan4 = new JPanel ();jlab1.setFont (fn);jlab2.setFont (fn);jlab3.setFont (fn);jte1.setFont (fn);jte2.setFont (fn);jte2.setEchoChar ('*');jpan1.add (jlab1);jpan2.add (jlab2);jpan2.add (jte1);jpan3.add (jlab3);jpan3.add (jte2);jpan4.add (jbut1);jpan4.add (jbut2);//监听按钮事件jbut1.addActionListener (new ActionListener (){public void actionPerformed (ActionEvent e){dialog.dispose ();}});jbut2.addActionListener (new ActionListener (){public void actionPerformed (ActionEvent e){System.exit (0);}});//监听对话框事件addWindowListener (new WindowAdapter (){public void windowClosing (WindowEvent e){System.exit (0);}});dialog.add (jpan1);dialog.add (jpan2);dialog.add (jpan3);dialog.add (jpan4);dialog.setResizable(false);dialog.setVisible (true);}工资管理系统界面,整个系统的核心程序,如图:图8-2具体代码如下:public static final int FRAME_WIDTH = 500public static final int FRAME_HEIGHT = 350;private Font fn = new Font ("宋体", 1, 13);private JDialog dialog;ImageIcon img;String filename;public Salary (String title, String filename){super (title);this.filename = filename;}public void launchFrame (){this.createDialog ();this.createMenu ();this.setSize (FRAME_WIDTH, FRAME_HEIGHT);this.setLocation (400, 260);this.setResizable (false);this.setLayout (null);this.setVisible (true);img = new ImageIcon(filename);JLabel imgLabel = new JLabel(img);。
《数据库原理》实验七:数据库设计数据库名称:员工薪资管理系统姓名:胡少帅班级: 2011 级网络工程学号:1需求剖析薪资管理系统是供给薪资管理人员和员工薪资进行管理的系统。
它能自动对不一样职务,不一样出勤及各个月份的薪资进行管理并生成财务表。
薪资管理系统的用户需求主要功能有:1各部门的信息状况2各员工的信息状况3考勤信息状况4薪资信息状况5定义登岸用户和用户的权限2观点剖析(1)部门 E-R 图(2)员工信息 E-R 图(3)职务信息 E-R 图(4)考勤信息 E-R 图(5)用户 E-R 图(6)薪资状况 E-R 图(7)总 E-R图3逻辑设计关系模型:部门(部门编号(主键),部门名称,经理,电话)员工信息(员工编号(主键),职务编号,姓名,性别,电话,住址,部门编号(外键))考勤状况(员工编号(主键),出勤天数,加班天数,出勤奖金,月份)职务(职务编号(主键),职务名称(主键),基本薪资)薪资计算(员工编号(主键),考勤状况,薪资,月份)用户(用户名,密码,权限)4物理设计1给员工信息表成立非齐集索引“员工”/* 给员工信息表非成立齐集索引*/create nonclustered index 员工 on 员工信息( 员工编号) goSELECT *FROMsys.indexesWHEREname=' 员工 '2给薪资表成立独一索引“薪资”/* 给薪资表成立独一索引“薪资”*/create unique index薪资on薪资状况(员工编号)goSELECT *FROMsys.indexesWHEREname=' 薪资 'Go3给考勤信息表成立齐集索引“考勤”/* 给考勤信息表成立非齐集索引*/create nonclustered index 考勤 on 考勤信息( 员工编号) goSELECT *FROMsys.indexesWHEREname=' 考勤 '5实行过程(1)创立表构造1 员工信息表create table员工信息( 员工编号char(20) not null, 职务编号char(20) not null, 姓名 varchar(20) not null,性别 char(20) not null,电话 char(20) not null,地址 varchar(20) not null,部门编号char ( 20) not null)2职务信息表create table职务信息( 职务编号char(20) not null, 职务名称char(20) not null, 基本薪资money)3薪资表create table薪资状况( 月份 char(20) not null,员工编号char(20) not null,薪资 char(20) not null)4考勤信息表create table考勤信息( 员工编号 varchar(40) not null, 出勤天数 char(20) not null,加班天数 char(20) not null,出勤奖金 money)5部门表create table部门( 部门编号char(20) not null, 部门名称char(20) not null, 经理 varchar(20) not null,电话 char(20) not null)6用户表create table用户( 用户名 char(10) not null,密码 char(30) not null,权限 char(30))(2)给表定义拘束1 给考勤状况中的出勤奖金列定义拘束范围0-10002给部门表增添一个主键3给员工信息表增添一个主键和外键(3)给表插入信息1员工信息表插入2职务信息表插入3用户信息表插入4薪资状况表插入5部门表插入6考勤状况表插入(4)表的基本操作1 改正员工信息中编号为10001 的姓名为张琪2给职务信息表增添一列3删除方才增添的那列4改正薪资状况表中薪资的数据种类5给考勤信息表增添一列(5)定义登录名,用户和权限1定义第一个登录名和用户,权限对全部的表有全部的权限/* 创立用户和给予权限*/create login王琦with password='123456',default_database=员工薪资管理;/* 创立登录账户*/gocreate user王琦for login王琦gogrant allon 部门to王琦grant allon 薪资状况to王琦grant allon 考勤信息to王琦grant allon 用户to王琦grant allon 员工信息to王琦grant allon 职务信息to王琦2创立第二个登录名和用户,对全部的表只有查察和删除的权限create login高汉with password='123456',default_database=员工薪资管理;/* 创立登录账户*/gocreate user高汉for login高汉gogrant select,deleteon 部门to高汉grant select,deleteon 薪资状况to高汉grant select,deleteon 考勤信息to高汉grant select,deleteon 用户to高汉grant select,deleteon 员工信息to高汉grant select,deleteon 职务信息to高汉3创立第三个登录名和用户,只有查察的权限/* 创立第三个用户并给予全部权限*/create login王敏with password='123456',default_database=员工薪资管理;/*创立登录账户*/gocreate user for login王敏王敏gogrant selecton 部门to王敏grant selecton 薪资状况to王敏grant selecton 考勤信息to王敏grant selecton 用户to王敏grant selecton 员工信息to王敏grant selecton 职务信息to王敏(6)成立一个触发器,在薪资状况表被改正时使用/* 成立一个触发器*/create trigger mon 薪资状况for updateasif update(薪资)beginrollback tranprint' 基本薪资不可以改正,请联系财务部'end(6)成立储存过程1创立一个储存过程来寄存查问到的员工的信息和薪资2创立一个储存过程来寄存进行删除操作3 创立一个储存过程来寄存查问全部员工中薪资大于3500 的(7)成立一个视图6课程设计总结本次课程设计检查从职员的薪资,部门的状况,依据其详细状况,设计薪资管理系统。
企业员工工资管理系统设计1一、背景 .........................................................1二、员工工资系统设计 ............................................12.1系统功能分析 ...............................................22.2系统物理模块设计 ...........................................2三、 数据库设计 .................................................23.1数据流需求分析 ............................................23.2概念模型设计 ...............................................53.3逻辑结构设计 ...............................................6四、数据库程序设计 ...............................................4.1用户登录模块 ...............................................674.2 主窗体模块 ...............................................4.3员工信息模块 ...............................................894.4工资信息模块 ...............................................9附录 .............................................................一、背景S家具企业始建于1954年,是一家有着40多年历史的老厂。
一、安装说明1.附加数据库(1)程序拷贝到用户计算机后,文件夹下扩展名为“.MDF”和“.LDF”的两个数据文件拷贝到SQL Server 2000安装路径下的“MSSQL”/“Data”目录下。
(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项,如图1所示。
图1 附加数据库2)在弹出的“附加数据库”对话框中单击“…”按钮选择刚拷贝过去的数据库文件(.MDF 文件),单击“确定”按钮,即可完成数据库的附加操作,如图2所示。
图2 选择所要附加的数据库二、系统登录双击文件夹下EXE文件,弹出如图1.1所示的登录界面。
图1.1 系统登录界面在“用户名”的文本框,输入用户名:yepeng,单击“密码”的文本框,输入密码:yepeng,单击【确定】按钮进入系统主界面,如图1.2所示。
图1.2 工资管理系统主界面三、基本工资管理基本工资管理菜单包括:员工录入和员工删除。
通过基本工资管理可以基本实现员工信息的添加及删除操作。
3.1 员工录入单击“基本工资管理”/“员工录入”选项,弹出如图1.3所示的界面。
员工录入模块主要录入员工信息。
图1.3 员工录入在“编号”、“姓名”的文本框中,输入员工的编号及姓名,单击“性别”及“学历”的下拉按钮选择性别及学历,最后单击【添加】按钮,即可添加员工信息。
3.2 员工删除单击“基本工资管理”/“员工删除”选项,弹出如图1.4所示的界面,该界面主要实现企业性质的信息设置。
图1.4 员工删除通过“选择编号”的下拉按钮选择要删除的员工编号,然后单击【删除】按钮即可删除相应的员工信息。
四、工资管理工资管理菜单包括:基本工资管理、浮动工资管理和工资发放管理。
4.1 基本工资管理单击“工资管理”/“基本工资管理”选项,弹出如图1.9所示的界面,该界面主要实现基本工资的添加。
一、课程设计主题介绍本次课程设计的主题为工资管理系统数据库,旨在通过设计一个完善的工资管理系统数据库,实现对公司员工工资信息的管理和查询功能。
工资管理系统是企业日常管理中不可或缺的一部分,良好的工资管理系统能够有效提高企业的管理效率和员工的工作积极性,具有重要的实际意义。
二、系统需求分析1. 用户需求:系统应具有权限管理、员工信息管理、薪资发放管理等功能,不同用户拥有不同的操作权限。
2. 数据需求:系统需要存储员工基本信息、薪资信息、考勤信息等数据。
3. 界面需求:系统应具有友好的操作界面,用户操作简单方便。
4. 安全需求:系统要保证数据的安全性,防止未授权人员获取敏感信息。
三、系统设计思路1. 数据库设计:设计员工表、薪资表、权限表等数据库表结构,确保数据存储的规范性和完整性。
2. 功能设计:设计权限管理模块、员工信息管理模块、薪资发放管理模块等系统功能。
3. 界面设计:设计简洁清晰的操作界面,使用户能够轻松上手。
4. 安全设计:采用加密算法保护用户信息,设置严格的权限控制,防止数据泄露和篡改。
四、系统技术选型本系统选用MySQL数据库存储数据,采用Python语言进行后台逻辑开发,使用Django框架进行Web应用开发,前端界面采用HTML、CSS和JavaScript技术实现。
五、系统功能实现1. 权限管理:管理员用户可以设置不同用户的权限,包括查看员工信息、修改薪资、导出报表等操作。
2. 员工信息管理:实现员工信息的增加、修改、删除、查询等功能,包括基本信息、通联方式、部门信息等。
3. 薪资发放管理:实现对员工薪资的发放、调整、查询等功能,包括工资条生成、导出等。
4. 数据统计报表:系统可以生成各类工资统计报表,包括月度工资报表、年度工资报表等。
六、系统调试和测试在系统开发完成后,对系统进行全面的功能测试和性能测试,确保系统稳定可靠、业务流程正常、响应速度合理等。
七、系统部署和运行系统部署到服务器上,对外提供访问服务,确保系统在日常运行中稳定运行。
数据库课程设计——企业员工工资管理系统一、引言在现代企业管理中,员工工资的管理是一个极为重要的环节。
为了提高工资管理的效率和准确性,需要设计和实现一套高效的企业员工工资管理系统。
本文将介绍如何在数据库课程设计中构建一个功能完善的企业员工工资管理系统。
二、系统需求分析企业员工工资管理系统需要满足以下基本需求:1. 员工信息管理:包括员工基本信息(姓名、性别、年龄等)、部门信息、职位信息等。
2. 工资计算:根据员工的基本工资、绩效考核等因素计算工资。
3. 工资发放:自动生成工资发放单,记录工资发放的时间和方式。
4. 工资查询:员工和管理人员能够查询工资详细信息,包括工资单、工资发放记录等。
5. 统计报表:生成各种工资统计报表,如部门工资总额、员工工资排名等。
三、系统设计与实现1. 数据库设计为了满足系统需求,需要设计一组适当的数据库表来存储相关数据。
以下是数据库表的设计方案:- 员工表(Employee):存储员工的基本信息(员工编号、姓名、性别、年龄等)。
- 部门表(Department):存储部门的信息(部门编号、部门名称等)。
- 职位表(Position):存储职位信息(职位编号、职位名称等)。
- 工资表(Salary):存储员工的工资信息(员工编号、基本工资、绩效等)。
- 工资发放表(SalaryPayment):记录工资的发放信息(员工编号、发放时间、发放方式等)。
2. 系统实现利用SQL语言和数据库管理系统,可以实现员工工资管理系统的各项功能需求。
以下是关键功能的实现示例:- 员工信息管理:通过SQL语句实现员工信息的增加、删除、修改和查询操作。
- 工资计算:编写SQL函数或存储过程来计算员工的工资,考虑到绩效考核等因素。
- 工资发放:编写SQL语句插入工资发放记录,记录发放时间和方式等信息。
- 工资查询:编写SQL语句实现员工和管理人员的工资查询功能,根据需要生成工资单。
- 统计报表:通过SQL语句生成工资统计报表,利用聚合函数和分组操作实现部门工资总额、员工工资排名等统计指标的计算。
员工工资管理系统数据库设计一、需求分析为了更好的管理公司的员工工资,需要设计一套员工工资管理系统数据库,并且要具备以下功能:1. 员工工资核算:系统需要对员工的工资进行核算,并且能够根据不同的工资核算规则自动计算出员工的工资,并可以进行手动调整。
2. 工资发放:该系统需要支持工资的自动发放,如每月固定发放日期自动发放员工工资等。
3. 工资查询:该系统需要支持员工查询自己工资、管理员查询所有员工的工资等。
4. 工资统计:该系统需要支持对员工工资进行统计,如统计某个月份公司工资总和,平均工资,最高与最低工资,员工分布情况等。
5. 员工信息管理:该系统需要支持员工信息管理,如员工基本信息、部门信息、职位信息等。
6. 系统设置:该系统需要支持系统设置,可以对员工工资核算规则等设置进行修改。
二、数据库设计1. 数据库结构设计该数据库分为员工信息表、工资信息表、部门信息表、职位信息表、系统设置表等。
(1)员工信息表员工信息表包含员工基本信息、工资核算标准、所在部门、职位等信息。
CREATE TABLE employee( id INT(11) PRIMARY KEYAUTO_INCREMENT, name VARCHAR(50) NOT NULL, sex VARCHAR(5), age INT(3), department VARCHAR(50), position VARCHAR(50), base_salary FLOAT(7,2) NOT NULL, treatment FLOAT(7,2) NOT NULL, remarks VARCHAR(100));(2)工资信息表工资信息表包含员工的工资核算结果、所属月份等信息。
CREATE TABLE salary( id INT(11) PRIMARY KEYAUTO_INCREMENT, employee_id INT(11), salary_month VARCHAR(10) NOT NULL, salary FLOAT(7,2) NOT NULL,bonus FLOAT(7,2) NOT NULL, deduction FLOAT(7,2),create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (employee_id) REFERENCES employee(id));(3)部门信息表部门信息表包含部门名称、部门编号、所属公司等信息。
工资管理系统数据库课程设计工资管理系统数据库课程设计一、背景介绍现代企业的工资管理已经越来越复杂,需要一个高效、准确的工资管理系统来进行支持。
工资管理系统需要能够自动计算员工工资,但更重要的是需要保护员工信息的安全性。
因此,该系统需要具备高可靠性和高安全性。
二、系统设计要求1. 系统框架设计系统框架应该采用分层架构模式,包括以下几个层次:①用户界面层:实现用户与系统的交互操作。
②业务逻辑层:实现系统的核心业务逻辑。
③数据访问层:实现系统的数据访问和管理。
④数据库层:用于存储系统所需的数据。
2. 数据库设计数据表结构设计如下:①员工表:用于存储员工基本信息,包括员工号、姓名、性别、出生日期、联系电话等字段。
②工资表:用于存储员工工资信息,包括员工号、月份、基本工资、津贴、扣款等字段。
③部门表:用于存储部门信息,包括部门号、部门名称、部门经理等字段。
④职位表:用于存储职位信息,包括职位编号、职位名称、职位描述等字段。
⑤权限表:用于存储用户权限信息,包括用户名、密码、用户类型等字段。
3. 系统功能设计根据需求分析,系统应该包含以下功能:①员工基本信息维护功能:用于添加、修改、删除员工基本信息。
②员工工资信息维护功能:用于添加、修改、删除员工工资信息。
③员工考勤记录查询功能:用于查询员工的考勤记录。
④部门信息维护功能:用于添加、修改、删除部门信息。
⑤职位信息维护功能:用于添加、修改、删除职位信息。
⑥权限管理功能:用于管理用户的权限信息。
三、技术方案1. 数据库管理系统本系统采用MySQL数据库管理系统,因为MySQL是一个成熟的开源数据库系统,能够提供高效、可靠的数据存储和管理服务。
2. 开发工具本系统采用Java语言进行开发,使用Eclipse作为开发工具,采用Java Web开发技术,采用MVC设计模式。
3. 数据库访问框架本系统采用ORM框架Hibernate来进行数据库的访问操作,通过Hibernate能够简化数据库访问操作,提高系统开发效率。
JavaMySQL数据库课程设计(员工工资管理系统)简介本文档是关于使用Java和MySQL数据库设计的员工工资管理系统的课程设计报告。
该系统旨在提供一个方便快捷的员工工资管理平台,帮助雇主轻松管理员工的工资信息。
功能概述•管理员功能1.登录/注销:管理员可以使用用户名和密码登录系统,并在不需要时注销账户。
2.添加员工:管理员可以添加新员工信息,包括姓名、性别、职位、工资等。
3.修改员工信息:管理员可以修改已有员工的个人信息,并更新工资等相关信息。
4.删除员工:管理员可以删除已有员工账号,同时删除与之相关的所有工资信息。
5.查询员工:管理员可以根据不同的条件查询员工信息,比如按部门、职位等。
6.导出工资表:管理员可以导出员工工资表,包括每个员工的姓名、工资、加班时长等信息。
•员工功能1.登录/注销:员工可以使用用户名和密码登录系统,并在不需要时注销账户。
2.查看个人信息:员工可以查看自己的个人信息,包括姓名、性别、职位、工资等。
3.修改个人信息:员工可以修改自己的个人信息,如联系方式、住址等。
4.查询工资信息:员工可以查询自己的工资信息,包括基本工资、奖金、扣款等。
5.查询加班记录:员工可以查询自己的加班记录,包括加班日期、加班时长等。
数据库设计本系统使用MySQL数据库管理员工工资信息,下面是数据库中的表格设计:表:员工信息表(employees)•字段:员工ID、姓名、性别、职位、工资•主键:员工ID•外键:无表:工资信息表(salaries)•字段:员工ID、基本工资、奖金、扣款、发放日期•主键:无(使用员工ID作为外键)•外键:员工ID(关联employees表)表:加班记录表(overtime_records)•字段:员工ID、加班日期、加班时长•主键:无(使用员工ID作为外键,与employees 表关联)•外键:员工ID(关联employees表)技术实现本系统采用Java作为开发语言,并使用MySQL作为后端数据库。