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

gonzalo rama ramagonzalo en yahoo.com.ar
Mar Abr 26 20:43:29 ART 2011


Leo, primero te mande mal la url .. :( es esta:  http://soynn.com/diagrama.db.2.png

Y te explico el tema del video_file; un vídeo puede tener varios archivos de vídeo, por ejemplo de diferente calidad e idioma del audio. Con ese sentido se creo vídeo_file. El campo video_id (tabla video_file) hace referencia al Id del vídeo al que corresponde ese archivo.

Ahora mi pregunta es: ¿Esta mal normalizado? . Planteando la situación: partiendo de una búsqueda en al tabla title_descripcion se desea listar todos los vídeos y de ser una serie todos el árbol de temporadas con sus vídeos, titulos y descripciones. 

.. ¿es mejor plantear por separado todas las tablas de relaciones 1 a N ? por ejemplo: season_has_episode  ,  video_has_video_file, 

Muchas gracias!.
--- El mar 26-abr-11, Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar> escribió:

> De: Leonardo Tadei - Pegasus Tech Supply <leonardot en pegasusnet.com.ar>
> Asunto: Re: [Php-avanzado] Hasta que punto conviene Normalizar una DB
> Para: "Lista del curso de PHP Avanzado" <php-avanzado en pato2.fi.mdp.edu.ar>
> Fecha: martes, 26 de abril de 2011, 20:08
> Hola Gonzalo,
> 
> El mar, 26-04-2011 a las 15:48 -0700, gonzalo rama
> escribió:
> > 1º) Gracias.
> >  Leo mis tablas tablas _has_ tienen clave
> multiple,
> 
>     Las veo.
> 
> > ¿para que necesito un campo ID?
> 
>     La respuesta breve es "para lo mismo que
> en todas las demás".
> 
> > ¿qué beneficios me trae?
> > ¿porque se vuelve pesado la no tener un ID simple?
> 
>     Porque la DB tiene que proyectar 2
> columnas en vez de solo una para
> hacer los JOIN... hacé el producto cartesiano de una
> columna más sobre
> el conjunto de datos y fijate.
> 
>     (Producto cartesiano - "todos contra
> todos")
> 
> > --
> > 2º) Si planteo como modelo esto: 
> > --comment---
> > id:        (id único )
> > text:      (contenido )
> > comment_id:(id , del "posible" comentario. relacionado
> a este comentario)
> > model_name:(nombre de la sección que se comentario,
> ej: noticie, gallery, image, tec)
> > model_id:  (id se la sección comentada,
> ej:noticie_id , gallery_id, image_id, etc)
> > 
> > ¿que tanto apesta? :)
> 
>     Tanto, que huele mal hasta acá!
> 
> 
> > 3º)  ¿cómo se ven estas relaciones? --> http://soynn.com/diagrama.db.png 
> >   Partiendo por ejemplo de que se
> realiza una búsqueda en la tabla
> > --title-description-- y se pretende listar los vídeos
> encontrados y de
> > pertenecer a una serie, listar el árbol de témporas
> con sus
> > capítulos. 
> 
>     Se ve mal, porque ese subsistema
> todavía está mal normalizado.
>     No veo por qué Title y Description no
> son una sola tabla: los dos
> dependen de la misma clave !
> 
>     Y sigo sin entender (porque no me lo
> explicás) por qué video_file tiene
> lang_id y qué es video_id...
> 
> > Saludos.. 
> > PD.: Tengo toda la descripción del proyecto y los
> requerimientos, son
> > largos... Si quieren los llevo el sábado.
> > 
>     La verdad, la verdad, la verdad... es
> que la idea del sábado es hablar
> de otra cosa.
>     Vos tenés un problema de
> normalización, y el sábado la cosa va de
> Objetos, así que es como tener un problema en los riñones
> y querer
> contárselo al mecánico.
>     Si querés, llevalo, pero prioricemos el
> tema del encuentro.
>     A mi me encontrás todos los jueves de
> 18 a 22hs en la FI dando clase, y
> podés ir a consultar después de las 20:20hs todo el
> tiempo y todas las
> veces que quieras!
> 
> -- 
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> 
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> 


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