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

Consultar varias tablas de una vez.

Estas en el tema de Consultar varias tablas de una vez. en el foro de Mysql en Foros del Web. Buenas Noches: Estoy desarrollando una app para una agencia de viajes y me encontré con los siguientes requerimientos la inmobiliaria maneja inmuebles, hoteles, paquetes con ...
  #1 (permalink)  
Antiguo 26/08/2015, 21:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta Consultar varias tablas de una vez.

Buenas Noches:

Estoy desarrollando una app para una agencia de viajes y me encontré con los siguientes requerimientos la inmobiliaria maneja inmuebles, hoteles, paquetes

con lo cual genere las siguientes 3 tablas
Inmobiliaria (id_inmueble,id_tipo,país,provincia,ciudad, calle, num_calle, superficie, etc)

Hoteles (id_hotel,id_tipo,país,provincia,ciudad, calle, num_calle, nombre,categoría, etc)

Paquetes (id_paquete,id_tipo,país,provincia,ciudad, id_hotel, duración, aéreo, etc)

el problema me surge cuando debo realizar una búsqueda por (ubicación), ej Argentina,Misiones,Posadas la consulta debe devolver todos los registros que contengan ese valor en los campos país,provincia,ciudad de cada tabla. Devolver N cantidad de registros para mostrar un listado.

Una vez conseguido eso por algún lenguaje del lado del servidor ejemplo PHP realizo después la consulta puntual tomando como referencia el valor id_tipo para saber en que tabla seguir profundizando la consulta.

Por favor espero que me puedan ayudar, esto me tiene trabado y me trae a mal dormir ya desde hace días

Gracias! :)
  #2 (permalink)  
Antiguo 27/08/2015, 06:38
Avatar de David_Carrera_G  
Fecha de Ingreso: noviembre-2014
Ubicación: Santiago
Mensajes: 37
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: Consultar varias tablas de una vez.

Estimado, no entendí mucho tu pregunta, pero si lo que quieres realizar es una consulta para obtener información de distintas tablas, tienes que crear una tabla general la cual consuma mediante FK a las demás tablas. De esa forma logras unificar un poco tu BD. Pon un poquito más de información, para ver si te puedo dar una manito.
__________________
David Carrera González
Santiago de Chile
Analista de base de datos
  #3 (permalink)  
Antiguo 27/08/2015, 10:03
 
Fecha de Ingreso: abril-2015
Ubicación: Castelldefels
Mensajes: 76
Antigüedad: 9 años
Puntos: 3
Respuesta: Consultar varias tablas de una vez.

Hola! No entendí bien cual es la pregunta...
No obstante, tienes 3 tablas (inmobiliaria,hoteles y paquetes) estas tablas deben ir de alguna forma linkadas con la agencia de viajes en la BBDD (eje: Agencia_de_viajes_ID). Asumiendo que este es el caso yo haría lo siguiente:

1. Formulario de consulta (El origen de las variables a buscar)
2. Recoger las variables del form por post
3. realizar el select a la BBDD. Para buscar en las tres tablas lo puedes hacer con un JOIN.


... Pero creo que esto tiene mas que ver con PHP que con SQL no?
  #4 (permalink)  
Antiguo 27/08/2015, 12:54
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consultar varias tablas de una vez.

Cita:
Iniciado por germoargentina Ver Mensaje
Buenas Noches:

Estoy desarrollando una app para una agencia de viajes y me encontré con los siguientes requerimientos la inmobiliaria maneja inmuebles, hoteles, paquetes

con lo cual genere las siguientes 3 tablas
Inmobiliaria (id_inmueble,id_tipo,país,provincia,ciudad, calle, num_calle, superficie, etc)

Hoteles (id_hotel,id_tipo,país,provincia,ciudad, calle, num_calle, nombre,categoría, etc)

Paquetes (id_paquete,id_tipo,país,provincia,ciudad, id_hotel, duración, aéreo, etc)

el problema me surge cuando debo realizar una búsqueda por (ubicación), ej Argentina,Misiones,Posadas la consulta debe devolver todos los registros que contengan ese valor en los campos país,provincia,ciudad de cada tabla. Devolver N cantidad de registros para mostrar un listado.

Una vez conseguido eso por algún lenguaje del lado del servidor ejemplo PHP realizo después la consulta puntual tomando como referencia el valor id_tipo para saber en que tabla seguir profundizando la consulta.

Por favor espero que me puedan ayudar, esto me tiene trabado y me trae a mal dormir ya desde hace días

Gracias! :)

Para empezar tus tablas no estan normalizadas, por ejemplo:







aqui ocuparias una tabla con los tipos
id_tipo descripcion

una tabla con los paises
id_pais nombre

una tabla con las ciudades
id_ciudad nombre

una tabla con las provincias
id_provincia nombre

una tabla con las calles
id_pais id_provincia id_ciudad id_calle nombre

una tabla con las categorias
id_categoria descripcion

y en tus tablas quedaria asi:


Inmobiliaria (id_inmueble,id_tipo,id_calle)


Hoteles (id_hotel,id_tipo,id_calle, nombre,id_categoria, etc)


Paquetes (id_paquete,id_tipo,id_calle, id_hotel, duración, aéreo, etc)


Se entiende???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 27/08/2015, 23:07
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Consultar varias tablas de una vez.

Cita:
Iniciado por Libras Ver Mensaje
Para empezar tus tablas no estan normalizadas, por ejemplo:







aqui ocuparias una tabla con los tipos
id_tipo descripcion

una tabla con los paises
id_pais nombre

una tabla con las ciudades
id_ciudad nombre

una tabla con las provincias
id_provincia nombre

una tabla con las calles
id_pais id_provincia id_ciudad id_calle nombre

una tabla con las categorias
id_categoria descripcion

y en tus tablas quedaria asi:


Inmobiliaria (id_inmueble,id_tipo,id_calle)


Hoteles (id_hotel,id_tipo,id_calle, nombre,id_categoria, etc)


Paquetes (id_paquete,id_tipo,id_calle, id_hotel, duración, aéreo, etc)


Se entiende???
Antes que nada mil gracias a todos los que responden en este foro y tratan de ayudarnos !

Se entiende, si reconozco que le falta mucho trabajo a las tablas. pero mi consulta va mas allá de los datos mi problema es que se realiza una búsqueda por lugar donde uno ingresa el lugar a donde el cliente quiere ir y te tira un listado de todos los hoteles, inmuebles, paquetes que se encuentran disponibles en esos lugares. Mi consulta es la siguiente.

tendría que hacer una tabla padre de todas que guarde id_tabla_padre, id_tabla_hijo, tipo_tabla_hijo, etc.
  #6 (permalink)  
Antiguo 28/08/2015, 01:38
 
Fecha de Ingreso: abril-2015
Ubicación: Castelldefels
Mensajes: 76
Antigüedad: 9 años
Puntos: 3
Respuesta: Consultar varias tablas de una vez.

haz caso a Libras, ya te ha puesto la estructura de la BBDD
  #7 (permalink)  
Antiguo 28/08/2015, 06:01
Avatar de David_Carrera_G  
Fecha de Ingreso: noviembre-2014
Ubicación: Santiago
Mensajes: 37
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: Consultar varias tablas de una vez.

Así es, siempre es bueno tener una tabla general que consuma los demás id, para generar consultas de búsquedas de manera eficiente. La estructura que te recomendó libra es la que deberías seguir, aplicando la idea de negocio que tienes.
__________________
David Carrera González
Santiago de Chile
Analista de base de datos
  #8 (permalink)  
Antiguo 28/08/2015, 06:25
 
Fecha de Ingreso: abril-2015
Ubicación: Castelldefels
Mensajes: 76
Antigüedad: 9 años
Puntos: 3
Respuesta: Consultar varias tablas de una vez.

Cita:
Iniciado por David_Carrera_G Ver Mensaje
Así es, siempre es bueno tener una tabla general que consuma los demás id, para generar consultas de búsquedas de manera eficiente. La estructura que te recomendó libra es la que deberías seguir, aplicando la idea de negocio que tienes.
Estoy de acuerdo contigo David. Solo resaltar, si me lo permites, que tener muchas tablas para luego ser consumidas por una sola tiene sentido si éstas tablas tienen registros finitos: por ejemplo, paises, lenguajes, ciudades, sexo, etc...

De lo contrario, dificultas mucho más las consultas y se hacen menos eficientes.

Saludos!
  #9 (permalink)  
Antiguo 28/08/2015, 09:26
Avatar de David_Carrera_G  
Fecha de Ingreso: noviembre-2014
Ubicación: Santiago
Mensajes: 37
Antigüedad: 9 años, 4 meses
Puntos: 1
Respuesta: Consultar varias tablas de una vez.

Cita:
Iniciado por jlusc98 Ver Mensaje
Estoy de acuerdo contigo David. Solo resaltar, si me lo permites, que tener muchas tablas para luego ser consumidas por una sola tiene sentido si éstas tablas tienen registros finitos: por ejemplo, paises, lenguajes, ciudades, sexo, etc...

De lo contrario, dificultas mucho más las consultas y se hacen menos eficientes.

Saludos!
Excelente acotación master, comparto contigo el comentario.
__________________
David Carrera González
Santiago de Chile
Analista de base de datos

Etiquetas: arquitectura, diseño+base+de+datos, relacional
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 05:38.