[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