Diagrama de BD. Como definir moderador para cada foro

Iniciado por Hadess_inf, 19 Noviembre 2009, 17:01 PM

0 Miembros y 1 Visitante están viendo este tema.

Hadess_inf

Para un nuevo hilo seria:

- idhilo: 10230 (este es el codigo que se genera para un hilo ya sea inicial o respuesta)
- idhilo_res: vacio (significa que este es un hilo inicial y no una respuesta a uno)

Para una respuesta:

- idhilo: 10231 (este es el codigo que se genera para un hilo ya sea inicial o respuesta)
- idhilo_res: 10230 (significa que este es una respuesta y es la respuesta al hilo10230)

Es correcto ¡?

Nakp

entonces para desplegar datos haces esto?

select * from hilo where idhilo = 'algo' union select * from hilo where idhilo_res = 'algo'

no me parece muy ortodoxo, al igual que la relación a la misma tabla, pero si te funciona xD...
Ojo por ojo, y el mundo acabará ciego.

Hadess_inf

Bueno la idea de hablar sobre redundancia era tratar de optimizar las consultas, si la relacion que propones mejora la optimizacion al hacer las consultas pues la usare.

Nakp

ehm... sobre optimizacion de consultas... no necesariamente la mas corta es la mas rápida, tendrias que probar con el la base de datos fisica.. pero de eso sabe mas la tía verde xD
Ojo por ojo, y el mundo acabará ciego.

Hadess_inf

#14
Cita de: Nakp en 20 Noviembre 2009, 02:30 AM
.. pero de eso sabe mas la tía verde xD

Eres un puñetero ...

:rolleyes: :rolleyes: :rolleyes:

EDito : No recuerdo haber puesto puñetero.  :¬¬ :¬¬

^Tifa^

Me he ausentado... mucho trabajo y poco tiempo.  :P

Yo tampoco le veo mucha concordancia a incluir id_hilo y id_res juntos... por una parte porque en algun punto tendras que hacer una relacion o consulta a la misma tabla como el ejemplo que te expuso Napk y si analizamos el ejemplo expuesto por Napk, aca en esa simple consulta el motor tendra la optimizacion suficiente para buscar datos cuando se encuentre con esto:

select * from hilo where idhilo = 'algo'

y cuando se encuentre con esto otro:

select * from hilo where idhilo_res = 'algo'

Porque son consultas haciendo referencia a una pk constante pero... cuando le incluyes el UNION ahi el motor para dicho predicado no filtra nada... hara una busquedad de todos los registros que poseas... lo cual te podrias evitar si ambas tablas estuviesen individual.

Que despejes datos a la hora de estructurar no implica que sea redundante algo, redundante es que despues te afecte indirecta o directamente la construccion de algo.  Pero mientras mas despejes aveces mas te puede convenir. Aunque visualmente parece que posee detalles demas el diagrama de Napk el meramente ha despejado tablas para evitarse problemas futuros de relacion, sobre optimizaciones de consultas es otro temita que se trata luego que tengas disenada las estructuras de tus tablas y mientras mas despejes mejor porque asi puedes decidir asignarles el motor conveniente a cada tabla sin necesidad de afectar a otra...  :-*