Parcial Base de Datos 2
Parcial Base de Datos 2
Parcial Base de Datos 2
Los usuarios fueron seleccionados al azar para su inclusión. Todos los usuarios seleccionados habían
calificado al menos 20 películas. No se incluye información demográfica. Cada usuario está
representado por una identificación y no se proporciona ninguna otra información.
Formato y codificación
Los archivos del conjunto de datos se escriben como archivos [valores separados por comas] con
una sola fila de encabezado. Las columnas que contienen comas (`,`) se escapan usando comillas
dobles (`"`). Estos archivos están codificados como UTF-8.
Identificadores de películas
Solo las películas con al menos una calificación o etiqueta se incluyen en el conjunto de datos. Los
identificadores de películas son consistentes entre `ratings.csv`, `tags.csv`, `movies.csv` y `links.csv`
(es decir, el mismo identificador se refiere a la misma película en estos cuatro archivos de datos).
Todas las calificaciones están contenidas en el archivo `ratings.csv`. Cada línea de este archivo
después de la fila del encabezado representa una calificación de una película por parte de un usuario
y tiene el siguiente formato:
Las líneas dentro de este archivo están ordenadas primero por ID de usuario, luego, dentro del
usuario, por ID de película.
Las calificaciones se realizan en una escala de 5 estrellas, con incrementos de media estrella (0,5
estrellas - 5,0 estrellas).
Las marcas de tiempo representan los segundos desde la medianoche del Tiempo Universal
Coordinado (UTC) del 1 de enero de 1970.
Todas las etiquetas están contenidas en el archivo `tags.csv`. Cada línea de este archivo después de
la fila del encabezado representa una etiqueta aplicada a una película por un usuario y tiene el
siguiente formato:
Las líneas dentro de este archivo están ordenadas primero por ID de usuario, luego, dentro del
usuario, por ID de película.
Las etiquetas son metadatos sobre películas generados por el usuario. Cada etiqueta suele ser una
sola palabra o frase corta. Cada usuario determina el significado, el valor y el propósito de una
etiqueta en particular.
Las marcas de tiempo representan los segundos desde la medianoche del Tiempo Universal
Coordinado (UTC) del 1 de enero de 1970.
La información de la película está contenida en el archivo `movies.csv`. Cada línea de este archivo
después de la fila del encabezado representa una película y tiene el siguiente formato:
movieId,título,géneros
Los géneros son una lista separada por barras verticales Pipe character (|) y se seleccionan entre
los siguientes valores:
* action
* adventure
* animation
* children's
* comedy
* crime
* documentary
* drama
* fantasy
* film-Noir
* horror
* musical
* mystery
* romance
* sci-Fi
* thriller
* war
* western
Los identificadores que se pueden usar para vincular a otras fuentes de datos de películas se
encuentran en el archivo `links.csv`. Cada línea de este archivo después de la fila del encabezado
representa una película y tiene el siguiente formato:
movieId,imdbId,tmdbId
El uso de los recursos enumerados anteriormente está sujeto a los términos de cada proveedor.
Este conjunto de datos incluye una copia actual del Tag Genome.
ID de etiqueta, etiqueta
Los valores de `tagId` se generan cuando se exporta el conjunto de datos, por lo que pueden variar
de una versión a otra de los conjuntos de datos de MovieLens.
PUNTO_1:
Nombre sugerido del script (las 4 iniciales de su apellido+_ PUNTO1):
Implementar un procedimiento donde se reciba una cadena de tags separados por (-) que cada vez
que se ejecute muestre una estadística en donde se evidencie el porcentaje de usuarios que votaron
por debajo de 3 y el porcentaje de usuarios que votaron por encima o igual a 3 para cada película
que ha sido marcada por algún tag referido en la entrada (1 o 2 o 3 tags), además de la cantidad de
géneros asociados que tiene dicha película de modo que se muestre un reporte ordenando
ascendentemente por el título de la película como se muestra a continuación.
EJEMPLO DE INVOCACION:
Vele_PUNTO1(‘alien-zombies’);
Vele_PUNTO1(‘music’);
Vele_PUNTO1(‘murder-war-alpacino’)
…..
…..
PUNTO_2:
Nombre sugerido del script (las 4 iniciales de su nombre+_ PUNTO2):
EJEMPLO :
Omar_Punto2(2018,2,20,23)
Ranking Pelicula Año Semestre Horas_Entre Promedio_Calificacion
1 …..
2 …..
3 …..
PUNTO_3:
Nombre sugerido del script (las 3 letras finales de su nombre+_ PUNTO3):
PUNTO3:
Se quieren establecer que películas podrían tener una secuela para el año 2023 y que sean de un
género en particular. Para ello requieren de un procedimiento almacenado que evalué entre dos
años (A1 y A2) las películas de mayor consolidado promedio de calificación y que esté por encima
de 4.0 en horario nocturno entre las 18 y 23 horas inclusive.
EJEMPLO:
Mar_Punto3(2018,2019,’Terror’);
Mar_Punto3(2019,2017,’War’);
ENTREGAR:
Un informe PDF ejecutivo con todo el proceso establecido en el parcial. Adjuntar los script (solo los
que funcionen) con líneas de comentarios de explicación del código.
Adjunte el modelo relacional ejecutando el DDL de las tablas en Oracle 11G. ∙ Cada código debe
tener líneas de explicación en los procesos de mayor importancia. ∙ Adjunte imágenes de salidas de
cada script.
Inserte el código de tiempo de ejecución para cada script (al final de documento se entregan las
líneas a adjuntar)
DECLARE
v_start_time NUMBER;
v_elapsed_time NUMBER;
BEGIN
v_start_time := DBMS_UTILITY.GET_TIME;
(… código a evaluar …)
v_elapsed_time := DBMS_UTILITY.GET_TIME – v_start_time;
DBMS_OUTPUT.PUT_LINE(‘Elapsed time: ‘ || v_elapsed_time);
END;