Diseño en el modelo relacional
Para cada uno de los siguientes ejercicios:
- Manejo de proyectos
- Préstamos de libros
- Empresa de remises
- Taller mecánico
- Restaurant
- Empresa constructora
Se pide:
- Defina el DER Físico para el modelo relacional.
- Identifique las entidades, sus atributos y definir dominio/tipo de dato para cada atributo.
- Las relaciones entre las entidades, incluyendo cardinalidad (1 a 1, 1 a muchos, muchos a 1, muchos a muchos).
- Defina claves primarias, alternativas y foráneas de cada entidad.
- Implemente el DER en una base de datos Open Source.
- Construya el script de creación de entidades (DDL).
- Genere el script de inserción de datos de prueba (DML, en algunos ejercicios se proveen ejemplos concretos, en otros debe definirlo ud.).
- En el caso de que el ejercicio plantee reglas de negocio.
- Defina los componentes de la base de datos que resolverán cada requerimiento.
- Implemente ese componente.
Material teórico relacionado: Diseño lógico de datos, Introducción al modelo relacional, Diseño de componentes en la base de datos
Mapeo relacional/objetos y objetos/relacional
- Para cada uno de los ejercicios anteriores, se pide que defina el modelo de objetos correspondiente. ¿Qué elementos propios del modelo relacional son necesarios llevar al modelo de objetos? Justifique su respuesta.
- Para cada uno de los siguientes ejercicios:
- Partidos de fútbol
- Profesores y materias
-
Telefonía Se pide que plantee una estrategia para mapear el modelo de objetos a un modelo relacional equivalente, analizando cómo resolver cada uno de los siguientes puntos:
- Identidad.
- Mapeo de los tipos de dato.
- Tipos de colección a utilizar (ordenada o no, con/sin duplicados, etc.) y relaciones entre entidades (1 a 1, 1 a muchos, muchos a 1, muchos a muchos).
- Mapeo de la herencia.
Implemente dicha estrategia a partir de utilizar:
- Una API (como JDBC) y resolviendo manualmente los mapeos
- Un framework de OR/M como Hibernate.
¡Tenés más ejercicios en los enunciados de segundo parcial!
Material teórico relacionado: Mapeo Objetos/Relacional
Normalización en modelo relacional
Nota para todos los ejercicios: Para aplicar el proceso de normalización no es necesario resolver en orden 1FN, luego 2FN, etc. sino que aplique la técnica como ud. crea más conveniente.
¡Tenés más ejercicios en los enunciados de segundo parcial!
Material teórico relacionado: Normalización en el modelo relacional
Integración
- Canchas de Paddle Extendido (Todo menos ORM)
Bonus
Normalización en el modelo de objetos
Para el ejercicio de los partidos de fútbol
Si la entidad Partido conoce muchas incidencias, donde una de ellas puede ser un Gol y así se puede determinar el resultado del partido explique qué ventaja podría representar si almacenamos la cantidad de goles convertidos por cada equipo (dos enteros).
Para el ejercicio de telefonía
- Nos consultan si no sería conveniente tener la deuda de un cliente almacenada de un BigDecimal, para evitar calcularla cada vez que sea necesario. ¿Qué opinión daría ud. como diseñador?
- Además para emitir estadísticas semestrales necesitamos determinar el domicilio/barrio a la que llamó el abonado en una llamada determinada, sabemos que cada abonado puede eventualmente mudarse y llevarse la línea. ¿Qué modificaciones haría ud. al modelo de objetos?
Material teórico relacionado: Normalización en OODBMS
Diseño en el modelo no-relacional
Para cada uno de los siguientes ejercicios:
Se pide que:
- Plantee una solución en un modelo NoSQL, desde la perspectiva de una base:
- Clave-valor.
- Orientadas a documentos.
- De grafos.
- Implemente la solución en una tecnología de base de datos.
Material teórico relacionado: NoSQL