[Php-avanzado] Normalización! Re: consulta Diseño DB .

Rama Gonzalo ramagonzalo en yahoo.com.ar
Lun Abr 25 16:15:05 ART 2011


Bien.. me sirve.. el tema que el árbol sigue creciendo, tengo 
"notificaciones" y las tablas "noticia", "video", "imagen" "galerias" , 
"biografias", etc pueden tener 0 o varias notificaciones... como también 
asi los "comentarios".
¿Debería seguir haciendo el tipo  3FN?

Y tengo me sucede esto mismo con otras tablas.

> Hola Gonzalo,
>
> 	para este caso, la normalización dice que tenés que crear una tabla
> para cada relación, que no es ninguna de las dos que planteás.
> 	Por ejemplo:
>
> Noticias:
> id
> texto
>
> Imagen:
> id
> archivo
>
> Comentarios:
> id
> texto
>
> ComentariosNoticias:
> id
> id_noticia
> id_comentario
>
> ComentariosImagenes:
> id
> id_imagen
> id_comentario
>
> etc
>
> 	Fijate que normalizando, si agregás una nueva cosa, como por ejemplo
> Películas, no tenés que tocar la estructura (y por ende el código) que
> maneja las otras para que tengan Comentarios.
>
> 	Se parece a tu 1), pero no lo es: esta está en 3FN ;-)
>
> 	Saludos!
>
> El lun, 25-04-2011 a las 10:16 -0300, Rama Gonzalo escribió:
>> Hola a todos, tengo un sistema que posee, noticias, galerias de fotos,
>> biografias, reviews,  y todos estos elementos pueden recibir
>> comentarios, por lo que tengos la siguientes tablas:
>> notice ,gallery ,images, biography, reviews, comment.
>> El problema me surge al tener que relaciones la tabla "comment" con cada
>> uno de estas tablas, por lo que planteo 2 alternativas por el momento:
>>
>> 1º)
>>       a) Crear una tabla entidad "entity" que contenta el tipo
>> (biografia, noticia, review, foto, etc)
>>       b) Crear una tabla rel_comment_entity que contenga:
>>         -  id (id del comentario)
>>         -  entity_id
>>         -  element_entity_id (sería el id de la noticia,foto o review que
>> se ha comentado)
>>
>>
>>
>> 2º) Alternativa:
>>    En la tabla "comment"  agregar una columna para cada tabla:
>>        -----table comment------
>> - id,
>> - text, (contenido del comentario)
>> - notice_id,
>> - image_id,
>> - review_id
>> - biography_id
>>
>> La 2º me parece bastante bestia pero podría ser... qué otras
>> alternativas hay.. ? o de estas cual implementarían ?
>>
>> Gracias.
>> _______________________________________________
>> 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