Comunidad de diseño web y desarrollo en internet online

Tablas relacionales para una inmobiliaria

Citar            
MensajeEscrito el 08 Ene 2013 06:51 pm
Hola, tengo que hacer una página a una inmobiliaria y había pensado en hacer una única tabla en la base de datos con estos campos:

1 - Zona(ubicación de la vivienda).
2 - Tipo (apartamento o casa)
3 - Contrato (venta o alquiler)
4 - Dormitorios (cantidad de dormitorios)
5 – Baños (cantidad de baños)
6 - Imagen (5 0 6 imágenes del inmueble)
7 – Precio (Precio de la venta o alquiler del inmueble)
8 - Descripcion (una breve descripción de la vivenda)
Y algunos campos mas.

Había pensado en hacerlo todo en una tabla pero creo que sería mejor, más profesional y mas practico utilizar tablas relacionadas :cool: , las tablas relacionadas es algo que hasta ahora nunca había trabajado y tengo dudas de cómo trabajar con ellas. :?

La pregunta es la siguiente:

1ª. Cuantas tablas harían ustedes para una base de datos de esta características y como la relacionarían?
Por ejemplo: una tabla para la “zona” y otra tabla para los demás datos para luego relacionar estas dos tablas?

2ª Cual es la ventaja de utilizar tablas relacionadas y no hacerlo todo en una tabla como había pensado yo desde un principio?

Por último supongo que para acceder a estas tablas necesitaría consulta SQL del tipo INNER JOIN y que en phpmyadmin tengo que crear “Vista de relaciones” para que al borrar un registro en una de las tablas, los registros de las otras tablas también se borren.

Saludos :)

Por tabam

14 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Ene 2013 08:23 pm
Hola,

Mira lo que yo analizo para crear tablas relacionales es cuales son los datos que más se repiten, como por ejemplo la zona, que pueden ser varias.
Según los datos que colocas aquí se podrían crear solo dos tablas: "inmueble y zonas"

inmueble contendría los campos del 2 al 8 mas el campo id y id_zona, siendo esta última una llave foránea para así relacionarla con el id de la zona..

zonas tendría el nombre de la zona, el id.

Con el motor de la DB definido como inno_db para conectar las tablas para que realice las acciones en cascada o como se definan.

En el caso de los datos tipo y contrato se puede usar un enum.

Con respecto al JOIN puedes leer un poco en la página de MySQL sobre su sintáxis y los modos de unión.

http://dev.mysql.com/doc/refman/5.0/es/join.html

Espero y me haya explicado bien, si no me consultas que para eso estamos.

Saludos!!!

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 09 Ene 2013 06:10 pm
Hola y gracias por contestar :wink: lo que hice hasta el momento fue crear dos tablas, una es “localidades” donde se guardan todas las ciudades donde pertenecen las casas y apartamentos, la otra tabla con el nombre de “inmuebles” donde esta toda la información detallada de cada vivienda mas un campo que se llama “id_localidad” que es el id de la tabla “localidades” para hacer la relación de tablas.

Pero ahora tengo otra pequeña duda, le agregue al sitio un buscador compuesto por 3 <selecet>. En uno elegís si estas buscando casa o apartamento, en el otro elegís si buscas venta o alquiler y en el ultimo en que zona lo queres, al apretar el botón “Buscar” se ejecuta la siguiente sentencia SQL:

SELECT * FROM localidades INNER JOIN inmuebles ON localidades.id = inmuebles.id_localidad WHERE tipo=$_POST['tipo'] AND zona=$_POST['zona'] AND contrato=$_POST['contrato']";

Tipo = departamento o casa.
Zona = ubicacion del inmueble.
Contrato = venta o alquiler.

La pregunta que me hago es si estará bien planteada esta consulta, por ahora hice un par de pruebas y parece funcionar perfectamente pero la veo media rara, tal vez sea impresión mia. :?

Y una ultima preguntita ^^ , al ingresar los datos en la tabla “inmuebles”, como hago para rellenar el campo de “id_localidades”, tengo que hacer llegar este dato por medio del PHP o hay algo de SQL que me lo rellene automáticamente.

:wink: :wink:

Por tabam

14 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 09 Ene 2013 10:55 pm
Con respecto a la busque lo recomendable es utilizar:

Código PHP :

LIKE %$_POST['var']%

en la consulta SQL (Busca más un poco más en internet).

Ese campo lo tienes que llenar con las localidades que tengas en la DB, yo lo que hago es usar un select y en el value coloco el id de la localidad y eso lo guardo en la DB.

Saludos!! :)

Por danmoracr

Claber

128 de clabLevel

1 tutorial

Genero:Masculino  

Web application developer

firefox
Citar            
MensajeEscrito el 10 Ene 2013 12:46 pm
Por favor, valida los campos...

Saludos

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.