Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Relaciones múltiples entre tres tablas

Estas en el tema de Relaciones múltiples entre tres tablas en el foro de Mysql en Foros del Web. Hola a todos, antes que nada quiero aclarar que no soy un programador avanzado ni mucho menos, sino que estoy dando mis primero pasos, asique ...
  #1 (permalink)  
Antiguo 20/07/2010, 07:59
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Relaciones múltiples entre tres tablas

Hola a todos, antes que nada quiero aclarar que no soy un programador avanzado ni mucho menos, sino que estoy dando mis primero pasos, asique perdon por cualquier tipo de barbaridad que pueda llegar a decir!

Bien, estoy realizando un proyecto (para aprendisaje más que nada) y no logro avanzar en esta cuestion..

Es un proyecto digamos para una inmobiliaria/bienes raices, donde tengo 3 tablas

operacion, tipo_prop, prop

operacion
id_op, nombre_op

(1 venta, 2 alquiler)

tipo_prop
id_tipo
nombre_tipo

(1 casa, 2 departamento, 3 lote, etc)

prop - cada propiedad en si
id
id_op
id_tipo
nombre
descripcion
img

-------------------
Esto es como lo tengo pensado, que la verdad que nose si esta bien planteado o no. La funcionalidad que quiero alcanzar es que una propiedad pueda tener distintas combinaciones, es decir puede ser una: propiedad listada en casas, a la venta // o tambien tenga otra que pueda ser estar listada en casas Y tambien en lotes, tanto para la venta y alquiler.

El tema es como guardar la operacion y el tipo de propiedad, en la tabla propiedades, como les puse, los tenia pensado como id_op y id_tipo pero obviamente si son combinaciones multiples no debian ser id, sino ¿un string listando las distintas opciones? por ej: id_op -> operacion: venta,alquier y id_tipo -> tipo: casa,lote?? Luego ese string concatenado como se divide en los distintios componentes para poder las querys? con un split? estuve buscando sobre split pero no encontre..., luego las busquedas las deberia hacer con un JOIN entre las tres tablas?? estoy perdido!!

En fin, nose para donde salir disparado, si le estoy errando totalemente o que....


gracias por la ayuda!!!
  #2 (permalink)  
Antiguo 20/07/2010, 14:31
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 10 meses
Puntos: 1
Respuesta: Relaciones múltiples entre tres tablas

Saludos

Primero debería pensar mejor lo del Tipo, porque un Inmueble de Tipo "Casa" no debería salir también listado como un "Apartamento". Ojo con eso. En todo caso, podría tener varias "Operaciones", es decir, estar listado como Alquiler / Venta / Permuta, etc.

Si es esa la intención, entonces puedes hacer 2 cosas:

1) Lo dejas como lo tienes, pero el id_op de la tabla inmueble no es un INT sino un varchar y allí guardas separada con coma (o con el separador que quieras) cada tipo de operación: 1,2,3,4

2) Separar esa relación en otra tabla, ej: tipoOp_Inm donde tengas, el id_op y el id_prop. Cada registro de esa tabla contendrá cada relación entre el inmueble y la operación

Yo en lo personal utilizaría la segunda opción.

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #3 (permalink)  
Antiguo 22/07/2010, 09:55
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Relaciones múltiples entre tres tablas

Hola Jose, muchas gracias por contestarme! Con repecto a los de TIPOS, lo pense ya que vi varias veces que un inmueble puede encontrarse en varias categorias, por ej

1 propiedad tanto en barrio cerrado, como en casa
1 propiedad tanto en lote como en galpon

etc,

Con la segunda opcion que me pasas, no se me hace tan claro el funcionamiento y su aplicación. Por que es mejor separar esa relacion en otra tabla y no en la misma? Como haria una consulta levantando datos de esas 2 tablas? Con un join?

Muchas gracias!!!
  #4 (permalink)  
Antiguo 03/11/2010, 01:41
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Relaciones múltiples entre tres tablas

La segunda opción es una relación del tipo muchos a muchos (hasandbelongtomany)

Etiquetas: join, leftjoin, split
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:03.