运用mysql实现工资管理系统_企业工资管理系统的设计与实现(MySQL)
时间: 2024-06-08 11:06:59 浏览: 11
MySQL是一款常用的关系型数据库管理系统,可以用来存储和管理企业的工资数据。下面我将介绍如何运用MySQL实现企业工资管理系统的设计与实现。
一、数据库设计
1.员工表(Employee)
字段:员工编号(id)、员工姓名(name)、性别(gender)、出生日期(birthday)、联系电话(phone)、邮箱(email)、入职时间(hiredate)、所属部门编号(dept_id)、职位编号(job_id)、基本工资(base_salary)。
2.部门表(Department)
字段:部门编号(id)、部门名称(name)、所属分公司(company)、成立日期(create_time)。
3.职位表(Job)
字段:职位编号(id)、职位名称(name)、职位描述(description)、所属部门编号(dept_id)。
4.工资表(Salary)
字段:员工编号(id)、工资月份(month)、应发工资(total_salary)、税前扣除(pre_tax)、税后扣除(after_tax)、实发工资(real_salary)。
二、数据库实现
1.创建数据库
CREATE DATABASE salary;
2.创建员工表
CREATE TABLE employee (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
gender ENUM('男','女') NOT NULL,
birthday DATE NOT NULL,
phone VARCHAR(20) NOT NULL,
email VARCHAR(50) NOT NULL,
hiredate DATE NOT NULL,
dept_id INT(11) NOT NULL,
job_id INT(11) NOT NULL,
base_salary DECIMAL(10,2) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
3.创建部门表
CREATE TABLE department (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
company VARCHAR(50) NOT NULL,
create_time DATE NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
4.创建职位表
CREATE TABLE job (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
description VARCHAR(100) NOT NULL,
dept_id INT(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
5.创建工资表
CREATE TABLE salary (
id INT(11) NOT NULL,
month DATE NOT NULL,
total_salary DECIMAL(10,2) NOT NULL,
pre_tax DECIMAL(10,2) NOT NULL,
after_tax DECIMAL(10,2) NOT NULL,
real_salary DECIMAL(10,2) NOT NULL,
PRIMARY KEY (id,month)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
三、数据录入
1.录入部门数据
INSERT INTO department VALUES (1,'技术部','总公司','2020-01-01');
INSERT INTO department VALUES (2,'市场部','总公司','2020-01-01');
INSERT INTO department VALUES (3,'财务部','总公司','2020-01-01');
2.录入职位数据
INSERT INTO job VALUES (1,'技术总监','负责技术部工作',1);
INSERT INTO job VALUES (2,'技术经理','负责技术部日常工作',1);
INSERT INTO job VALUES (3,'市场总监','负责市场部工作',2);
INSERT INTO job VALUES (4,'市场经理','负责市场部日常工作',2);
INSERT INTO job VALUES (5,'财务总监','负责财务部工作',3);
INSERT INTO job VALUES (6,'财务经理','负责财务部日常工作',3);
3.录入员工数据
INSERT INTO employee VALUES (1,'张三','男','1990-01-01','13888888888','zhangsan@qq.com','2020-01-01',1,1,10000);
INSERT INTO employee VALUES (2,'李四','女','1995-01-01','13999999999','lisi@qq.com','2020-01-01',1,2,8000);
INSERT INTO employee VALUES (3,'王五','男','2000-01-01','13777777777','wangwu@qq.com','2020-01-01',2,3,9000);
INSERT INTO employee VALUES (4,'赵六','女','1998-01-01','13666666666','zhaoliu@qq.com','2020-01-01',2,4,7000);
INSERT INTO employee VALUES (5,'孙七','男','1992-01-01','13555555555','sunqi@qq.com','2020-01-01',3,5,8000);
INSERT INTO employee VALUES (6,'周八','女','1993-01-01','13444444444','zhouba@qq.com','2020-01-01',3,6,6000);
4.录入工资数据
INSERT INTO salary VALUES (1,'2020-01-01',10000,1000,1000,8000);
INSERT INTO salary VALUES (2,'2020-01-01',8000,800,800,6400);
INSERT INTO salary VALUES (3,'2020-01-01',9000,900,900,7200);
INSERT INTO salary VALUES (4,'2020-01-01',7000,700,700,5600);
INSERT INTO salary VALUES (5,'2020-01-01',8000,800,800,6400);
INSERT INTO salary VALUES (6,'2020-01-01',6000,600,600,4800);
四、查询数据
1.查询所有员工信息
SELECT * FROM employee;
2.查询某部门员工信息
SELECT * FROM employee WHERE dept_id=1;
3.查询某职位员工信息
SELECT * FROM employee WHERE job_id=2;
4.查询某月份工资发放情况
SELECT employee.name,salary.total_salary,salary.pre_tax,salary.after_tax,salary.real_salary FROM employee JOIN salary ON employee.id=salary.id WHERE salary.month='2020-01-01';
五、总结
通过以上操作,我们就可以使用MySQL实现企业工资管理系统的设计和实现。在实际应用中,我们可以根据业务需求进行适当的扩展和优化。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)