[Php-avanzado] Hasta que punto conviene Normalizar una DB

Rama Gonzalo ramagonzalo en yahoo.com.ar
Lun Abr 25 13:32:49 ART 2011


Sigo normalizando.. o desnormalizando ?..
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 coleccció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 de y 
temporadas de la misma e inversamiente, 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 evitar varias tablas y por ende 
muchos JOIN.. y gano algo rendimiento (suponiendo que es un 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 ?
Se podrían "quizá" fusionar las tablas titulo y descripción ,y reducir 
la cantidad de relaciones.

Muchas gracias! nuevamente.


Más información sobre la lista de distribución Php-avanzado