Tengo un table "video" otra "serie" y otra "temporada" .
Un "video","serie" o "temporada" tienen uno o varios "títulos" (según el idioma) y una o varias "descripciones" (según el idioma), una "serie" es una colección de "temporadas" y una "temporada" es una colección de videos.
hice esto:
--tabla video--
id
pais_id
idioma_id
titulo_id (primaria)
descripcion_id (primaria)
serie_id
temporada_id (no es primaria)
---serie---
id
pais_id
idioma_id
titulo_id (primaria)
descripcion_id (primaria)
---temporada-
id
titulo_id (primaria)
descripcion_id (primaria)
serie_id
---titulo----
id (no es clave primaria) se repite tantas veces como títulos tenga un mismo video
texto
idioma_id
---descripcion ---
id (no es clave primaria) se repite tantas veces como descripciones tenga un video
texto
idioma_id
oiginal (buleano que indica si es el titulo orignal del video)
De esta forma.., a partir de una serie acceso a todos los videos y temporadas de la misma e inversamente, desde un video puedo acceder a toda la serie y temporadas de la serie, de la que es parte el video. No me gusta el diseño, pero "creo" que al evitar varias tablas y por ende muchos JOIN. gano algo rendimiento (suponiendo que es una DB con alto tráfico).
-----------------Otra podría ser:
---video---
id
pais_id
idioma_id
titulo_original_id (primaria)
--- serie
id
pais_id
idioma_id
titulo_original_id (primaria)
---temporada
id (primaria)
serie_id
-----titulo
id (primaria)
text
idioma_id
----descripcion
id (primaria)
text
idioma_id
---rel_video_titulo
video_id
titulo_id
--rel_video_descripcion
video_id
descripcion_id
---rel_serie_titulo (similar video)
---rel_serie_decripción (similar video)
---rel_tempora_titulo (similar video)
---rel_temporada_descripcon (similar video)
De esta forma tendría todo más normalizado, con unas 6 tablas más.
Pero ¿bajaría mucho el rendimiento ?
¿Alguna otra alternativa?
.
Muchas gracias! .