Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2008, 02:02
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años
Puntos: 300
¿estructura jerárquica?

amigos,

me ha surgido una duda para la estructuración de unas tablas de una base. La información se ordena en distintos niveles (serán 3); el primero es el general, luego dependiendo de ese puede haber uno, dos o más, y un tercer nivel en el que los registros estarán relacionados con los del segundo nivel. Habrá necesariamente datos en el nivel 1 y en el 3, es decir, cuando hay un nivel uno, siempre hay datos en el nivel 3 de ese nivel 1, sea a través o no del nivel dos. Me explicaré: podrían faltar los registros del nivel 2 que estuvieran relacionados con los del nivel uno, pero siempre habría datos en el nivel 3. Mi pregunta es cómo solucionar mejor esta situación
1-----------------------------------1.1---------------------------------------------1.1.1
ejemplo1--------------------subejemplo1de1-------------------------- subsubejemplo1de1
--------------------------------------------------------------------subsubejemplo2de1

---------------------------subejemplo2de1---------------------------subsubjemeplo1de2

ejemplo2-------------------subejemplo1de2---------------------------subsubejemplo1de1

ejemplo3 ------------------(subjemplo1de3) ------------------------subsubejemplo1de1

un ejemplo práctico
herramientas-----------------------tipo--------------------------------función
martillo------------------------------metálico---------------------------clavar
----------------------------------------------------------------------------desclavar
----------------------------------------goma-----------------------------nivelar
alicates-------------------------------------------------------------------extraer

Es inventado y poco coherente, pero tal vez os hagáis una idea. ¿Qué tipo de alicates debería poner, si no existe tipo? Tal vez alicates, o simplemente un tipo "sin tipo" que permitiría la relación con la tabla tercera y además facilitaría la programación, por ejemplo para hacer selectores dependientes y que no apareciera ese tipo intermedio...


Como veis en los primeros datos, el principal problema lo tengo cuando falta el nivel 2, que aparece como 1.1. Concretamente es el caso del ejemplo3, que no tiene un subjemplo1de3 (aparece en rojo). Yo he pensado que poniendo como dato de ese nivel 2 ejemplo3 o quizás mejor sinnivel2, resolveré el problema. De ese modo tendré un id con el que relacionar y mediante programación soslayar la presencia del dato, puesto que el criterio de nivel1=nivel2 o nivel2="sinnivel2" me puede servir para distinguir. No obstante, no sé si esto es lo mejor desde el punto de vista técnico, y me gustaría escuchar vuestras opiniones.
Me ha parecido leer algo sobre relaciones jerárquicas, pero no sé si será el caso para esto... (no las he usado nunca)

Gracias de antemano

Última edición por jurena; 10/10/2008 a las 03:33