Ejercicio 31: Mapeo al Modelo Relacional
En este ejercicio, se requiere transformar los Diagramas Entidad-Relación (DER) generados en ejercicios previos en un Modelo Relacional. El objetivo es asegurar la correcta representación de entidades, relaciones y restricciones de integridad en un contexto de bases de datos relacionales.
Objetivos
- Transformar entidades en tablas dentro de un modelo relacional.
- Representar relaciones mediante claves foráneas.
- Aplicar normalización para evitar redundancias y mejorar la integridad de los datos.
- Implementar restricciones de integridad como claves primarias, claves foráneas y unicidad.
Entrada de Datos
- Diagramas Entidad-Relación (DER) de los Ejercicios 3 y 4.
Código Base
A continuación, se proporciona una estructura básica para guiar la implementación del modelo relacional. Se espera que el estudiante complete las sentencias SQL necesarias para crear las tablas y definir las relaciones y restricciones.
-- TODO: Implementar la creación de tablas y relaciones basadas en el DER
-- Ejemplo de estructura para una tabla de entidad
CREATE TABLE nombre_entidad (
atributo1_tipo,
atributo2_tipo,
-- TODO: Definir clave primaria
-- TODO: Definir restricciones adicionales
);
-- Ejemplo de estructura para una relación
CREATE TABLE nombre_relacion (
entidad1_id_tipo,
entidad2_id_tipo,
-- TODO: Definir claves foráneas
-- TODO: Definir restricciones de integridad
);
Pruebas
A continuación, se presentan ejemplos de cómo deberían estructurarse las tablas y relaciones en SQL. Estos ejemplos deben ser adaptados según los DER específicos de los ejercicios anteriores.
-- Ejemplo de tabla con clave primaria y restricción NOT NULL
CREATE TABLE estudiantes (
estudiante_id INT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
fecha_nacimiento DATE
);
-- Ejemplo de tabla de relación con claves foráneas
CREATE TABLE inscripciones (
estudiante_id INT,
curso_id INT,
PRIMARY KEY (estudiante_id, curso_id),
FOREIGN KEY (estudiante_id) REFERENCES estudiantes(estudiante_id),
FOREIGN KEY (curso_id) REFERENCES cursos(curso_id)
);
Resultado Esperado
- Un Modelo Relacional bien estructurado basado en los DER de los ejercicios anteriores.
- Definición clara de las tablas, relaciones y restricciones.
- Código SQL que refleje el diseño de la base de datos, listo para su implementación.