Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/09/2007, 06:40
Avatar de Kelpie
Kelpie
 
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 9 meses
Puntos: 8
Re: Consulta sobre como crear más adecuadamente una base de datos

El diseño de una base de datos es algo muy estudiado. Para los más puristas requiere de un análisis de entidades y relaciones hasta obtener un modelo depurado y viable. Aunque en cierta medida pertenezco a ese grupo de puristas, me alejo de ellos en el punto que planteas.

En mi opinión, la rapidez debería primar sobre la "perfección del diseño" en cierta medida. Y en el caso concreto que planteas, yo creo que el artículo se merece los atributos de id_categoría, id_familia, id_subcategoría, etc.
Como bién planteas, esto nos lleva a repetir información en la base de datos, lo cuál es algo que deberíamos evitar, pero nos aporta mucha agilidad a la hora de recolectar los artículos de una subcategoría, por ejemplo.

Repetir información puede llevar a situaciones desagradables. Por ejemplo, supón que ya tienes la tabla llena de artículos y cada uno con su id_categoría, id_subcategoría, id_familia, etc, y decides cambiar los códigos de las subcategorías. Tendrás que cambiarlas en cada artículo además de la tabla de las subcategorías.

Yo creo que es un riesgo pequeño para el beneficio de rapidez que conseguimos.
Pero, ojo, una base con ese diseño no sería una base bién diseñada...

Saludos
__________________
Kelpie