Sistema de gestión de estado de estudiantes universitarios basado en Java y MySQL (proyecto de graduación con código de proyecto completo)

1. Tareas de diseño

Los requisitos funcionales bajo este tema son:

  • Realizar la gestión de la información de los estudiantes, clases, departamentos, carreras, etc.

  • Realice la gestión de la información sobre el rendimiento de los estudiantes y los cursos.

  • Realizar la gestión de la información de recompensas y castigos de los estudiantes.

  • Cree una regla para restringir el elemento de género solo a "masculino" o "femenino"

  • Cree una vista para consultar el número de estudiante, nombre, clase, especialización y departamento de cada estudiante.

  • Cree un procedimiento almacenado para consultar los expedientes académicos de estudiantes específicos.

  • Cree activadores para modificar automáticamente la clase correspondiente y el número de estudiantes al agregar, eliminar o modificar información de clase de estudiantes.

  • Establecer restricciones de integridad referencial entre tablas relacionadas en la base de datos.

Entre ellos, soy el principal responsable de diseñar el proceso de almacenamiento, crear activadores para modificar automáticamente el número de estudiantes en la clase correspondiente al modificar la información de la clase de los estudiantes, el módulo de gestión de selección de cursos (selección de cursos, retiro y verificación de cursos) y el módulo de gestión de calificaciones (agregar, eliminar, modificar, verificar resultados), módulo de gestión de recompensas y castigos (agregar, eliminar, modificar, verificar información de recompensas y castigos).

Los módulos restantes son ×× responsables de diseñar la estructura de la tabla, diseñar la página principal, el módulo de gestión de departamentos (agregar, eliminar y verificar información del departamento), el módulo de gestión profesional (agregar, eliminar y verificar información profesional) y el módulo de gestión de clases. (agregar, eliminar clases) información, consulta de tamaño de clase); , consultar información del curso).

1.1 Análisis de requisitos


1.2 Requisitos funcionales


  • Módulo de gestión de estudiantes : cree una tabla de información de estudiantes (stu_inf) para agregar, consultar, modificar y eliminar información de estudiantes.

  • Módulo de gestión de cursos : cree una tabla de información del curso (curso) para agregar, consultar, modificar y eliminar información del curso.

  • Módulo de gestión de departamentos : cree una tabla de información de departamentos (departamento) para agregar, consultar y eliminar información de departamentos.

  • Módulo de gestión profesional : Crear una tabla de información profesional (mayor) para agregar, consultar y eliminar información profesional.

  • Módulo de gestión de clases : cree una tabla de información de clases (clase) para agregar, eliminar y consultar información de clases.

  • Módulo de gestión de selección de cursos : cree una tabla de información de selección de cursos (stu_cou) para agregar, consultar y eliminar información de selección de cursos.

  • Módulo de gestión de calificaciones : la tabla de información de selección de cursos (stu_cou) se puede utilizar para agregar, consultar, modificar y eliminar información de calificaciones.

  • Módulo de gestión de recompensas y castigos : cree una tabla de información de recompensas y castigos (stu_san) para agregar, consultar, modificar y eliminar información de recompensas y castigos.

1.3 Requisitos de desempeño


  • Integridad y precisión de los datos : los datos se ingresan en un formulario y el tipo y rango de valores de los datos ingresados ​​están limitados para garantizar la integridad y precisión de los datos. El sistema tiene una función de arrepentimiento parcial y se proporcionan todas las funciones de modificación. por el sistema se puede revertir.

  • Puntualidad en la finalización de los datos : por ejemplo, al ingresar calificaciones, las calificaciones solo se pueden ingresar después de que se hayan ingresado los materiales del curso seleccionados.

1.4 Requisitos de datos


  • Tabla de departamentos (nombre de departamento (Varchar))

  • El departamento de información principal en la tabla principal (nombre principal (Varchar), nombre de departamento (Varchar)) debe ser el departamento en la tabla de departamentos.

  • La información de clase principal de la tabla de clases (nombre principal (Varchar), número de clase (Int), suma de clases (Smallint)) debe ser la principal de la tabla principal

  • La clase de la tabla de estudiantes (Sno(Varchar), Sname(Varchar), Ssex(Enum), Sbirth(Date), Snative(Varchar), Sclass(Int), Smajor(Varchar)) la información del estudiante debe ser la clase de la mesa de clases

  • Horario del curso (Cno(Varchar), Cname(Varchar), Ccredit(Smallint), Cteacher(Varchar))

  • El número de estudiante en la tabla de selección de cursos (Cno (Varchar), Sno (Varchar), GradeSmallint)) debe ser el número de estudiante en la tabla de estudiantes, y el número de curso debe ser el número de curso en el cronograma del curso.

  • Tabla de información de recompensas y castigos (id (Int), Sno (Varchar), Sname (Varchar), Reward (Varchar), Punish (Varchar)) El número de estudiante y el nombre de la información de recompensa y castigo deben ser el número de estudiante y el nombre de la mesa de estudiantes

  • Tabla de usuarios (nombre de usuario (Varchar), contraseña (Varchar))

1.5 Requisitos operativos


  • Interfaz de usuario : simple, práctica y fácil de operar

  • Interfaz de software : utilice JDBC para conectar bases de datos Java y MySQL

2. Diseño del sistema


marco funcional general

Diseño detallado de módulos.

  • Selección de curso : ingrese el número de estudiante existente y el número de curso, y luego ejecute la instrucción de inserción para agregar esta información a la tabla stu_cou de la base de datos.

  • Retirar un curso : ingrese la identificación del estudiante existente, primero ejecute la instrucción de selección para consultar la información de selección del curso correspondiente, seleccione la información correspondiente del curso que desea retirar y luego ejecute la instrucción de eliminación para eliminar esta información en la tabla stu_cou de la base de datos. ;

  • Consulta de información de selección de cursos : ingrese el número de estudiante de un estudiante existente y luego ejecute la declaración de selección para consultar todos los cursos de este estudiante, o ingrese el número de curso de un curso existente y luego ejecute la declaración de selección para consultar a todos los estudiantes en este curso.

  • Agregar y modificar calificaciones : ingrese el número del curso existente, primero ejecute la instrucción de selección para consultar a todos los estudiantes en este curso, seleccione los estudiantes para agregar calificaciones e ingrese las calificaciones de este curso, y luego ejecute la instrucción de actualización para actualizar esta información en el tabla stu_cou de base de datos

  • Eliminación de calificaciones : ingrese el número de curso existente, primero ejecute la declaración de selección para consultar a todos los estudiantes en este curso, seleccione al estudiante y luego ejecute la declaración de actualización para eliminar al estudiante y las calificaciones correspondientes de este curso en la tabla stu_cou de la base de datos.

  • Consulta de resultados :

  • Consulta por ID de estudiante: ingrese la ID de estudiante de un estudiante existente y luego ejecute la instrucción de selección para consultar todas las calificaciones del estudiante y enumere el número total de cursos, el total de créditos, el número de cursos reprobados, los créditos tomados y la puntuación promedio del estudiante. .

  • Consulta por número de curso: ingrese el número de curso de un curso existente y luego ejecute la instrucción de selección para consultar la información de calificaciones de los estudiantes que ya obtuvieron calificaciones en este curso y cuente automáticamente el número total de estudiantes, el número de personas que aprobaron. , el número de personas que reprobaron y la nota media de este curso.

  • Agregar información de recompensa y castigo: ingrese el número de estudiante y el nombre del estudiante existente, luego ingrese la información de recompensa y castigo y luego ejecute la instrucción de inserción para agregar esta información a la tabla stu_san de la base de datos

  • Eliminación de información de recompensa y castigo: ingrese el número de estudiante del estudiante cuya información de recompensa y castigo se agregó y luego ejecute la instrucción de eliminación para eliminar esta información en la tabla stu_san de la base de datos.

  • Modificación de la información de recompensa y castigo: ingrese la identificación del estudiante que agregó información de recompensa y castigo, primero ejecute la instrucción de selección para consultar toda la información de recompensa y castigo, luego seleccione la información que se modificará e ingrese la información de recompensa y castigo modificada y finalmente ejecute la declaración de actualización para modificar esto en la información de la tabla stu_san de la base de datos

  • Consulta de información de recompensas y castigos: ingrese el número de estudiante de un estudiante existente y luego ejecute la instrucción de selección para consultar toda la información de recompensas y castigos.

3. Diseño de base de datos


diseño estructural conceptual

Diseño de estructura lógica.

  • Clave principal del departamento (nombre del departamento) = nombre del departamento

  • Principal (nombre del departamento, nombre principal) Clave principal = nombre principal Clave externa = nombre del departamento

  • Clase (nombre principal, número de clase, número de clase) clave primaria = nombre principal, número de clase clave externa = nombre principal

  • Estudiante (número de estudiante, nombre, sexo, fecha de nacimiento, lugar de origen, nombre principal, número de clase)

  • Clave principal = número de estudiante Clave externa = nombre principal, número de clase

  • Curso (número de curso, nombre del curso, créditos, instructor) Clave principal = número de curso

  • Selección de curso (número de estudiante, número de curso, puntajes) Clave principal = número de estudiante, número de curso Clave externa = número de estudiante, número de curso

  • Información de recompensa y castigo (id, número de estudiante, nombre, información de recompensa, información de castigo) Clave primaria = id Clave externa = número de estudiante, nombre

  • usuario (nombre de usuario, contraseña) clave principal = nombre de usuario

diseño de estructura física

Tabla de información del estudiante (stu_inf)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

nieve

Varchar(6)

No

No

Identificación del Estudiante

se quita

Varchar(10)

No

No

No

Nombre

sexo

enumeración

No

No

No

género

Espíritu

Fecha

No

No

Fecha de nacimiento

nativo

Varchar(10)

No

No

Lugar de nacimiento

Clase S

En t

No

No

clase

mayor

Varchar(10)

No

No

importante

clave externa

nombre

Campo

esquema referenciado

Tabla referenciada (padre)

campo referenciado

Al eliminar

Al actualizar

clase inf

Clase S, Mayor

meimaobingle

clase

número de clase, nombre principal

RESTRINGIR

RESTRINGIR

Tabla de información del curso (curso)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

cno

Varchar(4)

No

No

Numero de curso

nombre

Varchar(40)

No

No

No

Nombre del curso

Él cree

Pequeño

No

No

No

crédito

profesor

Varchar(10)

No

No

No

Profesores de entrenamiento

Tabla de información del departamento (departamento)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

nombre del departamento

Varchar(10)

No

No

Nombre de Departamento

Formulario de información principal (principal)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

nombre mayor

Varchar(10)

No

No

Nombre profesional

nombre del departamento

Varchar(10)

No

Nombre de Departamento

clave externa

nombre

Campo

esquema referenciado

Tabla referenciada (padre)

campo referenciado

Al eliminar

Al actualizar

salida mayor

nombre del departamento

meimaobingle

departamento

nombre del departamento

CASCADA

CASCADA

Tabla de información de clase (clase)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

nombre mayor

Varchar(10)

No

Nombre profesional

número de clase

En t

No

No

Numero de clase

clase

Pequeño

No

No

No

tamaño de la clase

clave externa

nombre

Campo

esquema referenciado

Tabla referenciada (padre)

campo referenciado

Al eliminar

Al actualizar

clase mayor

nombre mayor

meimaobingle

importante

nombre mayor

CASCADA

CASCADA

Formulario de información de selección de cursos (stu_cou)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

cno

Varchar(4)

No

Numero de curso

nieve

Varchar(6)

No

Identificación del Estudiante

Calificación

Pequeño

No

No

puntaje

clave externa

nombre

Campo

esquema referenciado

Tabla referenciada (padre)

campo referenciado

Al eliminar

Al actualizar

curso_cou

Cnombre, Cno

meimaobingle

curso

Cnombre, Cno

CASCADA

CASCADA

cou_inf

nieve

meimaobingle

este_inf

nieve

CASCADA

CASCADA

Tabla de información de recompensas y castigos (stu_san)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

identificación

En t

No

No

Identificación de recompensa y castigo

nieve

Varchar(6)

No

No

Identificación del Estudiante

se quita

Varchar(10)

No

No

Nombre

Premio

Varchar(100)

No

No

información de recompensa

Castigar

Varchar(100)

No

No

Información de castigo

clave externa

nombre

Campo

esquema referenciado

Tabla referenciada (padre)

campo referenciado

Al eliminar

Al actualizar

san-inf

Sno, nombre

meimaobingle

este_inf

Sno, nombre

CASCADA

CASCADA

Tabla de información del usuario (iniciar sesión)

Nombre del campo

Tipo de campo

punto decimal

¿Es una clave primaria?

¿Está vacío?

¿Es una clave externa?

Observación

nombre de usuario

Varchar(10)

No

No

nombre de usuario

contraseña

Varchar(10)

No

No

No

contraseña

Vista de información del estudiante

CREATE ALGORITHM = UNDEFINED DEFINER = `root` @`localhost` SQL SECURITY DEFINER VIEW `studentview` AS SELECT
    `stu_inf`.`Sno` AS `Sno`,
    `stu_inf`.`Sname` AS `Sname`,
    `stu_inf`.`Sclass` AS `Sclass`,
    `stu_inf`.`Smajor` AS `Smajor`
FROM `stu_inf`

Consulta el procedimiento almacenado para el expediente académico de un estudiante específico :

CREATE DEFINER=`root`@`localhost` PROCEDURE `pd_select_stu_cou_by_Sno`(S_no varchar(6))
    BEGIN
        select Sno,Cno,Grade from stu_cou where Sno=S_no;
    END

desencadenar :

·Al agregar estudiantes, el tamaño de la clase aumentará automáticamente en 1

CREATE DEFINER = `root` @`localhost` TRIGGER `stu_jia` AFTER INSERT ON `stu_inf` FOR EACH ROW
UPDATE class SET classsum = classsum + 1
WHERE new.Smajor = majorname AND new.sclass = classnum;

Al eliminar estudiantes, el tamaño de la clase se reduce automáticamente en 1

CREATE DEFINER = `root` @`localhost` TRIGGER `stu_shan` BEFORE DELETE ON `stu_inf` FOR EACH ROW
UPDATE class SET classsum = classsum - 1
WHERE old.Smajor = majorname AND old.sclass = classnum;;

Al modificar la clase de un estudiante, la clase anterior será automáticamente -1 y la nueva clase será automáticamente +1.

CREATE DEFINER = `root` @`localhost` TRIGGER `stu_geng` AFTER UPDATE ON `stu_inf` FOR EACH ROW
BEGIN
    UPDATE class SET classsum = classsum + 1
    WHERE new.Smajor = majorname AND new.sclass = classnum;
    UPDATE class SET classsum = classsum - 1
    WHERE old.Smajor = majorname AND old.sclass = classnum;
END;

4. Resultados de operación y pruebas.


Interfaz en ejecución y sus representaciones.

Describa los problemas encontrados durante la depuración :

Durante el diseño inicial de la base de datos, faltaban algunas restricciones definidas por el usuario de la base de datos, lo que provocó que se escribieran algunos datos ilógicos e incorrectos en la base de datos. Posteriormente, se agregaron al programa condiciones de juicio de restricciones relevantes para garantizar la exactitud y coherencia de los datos.

Código completo: https://download.csdn.net/download/qq_38735017/87394449

Supongo que te gusta

Origin blog.csdn.net/pythonyanyan/article/details/128748130#comments_30582284
Recomendado
Clasificación