Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/08/2009, 09:09
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Crear base de datos - Complejo

El problema puede darse porque originalmente planteabas una gran cantidad de relaciones simples (lo que se denominarían unarias), entre diferentes objetos, pero posiblemente no te plantearas esas relaciones desde una perspectiva un poco más elevada, donde puedan aparecer relaciones entre objetos de nivel secundario o terciario e incluso más.
Con esto quiero decir que es posible (no puedo asegurarlo sin ver tu modelo) que uno de los problemas se origine en que se están usando ids de tablas primarias innecesariamente en tablas de un nivel más elevado. Por caso: si bien el ID de un proveedor de un artículo está relacionado con el ID del artículo vendido en una factura, ese ID no es necesario en la relación FACTURA, porque pertenece a otro nivel de análisis. Este tipo de cosas no son "errorres" en todo el sentido del término, sino información superflua, aunque sea correcta.
Por cuestiones prácticas, lo que suele hacerse en casos como el tuyo es crear meta-entidades que agrupen en un sólo registro conjuntos de relaciones que identifiquen un "paquete" o metaentidad de nivel más alto. de esa forma se van agregando uno o dos niveles de abstracción que permiten ser modelados con menos problemas.
Un ejemplo para graficarlo sería la construcción de un automóvil. En el nivel más alto está el vehículo con un conjunto de relaciones limitado; a su vez cada una de esas relaciones (motor, chasis, cubiertas, etc.) es una meta-entidad que se compone de meta-entidades menores, y así hasta llegar a los componentes básicos.
Según me parece, si en este momento tienes el problema del excesivo numero de relaciones por tabla, se puede resolver creando niveles de abstracción de datos.

Tal vez si pudiesemos ver la estructura del modelo de tablas en un gráfico, podríamos saber si por allí se puede encarar una solución.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)