0% encontró este documento útil (0 votos)
2 vistas20 páginas

Proyecto Base Datos

El documento presenta el diseño e implementación de una base de datos relacional para un sistema de gestión académica, enfocado en la administración de información de estudiantes, profesores, programas, cursos, matrículas y calificaciones. Se abordan aspectos como el análisis de requerimientos, el diseño de modelos entidad-relación y relacional, la normalización hasta la tercera forma normal, y la implementación técnica en MySQL Workbench. El proyecto busca mejorar la gestión de información académica, garantizando integridad y consistencia de los datos.

Cargado por

vulndetect
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas20 páginas

Proyecto Base Datos

El documento presenta el diseño e implementación de una base de datos relacional para un sistema de gestión académica, enfocado en la administración de información de estudiantes, profesores, programas, cursos, matrículas y calificaciones. Se abordan aspectos como el análisis de requerimientos, el diseño de modelos entidad-relación y relacional, la normalización hasta la tercera forma normal, y la implementación técnica en MySQL Workbench. El proyecto busca mejorar la gestión de información académica, garantizando integridad y consistencia de los datos.

Cargado por

vulndetect
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SISTEMA DE GESTIÓN ACADÉMICA

DISEÑO E IMPLEMENTACIÓN DE BASE DE DATOS

Juan Camilo Nieto Porto

Alejandro González Botache

Fabio Santiago Salamanca Piedrahita

Corporación Unificada Nacional de Educación Superior – CUN

Programa académico: Administración de bases de datos

Asignatura: Administración de Bases de Datos

Docente: Sergio Alexander Mora Novoa

Bogotá, Colombia

15 de marzo de 2026

1
1. Introducción

Las bases de datos relacionales constituyen un componente fundamental en los sistemas

de información modernos, debido a que permiten organizar, almacenar y recuperar datos de

manera estructurada, segura y consistente. En el contexto académico, su aplicación resulta

especialmente relevante porque las instituciones educativas administran grandes volúmenes de

información asociados con estudiantes, programas, docentes, cursos, matrículas y calificaciones.

En este proyecto se desarrolló el diseño e implementación de una base de datos para un

sistema de gestión académica, orientado a apoyar procesos esenciales como el registro de

estudiantes, la asignación de profesores, la creación de cursos, la matrícula y el registro de notas.

El trabajo integra las etapas de análisis de requerimientos, diseño conceptual y lógico,

normalización, implementación técnica y validación mediante consultas SQL en MySQL

Workbench.

2. Objetivos

2.1 Objetivo general

Diseñar e implementar una base de datos relacional para un sistema de gestión académica

que permita administrar información básica de estudiantes, profesores, programas, cursos,

matrículas y calificaciones, garantizando integridad, consistencia y facilidad de consulta.

2.2 Objetivos específicos

• Analizar los requerimientos funcionales y no funcionales del sistema académico propuesto.

• Diseñar el modelo entidad–relación y el modelo relacional de la base de datos.

• Aplicar el proceso de normalización hasta la tercera forma normal para reducir

redundancias.

2
• Implementar la estructura de la base de datos en MySQL Workbench mediante scripts DDL

y DML.

• Validar el funcionamiento del sistema a través de consultas SQL con operaciones SELECT,

JOIN, GROUP BY y subconsultas.

3. Justificación

Las instituciones educativas requieren sistemas confiables que les permitan gestionar

información académica de forma centralizada. Cuando estos procesos se llevan a cabo de manera

manual o mediante herramientas dispersas, pueden presentarse inconsistencias, duplicidad de

registros, dificultades de seguimiento y pérdida de trazabilidad.

La construcción de este sistema de gestión académica resulta pertinente porque permite

aplicar los conceptos teóricos vistos en el curso de Administración de Bases de Datos a un caso

realista y funcional. Asimismo, fortalece competencias en modelado de datos, definición de

relaciones, diseño de tablas, manejo de integridad referencial y construcción de consultas para la

recuperación de información relevante.

4. Análisis de requerimientos y definición del alcance

4.1 Caso de negocio

Las instituciones educativas manejan grandes volúmenes de información relacionada con

estudiantes, docentes, programas académicos, cursos y procesos de matrícula. Muchos de estos

procesos se realizan mediante herramientas dispersas o registros manuales, lo que dificulta el

acceso a la información y puede generar inconsistencias en los datos.

Por esta razón, se propone el desarrollo de un sistema de gestión académica soportado

por una base de datos relacional. Este sistema permite almacenar, organizar y consultar

3
información académica de forma estructurada, facilitando procesos como el registro de

estudiantes, la asignación de profesores a cursos, la matrícula de estudiantes y el registro de

calificaciones.

4.2 Requerimientos funcionales

• El sistema debe permitir registrar estudiantes.

• El sistema debe permitir registrar programas académicos.

• El sistema debe permitir registrar profesores.

• El sistema debe permitir crear cursos asociados a programas académicos.

• El sistema debe permitir matricular estudiantes en cursos.

• El sistema debe permitir registrar las notas de los estudiantes.

4.3 Requerimientos no funcionales

• La base de datos debe garantizar integridad y consistencia de los datos.

• El sistema debe evitar redundancia de información.

• Las consultas deben ejecutarse en tiempos eficientes.

• La estructura de datos debe permitir escalabilidad futura.

4.4 Alcance del proyecto

El proyecto contempla el diseño conceptual y lógico de la base de datos, así como su

implementación en MySQL Workbench. Las entidades principales identificadas son Programa,

Curso, Profesor, Estudiante, Matrícula y Nota. El sistema permite realizar operaciones básicas de

registro, consulta y relación entre estas entidades.

El alcance incluye la creación de la base de datos, la definición de claves primarias y

foráneas, la inserción de datos de prueba, la ejecución de consultas SQL y la validación

4
funcional del modelo. No se incluye el desarrollo de una interfaz gráfica ni procesos avanzados

como control de acceso por roles, auditoría de cambios o reportes automatizados externos a

MySQL Workbench.

5. Diseño del modelo de datos

5.1 Modelo entidad–relación (ER)

El modelo entidad–relación representa la estructura conceptual de la base de datos. En

este modelo se identifican las entidades principales del sistema académico: Programa, Curso,

Profesor, Estudiante, Matrícula y Nota. Cada entidad contiene sus atributos principales y se

relaciona mediante asociaciones que representan la interacción entre los elementos del sistema.

Las cardinalidades definidas permiten establecer cómo se relacionan las entidades entre

sí; por ejemplo, un programa contiene múltiples cursos y estudiantes, un profesor puede impartir

varios cursos, un estudiante puede realizar varias matrículas y cada matrícula genera una nota

asociada.

5
Figura 1

Modelo entidad relacion (ER) implementado en [Link].

Diagrama entidad–relación del sistema de gestión académica.

5.2 Modelo relacional

A partir del modelo entidad–relación se construyó el modelo relacional. En este modelo

cada entidad se transforma en una tabla dentro de la base de datos y se definen las claves

primarias y foráneas que permiten mantener la integridad referencial entre las tablas. La base de

datos fue implementada en MySQL Workbench, donde se crearon las tablas programa, curso,

profesor, estudiante, matricula y nota junto con sus respectivas relaciones.

Figura 2

6
Modelo relacional implementado en MySQL Workbench.

5.3 Normalización

El proceso de normalización consiste en organizar la estructura de una base de datos con

el fin de reducir la redundancia de información y garantizar la integridad de los datos. En este

proyecto, la base de datos fue normalizada hasta la tercera forma normal (3FN) para asegurar una

correcta organización de la información del sistema de registro de estudiantes.

5.3.1 Primera forma normal (1FN)

Una tabla se encuentra en primera forma normal cuando todos sus atributos contienen

valores atómicos y no existen grupos repetitivos dentro de los registros. Además, cada tabla debe

tener una clave primaria que identifique de forma única cada registro. En el sistema desarrollado,

todas las tablas cumplen con esta condición. Por ejemplo, en la tabla estudiante cada campo

almacena un único valor, como nombre, apellido, documento, correo y teléfono.

5.3.2 Segunda forma normal (2FN)

La segunda forma normal establece que una tabla debe estar previamente en primera

forma normal y que todos los atributos deben depender completamente de la clave primaria. En

este sistema, cada tabla posee una clave primaria simple y todos sus atributos dependen

directamente de ella. Por ejemplo, en la tabla curso, los atributos nombre_curso y creditos

dependen completamente de la clave primaria id_curso, evitando dependencias parciales.

5.3.3 Tercera forma normal (3FN)

La tercera forma normal se cumple cuando la tabla se encuentra en segunda forma normal

y no existen dependencias transitivas entre los atributos; es decir, los atributos no dependen de

7
otros atributos que no sean la clave primaria. En este proyecto, la información se encuentra

correctamente separada en diferentes tablas. Por ejemplo, los datos del programa académico se

almacenan únicamente en la tabla programa, mientras que las tablas estudiante y curso hacen

referencia a ella mediante la clave foránea id_programa.

5.3.4 Conclusión de la normalización

Gracias al proceso de normalización hasta la tercera forma normal, la base de datos

permite almacenar la información de manera organizada, evitando redundancias y asegurando la

integridad de los datos. Esto facilita la gestión académica del sistema, así como la realización de

consultas eficientes dentro de la base de datos.

5.4 Diccionario de datos

El diccionario de datos describe la estructura de la base de datos, especificando las tablas,

campos, tipos de datos, descripción de cada atributo y sus restricciones. Esto permite comprender

de manera detallada cómo se organiza la información dentro del sistema de registro de

estudiantes.

Tabla 1

Diccionario de datos de programa

Campo Tipo de dato Descripción Restricción


Identificador único del
id_programa INT PK
programa académico
Nombre del programa
nombre_programa VARCHAR(100) NOT NULL
académico
Facultad a la que
facultad VARCHAR(100) NOT NULL
pertenece el programa

8
Tabla 2

Diccionario de datos de profesor

Campo Tipo de dato Descripción Restricción


Identificador único del
id_profesor INT PK
profesor
Nombre completo del
nombre VARCHAR(100) NOT NULL
profesor
Correo electrónico del
correo VARCHAR(100) NOT NULL
profesor
Área o especialidad del
especialidad VARCHAR(100) NOT NULL
profesor
Estado del profesor dentro
estado ENUM NOT NULL
del sistema

Tabla 3

Diccionario de datos de curso

Campo Tipo de dato Descripción Restricción


Identificador único del
id_curso INT PK
curso
Nombre de la asignatura o
nombre_curso VARCHAR(100) NOT NULL
curso
Número de créditos
creditos INT NOT NULL
académicos del curso
Programa académico al
id_programa INT FK, NOT NULL
que pertenece el curso
Profesor encargado de
id_profesor INT FK, NOT NULL
impartir el curso

9
Tabla 4

Diccionario de datos de estudiante

Campo Tipo de dato Descripción Restricción


Identificador único del
id_estudiante INT PK
estudiante
nombre VARCHAR(100) Nombre del estudiante NOT NULL
apellido VARCHAR(100) Apellido del estudiante NOT NULL
Número de documento
documento VARCHAR(20) NOT NULL
del estudiante
Correo electrónico del
correo VARCHAR(100) NOT NULL
estudiante
Número de teléfono del
telefono VARCHAR(20) NOT NULL
estudiante
Estado del estudiante
estado ENUM NOT NULL
dentro del sistema
Programa académico al
id_programa INT que pertenece el FK, NOT NULL
estudiante

Tabla 5

Diccionario de datos de matrícula

Campo Tipo de dato Descripción Restricción


Identificador único de la
id_matricula INT PK
matrícula
Estudiante asociado a la
id_estudiante INT FK, NOT NULL
matrícula
Curso asociado a la
id_curso INT FK, NOT NULL
matrícula
Fecha en la que se realizó
fecha_matricula DATE NOT NULL
la matrícula
Periodo académico al que
periodo_academico VARCHAR(20) NOT NULL
pertenece la matrícula
Estado actual de la
estado ENUM NOT NULL
matrícula

10
Tabla 6

Diccionario de datos de nota

Campo Tipo de dato Descripción Restricción


Identificador único de la
id_nota INT PK
nota
Matrícula a la cual
id_matricula INT FK, NOT NULL
pertenece la nota
Primera calificación
nota_1 DECIMAL(3,2) NOT NULL
parcial
Segunda calificación
nota_2 DECIMAL(3,2) NOT NULL
parcial
Tercera calificación
nota_3 DECIMAL(3,2) NOT NULL
parcial
Calificación final del
nota_final DECIMAL(3,2) NOT NULL
estudiante
Observación del resultado
observacion VARCHAR(255) NOT NULL
final

6. Implementación técnica

La implementación técnica del sistema se realizó en MySQL Workbench, herramienta en

la cual se creó la base de datos sistema_registro_estudiantes, se definieron las tablas, las claves

primarias y las claves foráneas, y posteriormente se insertaron datos de prueba para validar el

funcionamiento del sistema. La estructura final de la base de datos quedó conformada por las

tablas programa, profesor, curso, estudiante, matricula y nota.

11
6.1 Scripts DDL de creación de la base de datos

A continuación, se presentan los scripts DDL utilizados para la creación de la base de

datos y de sus tablas principales.

CREATE DATABASE sistema_registro_estudiantes;


USE sistema_registro_estudiantes;
CREATE TABLE programa (
id_programa INT PRIMARY KEY,
nombre_programa VARCHAR(100) NOT NULL,
facultad VARCHAR(100) NOT NULL
);
CREATE TABLE profesor (
id_profesor INT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
correo VARCHAR(100) NOT NULL,
especialidad VARCHAR(100) NOT NULL,
estado ENUM('Activo', 'Inactivo') NOT NULL
);
CREATE TABLE curso (
id_curso INT PRIMARY KEY,
nombre_curso VARCHAR(100) NOT NULL,
creditos INT NOT NULL,
id_programa INT NOT NULL,
id_profesor INT NOT NULL,
FOREIGN KEY (id_programa) REFERENCES programa(id_programa),
FOREIGN KEY (id_profesor) REFERENCES profesor(id_profesor)
);
CREATE TABLE estudiante (
id_estudiante INT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
apellido VARCHAR(100) NOT NULL,
documento VARCHAR(20) NOT NULL,
correo VARCHAR(100) NOT NULL,
telefono VARCHAR(20) NOT NULL,
estado ENUM('Activo', 'Inactivo') NOT NULL,
id_programa INT NOT NULL,
FOREIGN KEY (id_programa) REFERENCES programa(id_programa)
);
CREATE TABLE matricula (
id_matricula INT PRIMARY KEY,
id_estudiante INT NOT NULL,
id_curso INT NOT NULL,
fecha_matricula DATE NOT NULL,
periodo_academico VARCHAR(20) NOT NULL,
estado ENUM('Activa', 'Cancelada', 'Finalizada') NOT NULL,
FOREIGN KEY (id_estudiante) REFERENCES estudiante(id_estudiante),
FOREIGN KEY (id_curso) REFERENCES curso(id_curso)
);

12
CREATE TABLE nota (
id_nota INT PRIMARY KEY,
id_matricula INT NOT NULL,
nota_1 DECIMAL(3,2) NOT NULL,
nota_2 DECIMAL(3,2) NOT NULL,
nota_3 DECIMAL(3,2) NOT NULL,
nota_final DECIMAL(3,2) NOT NULL,
observacion VARCHAR(255) NOT NULL,
FOREIGN KEY (id_matricula) REFERENCES matricula(id_matricula)
);

6.2 Scripts de inserción de datos de prueba

Una vez creada la estructura de la base de datos, se insertaron datos de prueba con el fin

de validar el funcionamiento del sistema y permitir la ejecución de consultas SQL. En los scripts

generales del proyecto se cargaron doce registros en cada tabla principal; a continuación, se

presentan fragmentos representativos de dichas inserciones.

INSERT INTO programa (id_programa, nombre_programa, facultad) VALUES


(1, 'Ingenieria de Sistemas', 'Facultad de Ingenieria'),
(2, 'Administracion de Empresas', 'Facultad de Ciencias Economicas'),
(3, 'Contaduria Publica', 'Facultad de Ciencias Economicas');
INSERT INTO profesor (id_profesor, nombre, correo, especialidad, estado) VALUES
(1, 'Carlos Ramirez', '[Link]@[Link]', 'Bases de Datos', 'Activo'),
(2, 'Laura Gomez', '[Link]@[Link]', 'Programacion', 'Activo'),
(3, 'Andres Martinez', '[Link]@[Link]', 'Matematicas', 'Activo');
INSERT INTO curso (id_curso, nombre_curso, creditos, id_programa, id_profesor)
VALUES
(1, 'Base de Datos I', 3, 1, 1),
(2, 'Programacion I', 4, 1, 2),
(3, 'Calculo I', 3, 1, 3);
INSERT INTO estudiante (id_estudiante, nombre, apellido, documento, correo,
telefono, estado, id_programa) VALUES
(1, 'Juan', 'Perez', '1001001001', '[Link]@[Link]', '3001111111',
'Activo', 1),
(2, 'Maria', 'Lopez', '1001001002', '[Link]@[Link]', '3001111112',
'Activo', 1),
(3, 'Sofia', 'Torres', '1001001003', '[Link]@[Link]', '3001111113',
'Activo', 2);
INSERT INTO matricula (id_matricula, id_estudiante, id_curso, fecha_matricula,
periodo_academico, estado) VALUES
(1, 1, 1, '2026-01-20', '2026-1', 'Activa'),
(2, 2, 2, '2026-01-20', '2026-1', 'Activa'),
(3, 3, 3, '2026-01-21', '2026-1', 'Activa');
INSERT INTO nota (id_nota, id_matricula, nota_1, nota_2, nota_3, nota_final,
observacion) VALUES
(1, 1, 4.0, 4.2, 4.5, 4.23, 'Aprobado'),
(2, 2, 3.5, 3.8, 4.0, 3.77, 'Aprobado'),
(3, 3, 4.5, 4.7, 4.8, 4.67, 'Aprobado');

13
Figura 3

Evidencia de la ejecución de consultas básicas y visualización de datos de prueba en MySQL

Workbench.

6.3 Validación de la implementación

Después de la creación de las tablas y la inserción de datos de prueba, se realizaron

consultas SQL para comprobar que la base de datos funcionara correctamente y que las

relaciones entre tablas se hubieran implementado de manera adecuada. Entre las consultas de

validación se ejecutaron sentencias de consulta general sobre cada tabla, tales como SELECT *

14
FROM programa, SELECT * FROM profesor, SELECT * FROM curso, SELECT * FROM

estudiante, SELECT * FROM matricula y SELECT * FROM nota.

La implementación técnica permitió materializar el diseño conceptual y lógico de la base

de datos en un entorno real de trabajo. Gracias a ello, fue posible validar la estructura del

sistema, comprobar la integridad referencial y verificar que la base de datos se encontraba lista

para ejecutar consultas más avanzadas con JOIN, GROUP BY y subconsultas.

Figura 4

Validación de registros almacenados en la tabla estudiante mediante consulta SELECT.

7. Demostración de funcionalidades

Con el fin de validar el correcto funcionamiento de la base de datos, se ejecutaron

diversas consultas SQL en MySQL Workbench. Estas consultas permiten verificar la relación

15
entre las tablas y demostrar cómo el sistema puede recuperar información académica relevante.

Las consultas realizadas incluyen operaciones SELECT, JOIN, GROUP BY y subconsultas, que

permiten obtener información combinada, generar reportes agregados y realizar análisis sobre los

datos almacenados.

7.1 Consulta con JOIN

Las consultas con JOIN permiten combinar información proveniente de varias tablas

relacionadas mediante claves foráneas. En este caso se consultaron los estudiantes junto con el

curso que están matriculando y su nota final. Esta consulta permite visualizar la relación entre las

tablas estudiante, curso, matricula y nota, mostrando las calificaciones obtenidas por cada

estudiante en los cursos matriculados.

16
Figura 5

Consulta con JOIN para relacionar estudiantes, cursos, matrículas y notas finales.

7.2 Consulta con GROUP BY

Las consultas que utilizan GROUP BY permiten agrupar registros y realizar cálculos

agregados como promedios o conteos. En este ejemplo se calculó el promedio de notas finales

por curso. Esta consulta permite identificar el rendimiento promedio de los estudiantes en cada

asignatura, lo cual puede resultar útil para análisis académicos.

Figura 6

17
Consulta con GROUP BY para calcular el promedio de notas finales por curso.

7.3 Consulta con subconsulta

Las subconsultas permiten ejecutar una consulta dentro de otra para obtener resultados

más específicos. En este caso se identificaron los estudiantes que tienen una nota final superior al

promedio general del sistema. Esta consulta permite reconocer a los estudiantes cuyo desempeño

académico se encuentra por encima del promedio general registrado en la base de datos.

Figura 7

Consulta con subconsulta para identificar estudiantes con nota superior al promedio general.

18
7.4 Validación del sistema

Las consultas ejecutadas demuestran que las relaciones entre las tablas funcionan

correctamente y que la base de datos permite recuperar información académica de manera

eficiente. Gracias a la implementación de claves primarias y foráneas, es posible combinar

información de diferentes tablas, evitar inconsistencias y generar reportes útiles para la gestión

del sistema académico.

8. Video explicativo del proyecto

Como complemento al desarrollo del proyecto, se realizó un video en el que se explica el

diseño de la base de datos, la implementación en MySQL Workbench y la ejecución de consultas

SQL para validar el funcionamiento del sistema.

Video de explicación del proyecto: [Link]

9. Conclusiones

• El diseño de la base de datos permitió estructurar de manera organizada la información

académica de estudiantes, profesores, programas y cursos, favoreciendo su

administración y consulta.

• La aplicación de la normalización hasta la tercera forma normal contribuyó a reducir

redundancias, fortalecer la integridad de los datos y facilitar el mantenimiento del

sistema.

• La implementación en MySQL Workbench demostró que el modelo diseñado es funcional

y que las relaciones entre tablas permiten ejecutar consultas útiles para la gestión

académica.

19
• Las consultas con JOIN, GROUP BY y subconsultas evidenciaron la capacidad del sistema

para generar información relevante a partir de los datos almacenados, lo cual valida el

cumplimiento de los objetivos planteados.

Referencias

Connolly, T., & Begg, C. (2015). Database systems: A practical approach to design,

implementation, and management (6th ed.). Pearson.

Coronel, C., & Morris, S. (2019). Database systems: Design, implementation, and management.

Cengage Learning.

Elmasri, R., & Navathe, S. B. (2016). Fundamentals of database systems (7th ed.). Pearson.

Oracle. (2023). MySQL 8.0 Reference Manual. [Link]

Silberschatz, A., Korth, H. F., & Sudarshan, S. (2019). Database system concepts (7th ed.).

McGraw-Hill Education.

20

También podría gustarte