Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/10/2008, 12:19
Avatar de Synkronice
Synkronice
 
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 17 años, 1 mes
Puntos: 48
Respuesta: Plantear relacion tablas

ALOJAMIENTOS

- id_alojamiento
- nombre
- direccion
- etc...

Esta tabla solo contendrá los datos relativos a los alojamientos.

ALOJAMIENTOS_HAS_CLASIFICACIONES

id_alojamiento
id_clasificacion

En esta tabla decimos que clasificaciones estan asociadas al alojamiento.

CLASIFICACIONES

id_clasificacion
nivel [enum("1", "2", "3")] Este campo es opcional, si lo necesitas lo pones.
alias

En esta tabla definimos todas las posibles clasificaciones existentes.

CLASIFICACIONES_HAS_CLASIFICACIONES

id_clasificacion_1
id_clasificacion_2

Y por último, en esta tabla definimos las relaciones que poseen las clasificaciones entre sí.

Así que por ejemplo podríamos tener algo así.

ALOJAMIENTOS

1 | Cabañita del rio | Dirección Ribadesella

ALOJAMIENTOS_HAS_CLASIFICACIONES

1 | 1
1 | 2
1 | 3

CLASIFICACIONES

1 | Nieve
2 | Dura
3 | Montaña

CLASIFICACIONES_HAS_CLASIFICACIONES

3 | 1
1 | 2

De esta forma sabremos que las clasificaciones Nieve, Dura y Montaña estan asociadas al alojamiento con id 1 que pertenece a Cabañíta del rio y que las clasificaciones estan relacionadas entre sí según indica la tabla CLASIFICACIONES_HAS_CLASIFICACIONES. Ademas tambien podemos saber que nivel tiene cada clasificación, así podras mostrarlas en orden ascendente o descendente.

Otra cosa interesante es que gracias a la realaciones existentes en la tabla CLASIFICACIONES_HAS_CLASIFICACIONES podemos acotar las opciones de eleccion a la hora de elegir que clasificacion hay que elegir según la clasificacion padre.

Espero que te sirva este planteamiento.


Saludos!