Modelado Sistema de Calificación

  • Autor Autor ismadobe
  • Fecha de inicio Fecha de inicio
ismadobe

ismadobe

Épsilon
Programador
Verificación en dos pasos activada
Hola a todos :encouragement:

Actualmente estoy modelando la base de datos correspondiente a un sistema de calificación, el cual permite que se pueda puntuar una PELICULA, SERIE y EPISODIOS de la misma.

Existe una tabla llamada RATING la cual contiene el id del usuario que hizo la calificación y el id de la pelicula, serie o episodio. Sin embargo, el id de los episodios es un numero autoincrementable el cual podria colisionar con alguno de los ids de las otras dos tablas.

He pensado en generar un id unico para cada episodio compuesto por el id de la serie, id de la temporada y numero del episodio. A pesar de ello, el numero resultante puede ser muy grande. Ejemplo:
- Serie: 1 -> Temporada 1 -> Episodio 1 => 111
- Serie 1000 -> Temporada 5 -> Episodio 11 => 1000511

Como se ve en el segundo ejemplo, ese numero ya se empieza a descontrolar y terminara generandome espacios gigantescos entre ids y ademas puede que colisione con alguno de los ids de las series o peliculas al generar una consulta sql.

Pregunta: ¿Tienes alguna idea de como modelar este sistema permitiendo hacer un sentencia sql sencilla y sin recurrir a ids unicos demasiado grandes?

Gracias.
Saludos
 
Última edición:
Ingresa una columna mas donde definas "section" y le pones "m" = movies , "s" = series, and "e" episodes, asi de sencillo.
 
Hay varias formas de armar ese modelado, dependiendo cuál sea el objetivo (respetar las formas normales, facilidad de consulta, velocidad de consulta, etc).

La opción de zTGamer es la más lógica, aunque también podes crear la tabla RATING con tres columnas extras: id_pelicula, id_serie, id_episodio siendo los tres campos nuleables y poniendole valor al que corresponda al rating.
 
Atrás
Arriba