Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Explicación de la estructura de la base de datos de ejemplo

18/33
Recursos

Aportes 31

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Hola les comparto los apuntes que tome sobre este curso, en algunas clases ahonde un poco mas, espero les sean de utilidad, no olviden dejar el like en mi tutorial de este curso. gracias totales

https://github.com/rb-one/Curso_de_PostgreSQL_Aplicado_a_Ciencia_de_Datos/blob/master/Notes/notes.md

Querys:

-Top 10 de películas con mayor facturación.
-Categorías con mayor facturación.
-Empleado que mas venta realiza en $.
-Ticket promedio por cliente en $.
-Contribución por categoría (Margen).

Hice esta pequeña consulta con los datos de la BD para saber que actores han participado en más películas ``` SELECT COUNT(ac.actor_id) as peliculas_x_actor, CONCAT(ac.nombre, ' ', ac.apellido) FROM peliculas_actores pa INNER JOIN actores ac ON pa.actor_id=ac.actor_id GROUP BY pa.actor_id, ac.nombre, ac.apellido ORDER BY peliculas_x_actor DESC ```

Las 10 películas más rentadas

SELECT p.titulo, COUNT(p.pelicula_id) as c FROM peliculas as P
JOIN inventarios as i ON i.pelicula_id = p.pelicula_id
JOIN rentas as r on r.inventario_id = i.inventario_id
GROUP BY p.titulo, i.pelicula_id
ORDER BY c DESC LIMIT 10

Los actores con las categorías de películas en que más participan.

SELECT a.nombre, a.apellido, c.nombre, COUNT(p.pelicula_id)
FROM actores a
JOIN peliculas_actores pa ON a.actor_id=pa.actor_id
JOIN peliculas p ON pa.pelicula_id=p.pelicula_id
JOIN peliculas_categorias pc ON p.pelicula_id=pc.pelicula_id
JOIN categorias c ON pc.categoria_id=c.categoria_id
GROUP BY a.nombre, a.apellido, c.nombre
ORDER BY COUNT(p.pelicula_id) DESC;

Fue harta prueba y error pero di con el resultado.

si una pelicular tiene varios idiomas y un idioma puede estar en varias películas, por que no se crea también la tabla relacional de ellas?

¿Qué empleado ha registrado el mayor numero de pagos?

SELECT COUNT(pagos.pago_id) as pagos_x_empleado, CONCAT(empleados.nombre, ' ', empleados.apellido) as trabajador
FROM pagos
INNER JOIN empleados ON pagos.empleado_id = empleados.empleado_id
GROUP BY empleados.empleado_id
ORDER BY pagos_x_empleado DESC;

Excelente, el manejo de cursores

![](

Un reporte de ingresos por tienda en los últimos 6 meses

Reto


Me interesaria saber que peliculas, existen en cada tienda, haría un select a inventarios y haría un inner join donde pelicula_id de inventarios es igual a pelicula_id de peliculas

  • Ventas por ciudad
  • Ventas por tienda
  • Ventas por año
  • Categorías más vendidas
  • Directores más eficientes según ventas
  • Ventas por idioma película

Se me ocurre listar las tiendas TOP en base a cuánto dinero recaudó por el alquiler.
También se me ocurre listar las películas TOP alquiladas, sin importar la tienda, luego se podría buscar las tiendas TOP en donde se alquiló poco las películas TOP, es decir, sería interesante ver por qué en algunas tiendas no se alquiló mucho las películas top.

Queries:
-Top10 películas más rentadas
-Bottom 5 de tiendas en revenue
-Rentas por sexo/género de los clientes
-Costo promedio del ticket final
-Top 5 actores y Top 5 actrices que más se rentan
-Inventario en $$$ vs Bottom 5 vs Top5 de tiendas en revenue

  1. Qué ciudades rentan más películas
  2. Qué (categoría o película) trae mayor dinero a la tienda
  3. Qué empleado ganó más dinero
  4. Duración media de cada película

esta muy buena la bd para mejorar la skills !!

Algunas sugerencias:

  • Las películas con mayor y menor precio de renta
  • Los actores con mayor número de películas y un patrón de participación de acuerdo a la clasificación
  • Un mapa de distribución para ver la relación entre tiendas y empleados, con la posibilidad de mejorar el transporte (si es una tienda física)

Se me ocurre hacer este query para saber que tipo de película es rentada por ciudad, podríamos ser más específicos y hacer una consulta por sector demográfico. Esto para que nos de una idea que tipo de película rentan nuestros clientes según el sector demográfico.

Podríamos cruzar está información con la de la población y preparar nuestro inventario a través de un análisis de la demanda basada en estos datos, el tipo de clasificación que buscan nuestro clientes según su ciudad o sector demográfico (podríamos buscar la edad de quienes rentan las películas y agruparla en rangos).

SELECT	ciudad,
	COUNT(clasificacion) AS peliculas_rentadas,
	clasificacion
FROM peliculas AS p
INNER JOIN inventarios AS i ON p.pelicula_id = i.pelicula_id
INNER JOIN rentas AS r ON i.inventario_id = r.inventario_id
INNER JOIN clientes AS c ON r.cliente_id = c.cliente_id
INNER JOIN direcciones AS d ON c.direccion_id = d.direccion_id
INNER JOIN ciudades AS ci ON d.ciudad_id = ci.ciudad_id
GROUP BY ciudad, clasificacion
ORDER BY peliculas_rentadas DESC;

Se podría obtener, el mayor número de peliculas vendidas por género por ciudad para obtener una mejor perspectiva de los gustos regionales, tambien se podría obtener las rentas con las ventas por categoria por ciudad y por tienda. Se puede obtener el precio con el tipo de cambio y juntarlo con los pagos totales para saber la rentabilidad total. Se podría obtener las peliculas más vendidas por lenguaje tambien para conocer los gustos de la región en lenguaje de visualización.

A seguir aprendiendooooo

Hice de esta forma las 10 mas rentadas:

SELECT peliculas.pelicula_id, peliculas.titulo, SUM(pagos.cantidad) AS Mas_Rentada
FROM peliculas
INNER JOIN inventarios ON peliculas.pelicula_id = inventarios.pelicula_id
INNER JOIN rentas ON inventarios.inventario_id = rentas.inventario_id
INNER JOIN pagos ON rentas.renta_id = pagos.renta_id
GROUP BY peliculas.pelicula_id
ORDER BY Mas_Rentada DESC
LIMIT 10

Si hay algo mal les pido si me avisan.
Gracias.

interesante

Reporte que indique las clases de películas que más ingresos reportaron, discriminado por tienda, y la clasificación de clientes que las llevaron.

¿Cómo puedo obtener si una película tiene varios idiomas con las relaciones que existen?

  • Películas mas rentadas
  • Cantidad promedio de películas rentadas por cliente
  • Cantidad de rentas por Empleado
  • Películas no retornadas a la tienda
  • Top ten películas por categoría

Se pueden geolocalizar las tiendas de manera que se sepa por sector qué tipo de películas se rentan más. Cruzando esa info, por ejemplo, con variables sociodemográficas del tipo de clientes.

Una consulta podría ser conocer cual es la película mas rentada en el último año por ciudad.

Muy bien explicado.
Solo una acotación, podrian tener otro script de carga de los datos desde insert, ya que si se tiene una base de datos desde docker, se pone complejo cargar un dump desde docker.

  • Peliculas más rentadas con sus ingresos
  • Categorías con más peliculas
  • Actores con más participaciones

Top 10 de clientes con mas rentas de películas realizadas:

select count(*) cantidad_compras, CONCAT(nombre, ’ ', apellido) as "Nombre del Cliente"
from rentas
inner join clientes using(cliente_id)
group by cliente_id
order by cantidad_compras desc
limit 10

Variación del tipo de cambio en un trimestre económico.

Qué tipo de peliculas han pagado más los clientes a lo largo de los años
Qué empleado ha generado más rentas
Precio de peliculas más solicitadas
Direccion de los clientes que piden mas peliculas (Para identificar esa Region)