1. Información general
Con el desarrollo de la economía, las empresas se están desarrollando hacia el desarrollo a gran y gran escala. Para las empresas grandes y medianas, la información relacionada con la gestión de salarios, como empleados y títulos profesionales, ha aumentado dramáticamente. En este caso, confiar únicamente en el procesamiento manual de los salarios de los empleados no solo es impotente, sino que también es extremadamente propenso a errores. Cómo diseñar los salarios de una pequeña empresa, una serie de operaciones como agregar nuevos empleados, eliminar empleados antiguos, consultas de salarios, estadísticas, etc. son realizadas por computadoras en lugar de humanos. De esta manera, el personal de la oficina puede completar fácil y rápidamente la tarea de gestión de salarios.
Para el pago de salarios de empresas e instituciones, no es necesario que sea demasiado grande. Todo lo que se necesita es un sistema que sea fácil de operar, tenga funciones prácticas y pueda satisfacer simultáneamente la gestión de datos y las necesidades del departamento financiero, otros departamentos relevantes de la unidad y la unidad de distribución.
Lograr una gestión centralizada de los salarios. Puede ser utilizado por el personal financiero para agregar, eliminar, modificar y consultar el personal y los salarios de la unidad, y el sistema puede calcular automáticamente el total de salarios a pagar en la distribución de salarios; al mismo tiempo, el sistema también puede realizar Consultas multiángulo sobre empleados y gestión de salarios.
Basado en las razones anteriores, el sistema de administración de salarios empresariales utiliza computadoras para almacenamiento seguro, cálculo rápido y estadísticas integrales para realizar la sistematización, estandarización y automatización de la administración de salarios. El sistema de gestión de salarios empresariales es un sistema de gestión de información (MIS) típico, y la base de datos de fondo adopta la base de datos MySQL , que tiene las ventajas de una operación simple y un uso fácil .
2. Análisis de la demanda
2.1 Descripción del requisito
El sistema de gestión de salarios es para realizar mejor la gestión de diversa información salarial y la gestión de seguridad de diversa información. Este sistema está diseñado principalmente para verificar las diversas necesidades de información salarial de los empleados y puede administrar bien los datos. La función principal de este sistema consta de las siguientes partes:
Después de la investigación y el análisis, el sistema de información de gestión de salarios cumple principalmente las siguientes funciones:
(1) Módulo de información básica del empleado: información básica de los empleados.
(2) Módulo de información salarial: salario básico mensual de los empleados, salario de puesto, facturas de agua y electricidad, salario de asignación, deducción de salario, monto de pago real.
(3) Módulo de información de departamentos: el número, nombre, responsable y número de cada departamento de la empresa.
(4) Módulo de asistencia: registre el número de llegadas tarde y ausencias de los empleados.
(5) Módulo de Asignaciones: registra la situación de horas extras de los empleados y distribuye las asignaciones.
(6) Módulo de gestión de información del empleado: La consulta del administrador de la información requerida es para agregar, eliminar, modificar y consultar la información básica del empleado.
(7) Módulo de gestión de salarios de empleados: la consulta del administrador de la información requerida es la adición, eliminación, modificación y consulta de información de salarios de empleados.
2.2 Diagrama de flujo de datos
Diagrama de flujo de datos de nivel superior
2.3 Diccionario de datos
2.3.1 Descripción de los elementos de datos
1. Nombre del elemento de datos: número de empleado
Alias: w_number
Rango de valores: 0000-9999
Explicación del significado: el número de cada empleado
Tipo: carbón
Longitud: 4
2. Nombre del elemento de datos: nombre del empleado
Alias: w_name
Rango de valores: 1-4
Explicación del significado: el nombre de cada empleado
Tipo: varchar
Longitud: 8
3. Nombre del elemento de datos: sexo del empleado
Alias: sexo
Rango de valores: "Masculino" o "Femenino"
Explicación del significado: Género de cada empleado
Tipo: carbón
Longitud: 2
4. Nombre del elemento de datos: salario base
Alias: basic_wage
Rango de valores: entero
Explicación del significado: salario base de cada empleado
Tipo: entero
5. Nombre del elemento de datos: fecha de nacimiento
alias: cumpleaños
Explicación del significado: la fecha de nacimiento de cada empleado
Tipo: fecha y hora
2.3.2 Descripción de la estructura de datos
1. Nombre: Empleado
Descripción del significado: información del empleado
Estructura de la composición: número de empleado + nombre + género + fecha de nacimiento + departamento + nivel educativo + título
2. Nombre: Salario
Descripción del significado: información salarial
Estructura de composición: número de empleado + salario base + salario de puesto + cargos de agua y electricidad + salario de asignación + salario deducido + salario real
pagar salarios
2.3.3 Descripción del flujo de datos
1. Nombre del flujo de datos: agregar información del empleado
Breve descripción: ingreso de información de nuevo empleado
Fuente del flujo de datos: Gerentes de la empresa
Dónde fluyen los datos: información de los empleados
Composición del flujo de datos: número de empleado + nombre + género + fecha de nacimiento + departamento + nivel educativo + título
2.3.4 Descripción del flujo de datos
1. Nombre de almacenamiento: almacenamiento de registros de empleados
Descripción: Registra toda la información básica de todos los empleados
Entrada: información básica del empleado
Salida: toda la información de los empleados
Estructura de datos: número de empleado + nombre + género + fecha de nacimiento + departamento + nivel educativo + título
2.3.5 Definición de procesamiento
1. Nombre del proceso: procesamiento de información del empleado
Descripción: Procesar la información básica de los empleados
Flujo de datos de entrada: terminal
Flujo de datos de salida: almacenamiento de información de los empleados
3. Diseño de estructura conceptual
3.1 Diseño conceptual
3.1.1 Descripción del análisis de la entidad
Desde el punto de vista del usuario, las necesidades de la base de datos se reflejan principalmente en la adición, eliminación, modificación y consulta de las tablas de la base de datos. Por lo tanto, la estructura de la base de datos debe cumplir con dos elementos al mismo tiempo: entrada y salida. Al realizar el diseño de datos, primero debe recopilar datos, luego analizar la estructura de datos y finalmente procesar los datos. De acuerdo con los requisitos de este sistema, se diseñan los siguientes elementos de datos principales y estructuras de datos:
(1) Entidad de información del empleado: número de empleado, nombre, género, departamento, título profesional, nivel educativo y fecha de nacimiento.
(2) Entidad de información de departamento: número de departamento, nombre de departamento, jefe de departamento, número de departamento.
(3) Entidad de información del salario: número de empleado, salario base, salario del puesto, facturas de agua y electricidad, salario subsidiado, salario deducido, monto del pago real.
(4) Entidad de información de asistencia: número de empleado, nombre, género, tiempos de retraso, tiempos de ausencia.
(5) Entidad de información de subsidio: número de empleado, nombre, género, días de horas extras, estado de la asignación, tipo de horas extras y horas de horas extras.
3.1.2 Entidad Entidad Gráfico
La entidad de información del empleado se muestra en la Figura 3.1.
Diseño de diagrama de entidad de información de usuario
La entidad de información del departamento se muestra en la Figura 3.2.
Diseño de diagrama de entidad de información del departamento
La entidad de información salarial se muestra en la Figura 3.3.
Diseño de diagrama de entidad de información salarial.
La entidad de información de asistencia se muestra en la Figura 3.4.
Diseño de diagrama de entidad de información de asistencia.
La entidad de información de subsidios se muestra en la Figura 3.5.
Diseño de diagrama de entidad de información de subsidio
3.1.3 Diagrama ER
El diagrama ER local del sistema de gestión de salarios se muestra en la Figura 3.6.
Diseño de diagrama ER parcial del sistema de gestión de salarios
El diagrama ER local del sistema de gestión de salarios se muestra en la Figura 3.7.
Diseño de diagrama ER parcial del sistema de gestión de salarios
El diagrama ER local del sistema de gestión de salarios se muestra en la Figura 3.8.
Diseño de diagrama ER parcial del sistema de gestión de salarios
El diagrama ER local del sistema de gestión de salarios se muestra en la Figura 3.9.
Diseño de diagrama ER parcial del sistema de gestión de salarios
El diagrama ER general del sistema de gestión de salarios se muestra en la Figura 3.10.
Diseño de diagrama ER general del sistema de gestión de salarios.
4.1 Diseño de estructura lógica
4.1 Esquema de relaciones
Modo de relación: información del empleado (número de empleado, nombre, género, fecha de nacimiento, departamento,
nivel de educación, puesto de trabajo)
Determinación del modo: información del empleado ∈ 2NF, y cada atributo no primario no transfiere la función depende de la información del empleado
La clave de relación principal de la información, por lo que la información del empleado ∈ 3NF
Modo de relación: información del departamento (número de departamento, nombre del departamento, jefe de departamento, número de departamento)
Determinación de modo: información departamental ∈ 2NF, y cada atributo no primario no transfiere la función depende de la información departamental
La clave de relación principal de la información, por lo que la información del departamento ∈ 3NF
Modelo de relación: información salarial (número de empleado, salario base, salario del puesto, factura de servicios públicos, asignación
salarios, salarios deducidos, cantidad pagada)
Decisión de modo: información salarial ∈ 2NF, y ninguna función de transferencia de cada atributo no primario depende de la información salarial
La clave de relación primaria de la información, por lo que la información salarial ∈ 3NF
Modo de relación: información de asistencia (número de empleado, nombre, sexo, número de llegadas tardías, número de ausencias)
Juicio de modo: información de asistencia ∈ 2NF, y cada atributo no principal no transfiere la función depende de la información de asistencia
La clave de relación primaria de información, por lo que la información de asistencia ∈ 3NF
Modo de relación: información de asignación (número de empleado, nombre, sexo, horas extra, días de horas extra,
tipo de horas extras, asignaciones)
Determinación de modo: información de subsidio ∈ 2NF, y cada atributo no primario no transfiere la función depende de la información de subsidio
La clave de relación primaria de la información, por lo que la información de asignación ∈ 3NF
5. Diseño de la estructura física
5.1 Definir el nombre de la base de datos y la tabla
Nombre de la base de datos:
salarios
Nombre de la tabla de la base de datos:
- Formulario de información del empleado: personal
- Formulario de información del departamento: dept
- Tabla de información salarial: salarios
- Formulario de información de asistencia: asistencia
- Hoja de información de asignación: asignación
5.2 Motor de almacenamiento
Utilice la base de datos mysql y elija InnoDB como motor de almacenamiento.
5.3 Diseño de la estructura de almacenamiento de la base de datos
Para mejorar el rendimiento del sistema, de acuerdo con la situación de la aplicación, la parte variable de los datos y la parte estable, a menudo
La parte de acceso se almacena por separado de la parte de acceso poco frecuente.
Dado que las computadoras de hoy en día tienen múltiples discos, colocar tablas (como tablas de información de empleados) e índices en diferentes
En el proceso de consulta, la eficiencia de lectura y escritura de E/S se mejora considerablemente, y para particiones más grandes, los dos
En un disco, puede acelerar la velocidad de acceso, y es más efectivo en un entorno multiusuario; para mejorar el sistema
El rendimiento del archivo de registro y el objeto de la base de datos (tabla, índice, etc.) se colocan en discos diferentes. al mismo tiempo,
Teniendo en cuenta que este sistema es multiusuario, con el fin de mejorar la eficiencia, se mantendrán los datos y archivos de registro de la copia de seguridad de la base de datos.
almacenado en disco.
Las partes de la base de datos a las que se accede con frecuencia incluyen:
Empleado (número de empleado, nombre, sexo, fecha de nacimiento, departamento...)
Departamento (número de departamento, nombre de departamento, jefe de departamento, número de departamento...)
Salario (número de empleado, salario base, salario del puesto, utilidades...)
Asistencia (número de empleado, nombre, género, número de llegadas tarde, número de ausencias)
La sección de acceso poco frecuente incluye:
Salario básico (nivel de salario, monto del salario)
Publicar salario (nivel de salario, cantidad de salario)
En la etapa inicial del diseño de la base de datos, para optimizar físicamente la futura base de datos, algunos
El sistema configura variables, almacena coeficientes de distribución y asigna valores predeterminados razonables a estas variables. pero estos valores no son
Debe ser adecuado para cada entorno de aplicación Al realizar el diseño físico, reasignar estas variables para mejorar
rendimiento de sistema. Al elegir dispositivos de hardware, sistemas operativos de servidor y bases de datos, debe considerar poder
Aumenta y expande.
Al configurar las variables del sistema, preste atención a la cantidad de usuarios que usan la base de datos al mismo tiempo, la cantidad de bases de datos abiertas al mismo tiempo
Número de objetos, parámetros de asignación de memoria, parámetros de asignación de búfer, tamaño de segmento de tiempo, tamaño de base de datos, bloqueo
numero etc Estos valores de parámetros afectarán el tiempo de almacenamiento de la base de datos y la asignación de espacio de almacenamiento.
5.4 Diseño del método de almacenamiento de bases de datos
En este sistema se adopta la búsqueda secuencial, se busca en promedio n/2 veces y se establece el índice del árbol B+, y el tiempo promedio de búsqueda es log2 n+1 de las capas del árbol B+. Por lo tanto, el árbol B+ se elige como índice y el código de la relación se indexa en el proceso de diseño.
5.5 Estructura de la tabla de la base de datos
(1) Formulario de información del empleado
Nombre del Atributo |
nombre del campo |
tipo de datos |
longitud |
¿Se permite estar vacío? |
Si la clave principal |
ID de empleado |
numero de empleado |
carbonizarse |
4 |
No permitido |
Sí |
Nombre |
nombre |
varchar |
8 |
No permitido |
No |
género |
sexo |
carbonizarse |
2 |
permitir |
No |
fecha de nacimiento |
cumpleaños |
fecha y hora |
permitir |
No |
|
Departamento |
departamento |
varchar |
20 |
No permitido |
No |
Nivel de Educación |
Nivel de Educación |
varchar |
20 |
permitir |
No |
título profesional |
título |
carbonizarse |
12 |
permitir |
No |
(2) Formulario de información del departamento
Nombre del Atributo |
nombre del campo |
tipo de datos |
longitud |
¿Se permite estar vacío? |
Si la clave principal |
Número de departamento |
código |
carbonizarse |
4 |
No permitido |
Sí |
Nombre de Departamento |
nombre |
varchar |
20 |
No permitido |
No |
Jefe de departamento |
gerente |
varchar |
20 |
No permitido |
No |
personal del departamento |
suma |
En t |
10 |
No permitido |
No |
(3) Formulario de información salarial
Nombre del Atributo |
nombre del campo |
tipo de datos |
longitud |
¿Se permite estar vacío? |
Con o sin índice |
ID de empleado |
código |
carbonizarse |
4 |
No permitido |
Sí |
Salario básico |
salarios base |
varchar |
20 |
No permitido |
No |
Trabajos asalariados |
postSalarios |
varchar |
20 |
No permitido |
No |
factura de servicios públicos |
dinero |
flotar |
10 |
No permitido |
No |
salario de asignación |
subvención |
varchar |
10 |
No permitido |
No |
deducción |
varchar |
10 |
No permitido |
No |
|
cantidad real |
hecho |
varchar |
10 |
No permitido |
No |
(4) Formulario de información de asistencia
Nombre del Atributo |
nombre del campo |
tipo de datos |
longitud |
¿Se permite estar vacío? |
Con o sin índice |
ID de empleado |
código |
carbonizarse |
4 |
No permitido |
Sí |
Nombre |
nombre |
varchar |
8 |
No permitido |
No |
género |
sexo |
carbonizarse |
2 |
No permitido |
No |
Número de llegadas tardías |
suma de retraso |
En t |
10 |
No permitido |
No |
Número de ausencias |
enviado |
En t |
10 |
No permitido |
No |
(5) Formulario de información sobre subsidios
Nombre del Atributo |
nombre del campo |
tipo de datos |
longitud |
¿Se permite estar vacío? |
Con o sin índice |
ID de empleado |
código |
carbonizarse |
4 |
No permitido |
Sí |
Nombre |
nombre |
varchar |
8 |
No permitido |
No |
género |
sexo |
carbonizarse |
2 |
No permitido |
No |
Con el tiempo |
con el tiempo |
varchar |
10 |
permitir |
No |
Días de horas extras |
tiempo de día |
flotar |
10 |
permitir |
No |
Tipo de horas extras |
supertipo |
varchar |
10 |
permitir |
No |
Prestación |
prestación |
En t |
10 |
permitir |
No |
5.6 Modelo de base de datos
modelo de base de datos
6. Implementación de la base de datos
6.1 Creación de base de datos
CREAR BASE DE DATOS salarios JUEGO DE CARACTERES utf8;
6.2 Creación de tablas de base de datos
(1) Formulario de información del empleado
CREAR TABLA `personal` (
`employee_No` char(4) CONJUNTO DE CARACTERES utf8mb4 COLLATE utf8mb4_unicode_ci NO NULO,
`name` varchar(8) CONJUNTO DE CARACTERES utf8mb4 COLLATE utf8mb4_unicode_ci NULO PREDETERMINADO NULO,
`sex` char(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`birthday` datetime(0) NULL DEFAULT NULL,
`dept` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`education_level` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`title` char(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (`employee_No`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
基础数据初始化:
INSERT INTO `staff` VALUES ('001', '张三', '女', '1999-01-21 00:00:00', '部门', '本科', '无');
INSERT INTO `staff` VALUES ('002', '张三', '女', '1999-01-21 00:00:00', '部门', '本科', '无');
INSERT INTO `staff` VALUES ('003', '张三', '女', '1999-01-21 00:00:00', '部门', '本科', '无');
INSERT INTO `staff` VALUES ('004', '张三', '女', '1999-01-21 00:00:00', '部门', '本科', '无');
效果图:
图6.1 员工信息表运行效果
(2)部门信息表
CREATE TABLE `dept` (
`code` char(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`manager` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`sum` int(0) NULL DEFAULT NULL,
PRIMARY KEY (`code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
数据初始化:
INSERT INTO `dept` VALUES ('001', '部门1', '张三', 10);
INSERT INTO `dept` VALUES ('002', '部门2', '张三', 10);
INSERT INTO `dept` VALUES ('003', '部门2', '张三', 10);
效果图:
图6.2 部门信息表运行效果
(3)工资信息表
DROP TABLE IF EXISTS `wages`;
CREATE TABLE `wages` (
`code` char(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`baseWages` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`postWages` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`money` float(10, 0) NULL DEFAULT NULL,
`subsidy` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`deduction` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (`code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
数据初始化:
INSERT INTO `wages` VALUES ('001', '2000', '1000', 1000, '1000', '');
INSERT INTO `wages` VALUES ('002', '2000', '1000', 1000, '1000', '');
INSERT INTO `wages` VALUES ('003', '2000', '1000', 1000, '1000', '');
INSERT INTO `wages` VALUES ('004', '2000', '1000', 1000, '1000', '');
效果图:
图6.3 工资信息表运行效果
(4)考勤信息表
CREATE TABLE `attendance` (
`code` char(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`sex` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`delaysum` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`misssum` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (`code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
数据初始化:
INSERT INTO `attendance` VALUES ('001', '张三', '女', '11', '0');
INSERT INTO `attendance` VALUES ('002', '张三', '女', '11', '0');
INSERT INTO `attendance` VALUES ('003', '张三', '女', '11', '0');
INSERT INTO `attendance` VALUES ('004', '张三', '女', '11', '0');
INSERT INTO `attendance` VALUES ('005', '张三', '女', '11', '0');
效果图:
图6.4 考勤信息表运行效果
(5)津贴信息表
CREATE TABLE `allowance` (
`code` char(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`sex` char(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`overtime` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
`allowance` int(0) NULL DEFAULT NULL,
`overday` float(10, 0) NULL DEFAULT NULL,
`overtype` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (`code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
数据初始化:
INSERT INTO `allowance` VALUES ('001', '张三', '女', '0', 0, 0, '0');
INSERT INTO `allowance` VALUES ('002', '张三', '女', '0', 0, 0, '0');
INSERT INTO `allowance` VALUES ('003', '张三', '女', '0', 0, 0, '0');
INSERT INTO `allowance` VALUES ('004', '张三', '女', '0', 0, 0, '0');
INSERT INTO `allowance` VALUES ('005', '张三', '女', '0', 0, 0, '0');
运行效果图:
图6.5 津贴信息表运行效果