Está en la página 1de 8

DISEÑO DE BASE DE DATOS (SI400)

EXAMEN FINAL
2023-2

Sección: CC41 / CC42 / CC43 / CC44 / CC46 / CC47 / CC48 / CC49 / SI35 / SV42 / SV43 / SV44
WS41 / WS42 / WS43 / WS44 / WS46 / WX41 / WX42 / WX43 / WX44 / WX45

Profesores: Benavides Hidalgo, Carlos Alberto


Felix Corrales, Rosa Andrea
García Rojas, Fidel Eugenio
Huillca Ayza, Vicky
Mayta Guillermo, Jorge Luis
Morales Arévalo, Juan Carlos
Ocampo Tello, Ernesto
Sáenz Egusquiza, Felicita Delia

Duración: 175 minutos

Indicaciones:

1. El examen consta de diez (10) preguntas, y tendrá 175 minutos para resolverlas.
2. El enunciado de la pregunta se encuentra en el archivo
upc-pre-202302-si400-examen-final.pdf
3. La solución deberá adjuntarse en un documento Word con la siguiente nomenclatura:
upc-pre-202302-si400-examen-final-codigoalumno.docx
4. Cada examen cuenta con un equipo académico, el cual estará conectado durante los primeros 15
minutos del examen.
5. El alumno debe dedicar los primeros 15 minutos a revisar las preguntas del examen y de presentarse
alguna duda enviar un correo al(los) profesor(es)

Todas las secciones:


Mayta Guillermo, Jorge Luis | pcsijmay@upc.edu.pe

6. El asunto del correo debe incluir el código de la sección a la cual pertenece el alumno.
7. Los profesores en mención solo recibirán correos provenientes de las cuentas UPC, de ninguna
manera se recibirán correos de cuentas públicas.
8. Tener en cuenta que, ya terminado el estado de emergencia, no hay la posibilidad de tomar
exámenes adicionales y, un alumno que pierde el examen por problemas técnicos deberá
realizar el proceso de recuperación formal.
Consideraciones:

1. Está permitido el uso o consulta de cuadernos, separatas, libros o cualquier material de la asignatura
durante el desarrollo de la evaluación.
2. La evaluación es personal, queda totalmente prohibido realizar consultas a compañeros.
3. Las sentencias SQL deben utilizar la sintaxis de SQL Server. El incumplimiento de este punto
anulará completamente la pregunta en la cual se haya detectado el uso de una sintaxis distinta
a la de SQL Server.
4. No está permitido el uso de herramientas de IA generativa como ChatGPT. El incumplimiento de este
punto anulará completamente la pregunta en la cual se haya detectado el uso.
5. No están permitidas las consultas que incluyan las siguientes sentencias:
• select top
• limit
• rollup, cube, grouping sets
• coalesce
• rank()
• over()
• row_number()
• partition by order by
6. Cualquier intento de plagio o incumplimiento de las normas, anulará completamente el examen.
Caso 1: Airbnb

Airbnb es una plataforma en línea que permite a las personas alquilar alojamientos a corto plazo. El sistema
mantiene información sobre usuarios, alojamientos, reservas, comentarios y más, como se muestra en la
Figura 1.

La plataforma permite que los usuarios puedan realizar reservas de alojamiento. Cada reserva incluye el
alojamiento, la fecha de inicio, la fecha de fin y la fecha de la reserva.

Un alojamiento le pertenece solo a un usuario que es considerado como anfitrión. Los datos que se deben
registrar por cada alojamiento son el precio por día, la lista de servicios, la ciudad y el país.

Una vez concluida la reserva, los usuarios puede dejar una reseña al alojamiento y una reseña al anfitrión.

Figura 1: Plataforma Airbnb

(6 p.) Sobre el caso expuesto se pide realizar lo siguiente:

Pregunta 1 (6 p.)
Diseña el modelo físico de datos para la plataforma de Airbnb, identificando las principales tablas y sus
respectivas columnas, las relaciones entre las tablas, las llaves primarias y llaves secundarias.

Nota:
• El modelo físico de base de datos puede ser realizado mediante la herramienta de su preferencia.
Caso 2: Carreras universitarias

Considera una base de datos con las siguientes tablas:

estudiantes
codigo apellido_paterno apellido_materno codigo_carrera
202307401 Pacheco Juan ca001
202307402 Pacheco Martín ca002
202307403 Paredes Carla ca001
202307404 Paredes Marcos ca001
202307405 Paredes Ricardo ca002
202307406 Paredes Sara ca002
202307407 Ramos Carlos ca001

carreras
codigo nombre
ca001 Ciencias de la Computación
ca002 Ingeniería de Software

(2 p.) Sobre el caso expuesto se pide realizar lo siguiente:

Pregunta 2 (1 p.)
Escriba la sentencia SQL que retorne el siguiente resultado:

nombre carrera
Paredes, Carla Ciencias de la Computación
Paredes, Marcos Ciencias de la Computación

Pregunta 3 (1 p.)
Escriba la sentencia SQL que retorne el siguiente resultado:

carrera cantidad
Ciencias de la Computación 4
Ingeniería de Software 3
Caso 3: Adopción de mascotas

Considera una base de datos con las siguientes tablas:

(6 p.) Sobre el caso expuesto se pide realizar lo siguiente:

Pregunta 4 (2 p.)
Escriba la sentencia SQL para mostrar los tipos de animales que fueron más adoptados durante un
determinado año (ingresado como parámetro). Debe mostrar el nombre del tipo de animal y la cantidad de
adopciones.

Pregunta 5 (2 p.)
Escriba la sentencia SQL para mostrar el nombre de la persona que ha adoptado a todos los tipos de
animales.

Pregunta 6 (2 p.)
Escriba la sentencia SQL para mostrar los tipos de animales que fueron más adoptados por cada año. Debe
mostrar el nombre del tipo de animal, la cantidad de adoptaciones y el año.
Caso 4: Parkeasy

Se desea crear una base de datos para un sistema de estacionamientos llamado ParkEasy. El sistema permite
a los usuarios buscar estacionamientos disponibles, reservas espacios y mantener un registro de sus
actividades.

Para el registro de las reservas se cuenta con la siguiente información:


• El sistema permite el registro de usuarios. El registro de un usuario incluye el nombre, el apellido paterno,
el apellido materno y el correo electrónico.
• Los usuarios reservan un espacio en el estacionamiento de su preferencia. El registro de cada
estacionamiento incluye el nombre, la dirección, el distrito y la capacidad total de vehículos.
• Los estacionamientos pueden ser de distintos tipos como estacionamiento al aire libre, estacionamiento
cubierto, etc.
• Los estacionamientos tienen diferentes características como seguridad las 24 horas, cámaras de vigilancia,
etc.
• Cada espacio de estacionamiento tiene un identificador único, adicionalmente tiene un número de espacio
asignado internamente por el estacionamiento al cual pertenece.
• El espacio de estacionamiento puede tener distintos estados (disponible, ocupado, reservado, etc.), por lo
cual se desea tener un seguimiento de los estados de reserva, incluyendo la fecha de cambio de estado.
• Las reservas son por solo un espacio de estacionamiento y son realizadas por un usuario. El registro de la
reserva incluye la fecha y la hora de la reserva, la fecha y la hora de inicio, la fecha y la hora de fin. El
usuario debe indicar los datos del vehículo como el tipo de vehículo, la placa, la marca y el modelo.

(4 p.) Sobre el caso expuesto se pide realizar lo siguiente:

Pregunta 7 (2 p.).
Establecer una regla de validación utilizando JSON Schema para la colección de documento que represente
una reserva de espacio de estacionamiento.

Pregunta 8 (2 p.).
Indicar los patrones de modelado de datos utilizados para el documento que representa una reserva de
espacio de estacionamiento.
Caso 5: Restaurantes

Considere una colección que contiene documentos que representa un restaurante.

A continuación, un ejemplo de documento de dicha colección:

Pregunta 9 (1 p.)
Escribir una consulta que permita mostrar la cantidad de restaurantes por cada ciudad.

Pregunta 10 (1 p.)
Escribir una consulta que permita mostrar la cantidad de restaurantes por cada ciudad que sirvan el tipo de
comida Bakery.
Rúbrica de calificación

Criterio de calificación Excelente Promedio Deficiente


Pregunta 1 Diseña el modelo físico de Diseña el modelo físico de No diseña el modelo físico de
datos, identifica las principales datos, identifica las principales datos.
tablas y sus columnas, tablas y sus columnas, sin
identifica las principales embargo, identifica
relaciones entre las tablas, las parcialmente las principales
llaves primarias y las llaves relaciones entre las tablas, las
secundarias. llaves primarias y las llaves
secundarias.
6.0 puntos 3.0 puntos 0 puntos
Pregunta 2 Realiza la consulta de acuerdo Realiza parcialmente la No realiza la sentencia.
con lo solicitado. La consulta consulta, sin embargo, no
debe incluir las siguientes incluye alguna de las siguientes
características: join de dos o características: join de dos o
más tablas, cálculo de más tablas, cálculo de
funciones de agregación y funciones de agregación y
anidación de consultas. anidación de consultas.
1.0 punto 0.5 punto 0 puntos
Pregunta 3 Realiza la consulta de acuerdo Realiza parcialmente la No realiza la sentencia.
con lo solicitado. La consulta consulta, sin embargo, no
debe incluir las siguientes incluye alguna de las siguientes
características: join de dos o características: join de dos o
más tablas, cálculo de más tablas, cálculo de
funciones de agregación y funciones de agregación y
anidación de consultas. anidación de consultas.
1.0 punto 0.5 punto 0 puntos
Pregunta 4 Realiza la consulta de acuerdo Realiza parcialmente la No realiza la sentencia.
con lo solicitado. La consulta consulta, sin embargo, no
debe incluir las siguientes incluye alguna de las siguientes
características: join de dos o características: join de dos o
más tablas, cálculo de más tablas, cálculo de
funciones de agregación y funciones de agregación y
anidación de consultas. anidación de consultas.
2.0 puntos 1.0 punto 0 puntos
Pregunta 5 Realiza la consulta de acuerdo Realiza parcialmente la No realiza la sentencia.
con lo solicitado. La consulta consulta, sin embargo, no
debe incluir las siguientes incluye alguna de las siguientes
características: join de dos o características: join de dos o
más tablas, cálculo de más tablas, cálculo de
funciones de agregación y funciones de agregación y
anidación de consultas. anidación de consultas.
2.0 puntos 1.0 punto 0 puntos
Pregunta 6 Realiza la consulta de acuerdo Realiza parcialmente la No realiza la sentencia.
con lo solicitado. La consulta consulta, sin embargo, no
debe incluir las siguientes incluye alguna de las siguientes
características: join de dos o características: join de dos o
más tablas, cálculo de más tablas, cálculo de
funciones de agregación y funciones de agregación y
anidación de consultas. anidación de consultas.
2.0 puntos 1.0 punto 0 puntos
Pregunta 7 Establece una regla de Establece parcialmente una No establece la regla de
validación utilizando JSON regla de validación utilizando validación.
Schema para la colección JSON Schema para la
indicada. colección indicada.
2.0 puntos 1.0 punto 0 puntos
Pregunta 8 Indica los patrones de Indica los patrones de No indica los patrones de
modelado de datos utilizados modelado de datos utilizados modelado de datos utilizados.
(embedded document pattern, (embedded document pattern,
subset pattern). Menciona las subset Pattern). Menciona
razones por las cuales utiliza parcialmente las razones por
dichos patrones. las cuales utiliza dichos
patrones.
2.0 puntos 1.0 punto 0 puntos
Pregunta 9 Realiza la consulta de acuerdo Realiza parcialmente la No realiza la sentencia.
con lo solicitado. consulta.
1.0 punto 0.5 puntos 0 puntos
Pregunta 10 Realiza la consulta de acuerdo Realiza parcialmente la No realiza la sentencia.
con lo solicitado. consulta.
1.0 punto 0.5 punto 0 puntos
Total 20.0 puntos 10.0 puntos 0 puntos

También podría gustarte