1.
Definición del Problema
Una institución educativa necesita gestionar la inscripción de estudiantes en cursos específicos.
Se requiere almacenar información sobre los estudiantes, los cursos y la relación entre ellos.
2. Entidades y Relaciones
1. Estudiante: Almacena información de los alumnos.
2. Curso: Contiene los cursos disponibles.
3. Asignación: Relaciona a los estudiantes con los cursos en los que están inscritos.
Modelo Entidad-Relación (MER)
Entidades:
Estudiante (id_estudiante, nombre, apellido, correo, teléfono)
Curso (id_curso, nombre, créditos)
Asignación (id_asignacion, id_estudiante, id_curso, fecha_asignacion)
Relaciones:
Un estudiante puede estar asignado a varios cursos (relación muchos a muchos).
Un curso puede tener varios estudiantes inscritos (relación muchos a muchos).
Se crea una tabla intermedia llamada Asignación para gestionar la relación.
3. Diagrama Relacional
+-------------+ +-------------+ +--------------+
| Estudiante | | Asignación | | Curso |
+-------------+ +-------------+ +--------------+
| id_estudiante (PK)| | id_asignacion (PK)| | id_curso (PK) |
| nombre | | id_estudiante (FK)| | nombre |
| apellido | | id_curso (FK) | | créditos |
| correo | | fecha_asignacion | +--------------+
| teléfono | +-------------+
+-------------+
4. Creación de la Base de Datos en SQL
sql
CREATE DATABASE AsignacionCursos;
USE AsignacionCursos;
CREATE TABLE Estudiante (
id_estudiante INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
apellido VARCHAR(50),
correo VARCHAR(100) UNIQUE,
telefono VARCHAR(15)
);
CREATE TABLE Curso (
id_curso INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100),
creditos INT
);
CREATE TABLE Asignacion (
id_asignacion INT AUTO_INCREMENT PRIMARY KEY,
id_estudiante INT,
id_curso INT,
fecha_asignacion DATE,
FOREIGN KEY (id_estudiante) REFERENCES Estudiante(id_estudiante),
FOREIGN KEY (id_curso) REFERENCES Curso(id_curso)
);
5. Explicación del Código
Se crea la base de datos AsignacionCursos y se usa con USE.
La tabla Estudiante almacena la información de los alumnos.
La tabla Curso define los cursos disponibles.
La tabla Asignación gestiona la relación muchos a muchos entre Estudiantes y Cursos.
6. Casos de Uso
Registrar un nuevo estudiante.
Agregar un curso.
Asignar un estudiante a un curso.
consultar qué estudiantes están en un curso específico.