Base de datos Principios y aplicaciones Informe de diseño del curso - Sistema de gestión de salarios

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:

  1. Formulario de información del empleado: personal
  2. Formulario de información del departamento: dept
  3. Tabla de información salarial: salarios
  4. Formulario de información de asistencia: asistencia
  5. 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

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

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

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 de salario

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

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

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 津贴信息表运行效果

 

Supongo que te gusta

Origin blog.csdn.net/lf21qp/article/details/131611602
Recomendado
Clasificación