[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