Ejercicio 27: Modelado de Bases de Datos con DBML
En este ejercicio, se abordará el modelado de bases de datos relacionales utilizando DBML (Database Markup Language). El objetivo es desarrollar habilidades en la creación de diagramas Entidad-Relación (ER) y en la definición de estructuras de datos complejas mediante DBML.
Objetivos
- Desarrollar un modelo de base de datos relacional utilizando DBML.
- Identificar entidades, atributos y relaciones en un contexto académico.
- Dibujar diagramas ER que representen correctamente las estructuras de datos.
Entrada de Datos
- Información sobre proyectos finales de estudiantes.
- Datos sobre tutorías entre estudiantes.
- Detalles de unidades temáticas en materias.
Código Base
A continuación se presenta un ejemplo de cómo definir una tabla en DBML:
Table estudiantes {
id int [primary key, increment]
nombre varchar(100)
email varchar(100) [unique]
fecha_nacimiento date
}
Parte 1: Modelado de Proyectos Finales
La universidad requiere almacenar información sobre los proyectos finales que realizan los estudiantes.
Requisitos
- Un proyecto final puede ser realizado por varios estudiantes, pero siempre por al menos uno.
- Cada estudiante puede realizar un único proyecto final.
- Se debe registrar el título, la fecha de entrega y el área temática del proyecto.
Tareas
- Identificar entidades y atributos involucrados en el problema.
- Definir la relación entre estudiantes y proyectos, indicando cardinalidad y tipo de participación.
- Dibujar el DER representando correctamente esta estructura.
Parte 2: Modelado de Tutorías entre Estudiantes
La universidad permite que los estudiantes más avanzados actúen como tutores de otros estudiantes.
Requisitos
- Cada estudiante tiene un único tutor, que también es estudiante.
- Un estudiante puede tutorizar a varios estudiantes o a ninguno.
- Se debe registrar el periodo de tutoría y el tipo de tutoría (académica, orientación, etc.).
Tareas
- Determinar la relación y su cardinalidad.
- Explicar si es necesario modelar la relación como una entidad débil o como una jerarquía.
- Dibujar el DER representando esta relación.
Parte 3: Unidades Temáticas en Materias
La universidad quiere almacenar información sobre las unidades temáticas de cada materia.
Requisitos
- Cada materia está compuesta por una o más unidades temáticas.
- Una unidad temática pertenece únicamente a una materia.
- Cada unidad puede tener una cantidad de horas asignadas y una descripción del contenido a cubrir.
Tareas
- Modelar la relación entre
Materia
yUnidad Temática
. - Determinar su cardinalidad y el tipo de participación.
- Dibujar el DER final integrando todas las partes anteriores.
Implementación
# TODO: Implementar el modelo de base de datos en DBML
Pruebas
A continuación se presentan ejemplos de cómo podrían verse las relaciones en DBML:
Ref: estudiantes.id < proyectos_finales.estudiante_id
Ref: estudiantes.id - tutorias.tutor_id
Ref: materias.id < unidades_tematicas.materia_id
Este ejercicio tiene como objetivo proporcionar una comprensión profunda del modelado de bases de datos relacionales utilizando DBML, permitiendo a los estudiantes aplicar estos conceptos en contextos académicos y profesionales.