Parcial Base de Datos 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

UNIVERSIDAD DE CALDAS INGENIERIA EN SISTEMAS Y COMPUTACION

BASES DE DATOS 2 ABRIL 2-2022

Objeto del negocio

Este conjunto de datos (ml-25m) describe la calificación de 5 estrellas y la actividad de etiquetado


de texto libre de [MovieLens](http://movielens.org), un servicio de recomendación de películas.
Contiene 25000095 clasificaciones y 1093360 aplicaciones de etiquetas en 62423 películas. Estos
datos fueron creados por 162541 usuarios entre el 9 de enero de 1995 y el 21 de noviembre de
2019. Este conjunto de datos se generó el 21 de noviembre de 2019.

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.

Los datos están contenidos en los archivos `genome-scores.csv`, `genome-tags.csv`, `links.csv`,


`movies.csv`, `ratings.csv` y `tags.csv`. A continuación se ofrecen más detalles sobre el contenido y
el uso de todos estos archivos.

El conjuntos de datos de GroupLens están disponible públicamente para su descarga en:


https://files.grouplens.org/datasets/movielens/ml-25m.zip

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).

Estructura del archivo de datos de calificaciones (ratings.csv)

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:

ID de usuario, ID de película, calificación, marca de tiempo

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.

Estructura del archivo de datos de etiquetas (tags.csv)

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:

ID de usuario, ID de película, etiqueta, marca de tiempo

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.

Estructura del archivo de datos de películas (movies.csv)

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 títulos de las películas se ingresan manualmente o se importan desde


<https://www.themoviedb.org/> e incluyen el año de lanzamiento entre paréntesis. Pueden existir
errores e inconsistencias en estos títulos.

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

* (no genres listed)

Estructura del archivo de datos de enlaces (links.csv)

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

movieId es un identificador de películas utilizado por <https://movielens.org>. Por ejemplo, la


película Toy Story tiene el enlace <https://movielens.org/movies/1>.

imdbId es un identificador de películas utilizado por <http://www.imdb.com>. Por ejemplo, la


película Toy Story tiene el enlace <http://www.imdb.com/title/tt0114709/>.

tmdbId es un identificador de películas utilizado por <https://www.themoviedb.org>. Por ejemplo,


la película Toy Story tiene el enlace <https://www.themoviedb.org/movie/862>.

El uso de los recursos enumerados anteriormente está sujeto a los términos de cada proveedor.

Etiqueta Genoma (genome-scores.csv y genoma-tags.csv)

Este conjunto de datos incluye una copia actual del Tag Genome.

[papel del genoma]: http://files.grouplens.org/papers/tag_genome.pdf

El genoma de etiquetas es una estructura de datos que contiene puntuaciones de relevancia de


etiquetas para películas. La estructura es una matriz densa: cada película del genoma tiene un valor
para *cada* etiqueta del genoma.

Como se describe en [este artículo][genome-paper], el genoma de la etiqueta codifica la fuerza con


la que las películas exhiben propiedades particulares representadas por etiquetas (atmosféricas,
que invitan a la reflexión, realistas, etc.). El genoma de la etiqueta se calculó utilizando un algoritmo
de aprendizaje automático en el contenido aportado por el usuario, incluidas etiquetas,
calificaciones y reseñas textuales.
El genoma se divide en dos archivos. El archivo `genome-scores.csv` contiene datos de relevancia
de etiquetas de películas en el siguiente formato:

ID de película, ID de etiqueta, relevancia

El segundo archivo, `genome-tags.csv`, proporciona las descripciones de etiquetas para los


identificadores de etiquetas en el archivo de genoma, en el siguiente formato:

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.

Usted y/o su grupo deben:


1. Crear un tablespace identificado por la unión de las dos primeras letras de los integrantes
del grupo además debe crear un usuario con identificación libre para que gestione le
modelo relacional ∙ Utilizar la utilidad sqlloader de Oracle para migración de archivos
planos.
2. El grupo replicará dicho modelo relacional en Oracle 11g o 12c o 18/19 según la
estructura referida al inicio del documento. (No Apex)
3. Debe general el modelo lógico según el objeto de negocio importando el archivo DLL
propuesto además de anexarlo al documento.
4. Si existen inconsistencia en las relaciones, deberán eliminarlas y generar un informe
donde establezca el archivo de errores eliminados.
5. Cuando se compruebe la carga (INTEGRAL sin perdidas de datos, ni errores en carga) de
dicho modelo en el SMBD Oracle deberá entregar los siguientes script asociados a un
paquete identificado a conveniencia:
6. Debe mostrar las alteraciones en las tablas que construyeron el modelo lógico relacional
adjuntando las imágenes de dicho proceso.
7. Debe adjuntar el proceso de creación del tablespace, del usuario y de la carga de datos
(log, ctrl, bat)
8. Tiene libertad para la propuesta de diseño de su entorno relacional, dependerá de su
análisis de negocio.

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’)

TITULO %_MENOR _3 %_MAYOR_3 TAG_BUSCADO NUMERO_GENEROS

…..

…..

PUNTO_2:
Nombre sugerido del script (las 4 iniciales de su nombre+_ PUNTO2):

Un año se divide en 2 semestres. Implementar un procedimiento almacenado que ingresado un


año, un semestre valido (1 o 2), y un intervalo de horas en formato militar (h1 y h2) ejemplo
(2018,2,20,23) muestre un ranking empezando en 1 e incrementándose de 1 en 1, con las 12
películas con peor promedio de valoración de rating en ese semestre de ese año y en el rango de
horas de votación (inclusive de las horas señaladas) (para el ejemplo entre la hora 20 y 23 ),
ordenada por el peor promedio de votación.

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.

Todo el parcial debe estar documentado en un informe con portada.

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.

Adjunte el código de sus funciones.

Inserte el código de tiempo de ejecución para cada script (al final de documento se entregan las
líneas a adjuntar)

Adjunte los logs de carga

Adjuntarlo a un archivo zip y subirlo y remitirlo al correo:

[email protected]

Una forma sencilla de medir el tiempo de ejecución es mediante la


función DBMS_UTILITY.GET_TIME. Esta función devuelve la hora actual en centésimas
de segundo.

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;

También podría gustarte