Conversión del modelo

conceptual al modelo
relacional
ST
MPVG
Pasos de la metodología
 Fase de análisis y especificación de requerimientos
 Identificación de los requerimientos funcionales
 Identificación de las restricciones o condiciones que se imponen
al sistema (requerimientos no funcionales)
 Modelo del mundo – modelo conceptual

 Fase de diseño
 Modelo de las clases persistentes
Conversión del modelo conceptual al
modelo relacional (tablas)
 Modelo físico
MPVG -- ST
MPVG -- ST
Modelo de clases
MPVG -- ST
Modelo Entidad/ Relación
¿Y el anterior modelo de clases cómo se
representa en modelo entidad relación?
Reserva de cine por Internet. Nicolás López y
Alejandro Metke.
Elaborar:
Modelo conceptual del dominio, expresado en un
diagrama de clases.
Requerimientos funcionales (Casos de uso).

El sistema, para los usuarios de Internet, debe:
 Dar información acerca de las películas que se están
presentando: en la ciudad, ó en un determinado cinema
(hay que tener en cuenta que hoy en día por lo general se
estaría hablando de un multiplex).
 Dar información acerca de los horarios programados para
las diferentes películas y salas.
 Dar información acerca de las sillas disponibles tanto en la
sección general como en la sección preferencial de las
salas.
 Ingresar la información básica de un cliente: nombres y
apellidos, teléfono, documento de identidad, password.
 Hacer una reserva de una o más sillas para una función
específica. Para hacer una reserva se debe haber
ingresado previamente la información básica del
solicitante. Esta información permanece en el sistema, y
debe poder ser actualizada (número telefónico y/o
password) por el cliente. Inicialmente, los pagos se harán
en el momento de retirar las boletas en el teatro.
Para los cajeros del cinema, debe:
 Prestar las mismas funciones que a los usuarios de
Internet.
 Permitir cancelar las reservas para una función a una
hora determinada (por lo general, media hora antes de la
función).
 Expedir las boletas.
Para el administrador del sistema, debe:
 Prestar las mismas funciones que a los usuarios de
Internet.
 Permitir agregar, quitar y modificar toda la información
disponible: horarios, películas programadas, valor de las
boletas según el día y hora de la función, etc.

MPVG -- ST
Reglas de conversión del modelo
conceptual al modelo relacional
 Identificar una relación (tabla)
 Elegir relación: Toda clase es candidata a ser una relación.
 Elegir su PK
 Determinar si es una clase dependiente o independiente
 Existencia: SA. P.e. Colores - ¿Qué sucede cuando llega un nuevo valor de color?
(secuencia)
 Valor: UA, Combinación de atributos p.e. Estudiante

 Elegir sus atributos propios
 Análisis especial para los tipos de clases
 Contenedora
 Abstracta

 Identificar relaciones (asociación, composición, agregación,
generalización)
 Analizar la obligatoriedad
 Analizar la cardinalidad

MPVG -- ST
Ejercicios
Empleado
Codigo
Nombre
Departamento
Numero
Nombre
Tener Jefe
0..1 0..1
Compuesto de
0..*
Empleados
Codigo Nombre
PK,UA NN
1 Juan
2 Maria
Departamentos
Numero Nombre CodJefe
PK,UA NN ND,FK
1 RHum 2
2 Contabil 1
MPVG -- ST
Relación de M-N
Materias
Codigo Nombre
PK,UA NN
1 ST
2 ISW
Inscrito_en
Cod_Est Cod_Mat
PK, FK PK,FK
1 1
2 1
Estudiantes
Codigo Nombre
PK,UA NN
1 Juan
2 Maria
MPVG -- ST
Estudiante
Codigo
Nombre
Materia
Codigo
Nombre
Esta inscrito
0..*
Tiene
0..*
Relación de M-N
Materias
Codigo Nombre Cod_Monitor
PK,UA NN FK
1 ST 1

2 ISW
Inscrito_en
Cod_Est Cod_Mat
PK, FK PK,FK
1 1

2 1
Estudiantes
Codigo Nombre
PK,UA NN
1 José
2 Maria
MPVG -- ST
Estudiante
Codigo
Nombre
Materia
Codigo
Nombre
Esta inscrito
0..*
Tiene monitor
0..1
Tiene
0..*
Relaciones de Composición y
Asociación (1)
MPVG -- ST
Factura

Numero
Fecha
Item

Cantidad
Precio
Compuesto de
1..*
Producto

Codigo
Nombre
Precio
Corresponde a
1 0..*
Relaciones de Composición y
Asociación (2)
Facturas
Numero Fecha
PK NN
1 20000101
2 20000102
Si se tiene el total
de la factura? DD
MPVG -- ST
Items
Cod_Fact Cod_Item Pto. Cantidad Precio
PK,FK PK FK NN NN
1 1 1 10 500000
1 2 2 5 100000
Relaciones de Asociación
Productos
Codigo Nombre Precio
PK NN
1 Vino 50000
2 Jabón 20000
Items
Cod_Fact Cod_Item Pto. Cantidad Precio
PK,FK PK FK NN NN
1 1 1 10 500000
1 2 2 5 100000
MPVG -- ST
Manejo de la Herencia (1)
MPVG -- ST
Persona
Nombre
Empleado
Num_Empleado
Cliente
TipoCredito
TiempoCompleto
Sal_Mensual
Temporal
Sal_Hora
{complete, disjoint}
Manejo de la Herencia (2)
MPVG -- ST
Persona
Nombre
Empleado
Num_Empleado
Cliente
TipoCredito
Personas
Codigo Nombre NumEmpleado TipoCredito TipoPersona?

PK,SA NN
1 Juan 123 Vivienda
2 Maria Carro
3 Alejo 256
Manejo de la Herencia (2)
MPVG -- ST
Persona
Nombre
Empleado
Num_Empleado
Cliente
TipoCredito
Personas
Codigo Nombre NumEmpleado TipoCredito TipoPersona?

PK,SA NN
1 Juan 123 Vivienda
2 Maria Carro
3 Alejo 256
Manejo de la Herencia (3)
Clientes
Codigo TipoCredito
PK,FK NN
1 Vivienda
2 Carro
Empleados
Codigo Num_Emp
PK,FK NN
1 123
3 256
Personas
Codigo Nombre
PK,SA NN
1 Juan
2 Maria
3 Alejo
MPVG -- ST
Manejo de la Herencia (4)
Clientes
Codigo Nombre TipoCredito
PK,FK NN NN
1 Juan Vivienda
2 Maria Carro
Empleados
Codigo Nombre Num_Emp
PK,FK NN NN
1 Juan 123
3 Alejo 256
¿Cómo queda la segunda relación de
herencia?
Replicación de los datos comunes!
MPVG -- ST
Empleado1.nombre=<Tipo del Segundo empleado>
Relaciones recursivas
MPVG -- ST
Empleado
Codigo
Nombre
Salario
Es
Supervisor
0..*
Es dirigido
0..1
Codigo Nombre Cod_Supervisor Salario

Empleados
PK NN FK NN
1 Juan 3000000
2 Maria 1 2000000
Ejercicio - relación terciaria
Cliente
Nombre
Empleado
Codigo
Nombre
Producto
Referencia
Nombre
MPVG -- ST
Ejercicio - relación terciaria (2)
Cliente
Nombre
Empleado
Codigo
Nombre
Producto
Referencia
Nombre
Vende
Vende
Fecha
Precio
MPVG -- ST
Ejercicio composición - asociación
Continente
Codigo
Nombre
País
Codigo
Nombre
Lugar
Nombre
UbicacionGeo
MPVG -- ST
0..*
1
Caso Cinema
MPVG -- ST
Tablas
 Clientes
(docId (PK), nombre, apellido, telefono (NN), password (NN))
 Ciudades
(idCiudad (PK), nombre (NN))
 Teatros
(idTeatro (PK), idCiudad (NN, FK), nombre, (NN))
 Salas
(idTeatro (PK,FK), idSala (PK), nombre (NN))
 Sillas
(idTeatro (PK,FK), idSala (PK), idSilla(PK))
 Peliculas
(idPelicula (PK), idCiudad(NN,FK), nombre, clasificacíon)
 Funciones
(idPelicula(PK, FK), idSala (PK, FK), fecha (PK))
 Reservas
(idReserva (PK), idPelicula(FK), idSala (FK), fecha (FK,NN), estado)

Ejercicio 2
Realice el modelo conceptual y el modelo relacional, teniendo en cuenta
lo siguiente:
Ejercicios Examen
MPVG -- ST
Considere el modelo conceptual del caso Estudiantes, mostrado a
continuación
a. Se crea, entre otras, una tabla Departamento (
nombreDpto) y una tabla Programa ( sigla,
nombrePrograma, nivelEstudios, nombreDpto), donde
las restricciones correspondientes son ( PK ) y ( PK,
(NN, ND), NN, (NN,FK) ).
b. Se crea, entre otras, una tabla Departamento (
nombreDpto, sigla ) y una tabla Programa ( sigla,
nombrePrograma, nivelEstudios, nombreDpto), donde
las restricciones correspondientes son (PK, FK) y ( PK,
(NN, ND), NN, (NN,FK) ).
c. Se crea, entre otras, una tabla Director
(nombreDpto, email) donde las restricciones son ( (PK,
FK) ,( PK, FK) ).
d. Se crea, entre otras, una tabla Departamento
(nombreDpto, tipoId, numDocId) con restricciones ( PK,
(PK, FK), (PK, FK) ), donde las FK van sobre la tabla
Persona.
e. Se crea, entre otras, una tabla Departamento
(nombreDpto, tipoId, numDocId) con restricciones ( PK,
FK, FK ), donde las FK van sobre la tabla Profesor.
MPVG -- ST
Se tiene el siguiente modelo entidad-relación, donde # indica la llave de la
entidad.
El equivalente relacional de este modelo consta de:
a. 6 tablas: Bebedor (3 atributos), Bebida (3 atributos), Bar (3 atributos),
Sirve (2 atributos), gusta (2 atributos), Frecuenta (2 atributos)
b. No es posible representar el modelo propuesto en tablas relacionales
porque existen asociaciones multivalor.
c. 3 tablas: Bebedor (4 atributos), Bebida (4 atributos) y Bar (4 atributos).
d. 3 tablas: Bebedor (3 atributos), Bebida (3 atributos) y Bar (3 atributos).
e. 3 tablas: Bebedor (5 atributos), Bebida (5 atributos) y Bar (5 atributos).
MPVG -- ST
Se tiene el siguiente modelo entidad-relación, donde la notación # indica
la llave de la entidad:
Examine las siguientes afirmaciones con respecto al modelo, para un caso
general y determine cuál(es) es(son) siempre cierta(s):
a. Puede haber dos o más bebedores que tengan el mismo nombre.
b. La cantidad de bebidas y de bares es la misma.
c. Es posible encontrar bebidas que ningún bar sirve.
d. Todos los bares son frecuentados por algún bebedor.