Está en la página 1de 8

UNIDAD 2: MODELAMIENTO ACTIVIDAD 4

SEMANA 8: TRANSFORMAR UN MODELO ENTIDAD RELACIÓN (MER) A MODELO


RELACIONAL (MR) - SOLUCIÓN EJERCICIO 1 a) y 1 b)
LA NOTACIÓN DE LAS CARDINALIDADES CONSIDERADAS EN ESTA ASIGNATURA ES LA SIGUIENTE Y
ES LA QUE USTED DEBE UTILIZAR:

1) Para los siguientes esquemas MER transfórmelos a los respectivos esquemas lógicos MR,
transformando las distintas estructuras TR y TE del esquema MER junto con sus restricciones
asociadas.
a) Esquema MER para una BD de una institución de educación superior:

PRIMERO ANALICEMOS EL ESQUEMA CONCEPTUAL MER DE ESTA BASE DE DATOS Y


DETERMINEMOS CUÁLES FUERON SUS REQUERIMIENTOS DE ALMACENAMIENTO:

¿CUÁLES SON LAS ESTRUCTURAS de este esquema?:


ALUMNO (TE), CARRERA(TE) y ESTUDIA (TR)

¿QUÉ DATOS SE NECESITAN ALMACENAR DE ALUMNO?


código, correo, nombre completo (nombre, apellido paterno y materno) y la carrera que estudia el
alumno.

¿QUÉ DATOS SE NECESITAN ALMACENAR DE CARRERA?


código de la carrera, nombre de la carrera, el nombre de la facultad de la carrera y los alumnos que
estudian en cada carrera.

¿QUÉ DATOS SE ALMACENAN en ESTUDIA?


alumno (código del alumno), la carrera del alumno (código de la carrera) y la fecha que ingresó el
alumno a la carrera.
SUPUESTOS DEFINIDOS PARA ESTE ESQUEMA
 De los datos del alumno que son únicos (código del alumno y correo), se definió como clave
principal el código del alumno.
 Las carreras que se asignan al estudiante están vigentes. Esta base de datos no contempla
carreras almacenadas que se cierren posteriormente.
 La fecha de ingreso corresponde a la fecha cuando el estudiante se matricula a la carrera.
 En el momento que se ingresan los datos personales del alumno, es obligación ingresar la
carrera del alumno en ese momento, es decir, no es posible (en otro momento) asignarle su
carrera.
 Cuando se ingresa una carrera, en ese mismo momento se debe ingresar al menos un alumno.
Esto quiere decir, que no es posible registrar varias o una carrera primero y después (en otro
momento) asignar los alumnos de dicha carrera. Esto significa también que, si se crea una
nueva carrera en esta universidad, hay que esperar insertarla a la base de datos hasta que se
matricule al menos un alumno.
ALGUNAS RESTRICCIONES REPRESENTADAS EN EL ESQUEMA:
 Un alumno no puede estar en varias carreras y es obligación que ingrese a una carrera
 El código del alumno es único, no puede otro alumno tener el mismo código.
 El correo del alumno es único, no puede otro alumno tener el mismo correo.
 Todos los datos del alumno son obligatorios.
 Una carrera debe ser tomada por varios alumnos.
 Cada carrera tiene al menos 1 alumno.
 El código de la carrera es único, no puede otra carrera tener el mismo código.
 Todos los datos de la carrera son obligatorios.
ALGUNAS RESTRICCIONES NO REPRESENTADAS EN EL ESQUEMA (EJEMPLOS):
 fechaIngreso>01-01-2000 (si consideramos que en el 2000 empezó a funcionar esta universidad)
 código del alumno > 0
 código de la carrera > 0

****AHORA PARTIMOS CON EL DISEÑO LÓGICO DE ESTA BASE DE DATOS****

TRANSFORMAR PRIMERO LOS TE (ALUMNO y CARRERA) Y DESPUÉS LOS TR (ESTUDIA). SE


ADJUNTAN LAS REGLAS QUE DEBE APLICAR.

I. REGLAS DE TRANSFORMACIÓN de Tipos de Entidad (TE):


1) Un TE se transforma en TABLA (en la literatura, tabla es una relación) y sus atributos se
transforman en columnas. Las columnas se agregan a continuación del nombre de la tabla
entre paréntesis y separadas por “,”. Si un atributo es compuesto, cada composición se
transforma en columnas distintas.
2) Si el atributo de un TE es una relación y tiene cardinalidad (0,1) o (1,1), se transforma en
columna(s). Esta(s) columna(s) nueva(s) es la clave primaria del TE con el que se
relaciona y se denomina FK. Para este caso, analice también el TE de donde proviene esta
FK y considere lo siguiente:
a) SI la FK proviene del TE donde el atributo relación equivalente también tiene
cardinalidad (0,1) o (1,1), entonces este TE, también recibirá la FK correspondiente. En
este caso, dejar SOLO UNA de las dos privilegiando la FK cuyo dato es obligatorio
(cardinalidad mínima 1). Si ambas cardinalidades mínimas son obligatorias, puede
usted escoger una de los dos FK (cualquiera de ellas).
b) SI la FK proviene del mismo TE (relación recursiva), se comporta exactamente
igual agregando a esta misma tabla su PK que también se comporta como FK.
3) Si el atributo de un TE es multivaluado, se transforma en una tabla nueva, cuyas
columnas son la clave primaria del TE (que también se comporta como FK) y el atributo
multivaluado. La PK para esta nueva tabla muchas veces se compone por ambas columnas.
Elegir una PK conveniente (según el tipo de dato del multivaluado).
4) Las restricciones representadas y no representadas en el esquema MER se transforman en:
 PK (PRIMARY KEY): columna(s) que es la IP del TE (incluye restricción de NOT NULL)
 UK (UNIQUE KEY): columna(s) que es la(s) clave(s) secundaria(s) del TE
 FK (FOREING KEY): columna(s) que es la restricción de relación entre entidades.
 NOT NULL: columna(s) cuyo dato es obligatorio.
 CHECK CONSTRAINTS: son restricciones no representadas en el esquema MER que se
expresan en esta etapa de diseño lógico como checks.
 TRIGGERS: son restricciones no representadas en el esquema MER que se expresan en esta
etapa de diseño lógico usando pseudocódigo o descripción narrativa, haciendo énfasis del
evento (insert, update o delete) que debe suceder sobre esta tabla para gatillar esta
restricción. Por lo general, los triggers cubren restricciones dinámicas de la base de datos
(Ejemplo: cuando se inserta una venta se debe actualizar automáticamente el stock de los
productos disminuyéndolo según la cantidad vendida). Estos triggers son implementados a
través de programación de Base de Datos.
5) El TE Débil, se transforma en tabla, aplicando las mismas reglas de transformación de un TE,
pero la PK se compone de la clave primaria interna del TE débil más la clave primaria externa
(del TE desde donde proviene la debilidad), donde esta última también se comporta como FK.

II. REGLAS DE TRANSFORMACIÓN de Tipos de Relaciones (TR):


6) Los TR se transforman en TABLAS sólo si todas sus cardinalidades máximas son n o mayor
que 1. Dependiendo si el TR se transforma o no en tabla, considere lo siguiente:
a) Si un TR NO se transforma en tabla y posee atributos que no forman parte del
identificador del TR, agregarlos como columnas nuevas a la tabla donde se encuentra la FK
correspondiente. Estas columnas son obligatorias u opcionales dependiendo de la
obligatoriedad de la FK asociada.
b) Si un TR SI se transforma en tabla, siga las reglas 1, 3 y 4 de transformación de un TE
considerando que la PK está compuesta por los atributos identificadores de los TE con los
que se relaciona y donde cada una de estas relaciones posee distintas FK.
ALUMNOS(codAlumo, correo, nomAlumno, apellidoPat, ApellidoMat, codCarrera, fechaIngreso)
PK: codAlumo
UK1: correo
FK1: codCarrera referencia a CARRERAS
NOT NULL: correo, nomAlumno, apellidoPat, ApellidoMat, codCarrera, fechaIngreso
CHECK1: codAlumo > 0
CHECK2: fechaIngreso > 01-01-2000

CARRERAS(codCarrera, nomCarrera, nomFacultad)


PK: codCarrera
UK1: nomCarrera
FK: -
NOT NULL: nomCarrera, nomFacultad
CHECK1: codCarrera > 0
b) Ocupe la misma transformación del esquema anterior y transforme el atributo
multivaluado FonoContacto y los TE y TR nuevos del esquema siguiente:

ALUMNOS(codAlumo, correo, nomAlumno, apellidoPat, ApellidoMat, codCarrera, fechaIngreso)


PK: codAlumo
UK1: correo
FK1: codCarrera referencia a CARRERAS
NOT NULL: correo, nomAlumno, apellidoPat, ApellidoMat, codCarrera, fechaIngreso
CHECK1: codAlumo > 0
CHECK2: fechaIngreso > 01-01-2000

CARRERAS(codCarrera, nomCarrera, nomFacultad)


PK: codCarrera
UK1: nomCarrera
FK: -
NOT NULL: nomCarrera, nomFacultad
CHECK1: codCarrera > 0

TELÉFONOS_ALUMNO(codAlumo, fonoContacto)
PK: codAlumo, fonoContacto
UK1: -
FK1: codAlumo referencia a ALUMNOS
NOT NULL: --
CHECK1: fonoContacto > 9999999
FALTA COMPLETAR LO SIGUIENTE (TAREA)

DIRECTORES_CARRERA(......)
PK:
UK1:
FK: _________ referencia a ______________
NOT NULL:
CHECK1:

COORDINADORES(......)
PK:
UK1:
FK: _________ referencia a ______________
NOT NULL:
CHECK1:

ASIGNATURAS(......)
PK:
UK1:
FK: _________ referencia a ______________
NOT NULL:
CHECK1:

ASIGNATURAS_ALUMNO(......)
PK:
UK1:
FK: _________ referencia a ______________
NOT NULL:
CHECK1:

c) Este es un esquema MER para una empresa que vende maquinaria pesada. Para cada
maquinaria distinta se genera una venta nueva y es imposible que se venda la misma
maquinaria para el mismo cliente en un mismo día:
d) El siguiente esquema es para la BD de un gimnasio donde no se planifica previamente los
horarios en que se ejecutan las clases. Se lleva un registro diario de las clases dirigidas por los
preparadores físicos:

2) Obtener el esquema MER para los siguientes casos:

a) Primer Caso:

ALUMNO (Núm_Matrícula, NombreCompleto, FechaNacimiento, Teléfono)


CURSA (Núm_Matrícula , Código_asignatura, semestreAño)
ASIGNATURA (Código_asignatura, Nombre, Codigo_Profesor )
PROFESOR (Codigo_Profesor, Nombre, Especialidad, Teléfono)
Teniendo en cuenta:
 Un alumno puede estar matriculado en una o varias asignaturas.
 Además, puede estar matriculado en la misma asignatura en otro semestre (si repite la
asignatura).
 En una asignatura hay como mínimo 10 y como máximo 35 alumnos.
 Una asignatura es impartida por un único profesor.
 Un profesor podrá impartir varias asignaturas.

b) Segundo caso:

REGIÓN ( codigoRegión, Nombre_Región)


PROVINCIA (CódigoProvincia, Nombre_provincia, codigoRegión )
LOCALIDAD (Código_localidad, Nombre, CódigoProvincia )
EMPLEADO (CódigoEmpleado, Nombre, Teléfono, Sueldo, Código_localidad )
Se quiere guardar información de la localidad donde ha nacido cada uno de los empleados
teniendo en cuenta que:
 Un empleado ha nacido en una sola localidad.
 Cada localidad pertenece a una única provincia.
 Cada provincia pertenece a una única región del país.

c) Tercer caso:

EMPLEADO (ICódigoEMpleado, Nombre, Teléfono, sueldo, Código_Depto)


DEPARTAMENTO (Código_Depto, Nombre, Localización)
Teniendo en cuenta:
 Un empleado pertenece a un único departamento y en un departamento puede haber
varios empleados.

También podría gustarte