Web de Bienes Raíces o Inmobiliarias – Parte 1, Base de Datos

by Jorge Oyhenard - 16 Junio 2008

Apache, PHP and MySQL

Mini Curso Tutorial de PHP y MySQL

Veamos paso a paso, el razonamiento para crear una Aplicación Web de manejo de Bienes Raíces o Inmobiliarias realizado de forma práctica y utilizando PHP y MySQL.

Hace tiempo que en el foro (www.forocreativo.net) varios usuarios quieren aprender a utilizar PHP, y como es un lenguaje que me gusta, decidí realizar este mini curso práctico que los ayudara a aprender con un caso práctico. Este caso práctico será una Web de Inmobiliarias o Bienes Raíces como se le llama en otros lugares del Mundo.


Es importante aclarar que este es un ejercicio realizado con la finalidad de enseñar de manera práctica las posibilidades de PHP como lenguaje para realizar Webs dinámicas y MySQL como base de datos. En un caso real deberíamos tener más controles y un análisis más profundo de la base de datos, los cuales no son parte de este curso, pero con gusto contestaremos dudas adicionales en nuestro foro.

Estructura de la Base de Datos

Existen básicamente dos formas de hacer una Web de Inmobiliaria. Una de ellas es crear los HTML del sitio y una página por cada propiedad, siendo estas fijas y obligando a escribir manualmente una archivo HTML por cada propiedad. Esto no es recomendable para un negocio real en donde se compran, venden, agregan y rentan propiedades a diario o semanalmente. Por lo tanto mi sugerencia es hacerlo en forma dinámica.

Un sitio dinámico sería tener una Base de Datos con todas las propiedades, y que en esa base de datos se agreguen, o marquen como vendidas o rentadas las que ya no deben aparecer en la Web. Para ello usaremos una base de datos MySQL.

Esa base de datos MySQL la leeremos con una pagina PHP (no HTML) que automáticamente lee cada propiedad y la muestra repitiendo esa pagina para cada propiedad sin tener que hacerla manualmente uno por vez, esta es la gran ventaja de realizar sitios de esta forma.

Por definición, una Base de Datos es un Conjunto de Información, lo son las fichas de papel que tenían en algunas oficinas (antiguas o actuales quedadas en el tiempo) y lo son las que por medio de la informática podemos almacenar en nuestras computadoras. En este caso ese conjunto de información lo tendremos almacenado en nuestra base de datos en el Servidor, la cual será almacenada y gestionada por el Motor de Base de Datos MySQL, que es por otra parte el que mejor se lleva con PHP y le mejor elección para estos casos.

Ese conjunto de información debe tener lo que se llama Estructura. La estructura es la forma en que se organiza la información, para saber la estructura debemos ver que datos deseamos almacenar, a esto se le llama Análisis de Bases de Datos, que en aplicaciones de gran tamaño lleva su tiempo, y se requiere de ciertos conocimientos y practica para desarrollar la misma ya que es lo que puede facilitar o complicar la aplicación en el futuro, o que esta sea más o menos posible de ampliar para nuevos fines.

Como dijimos, este tutorial es para ilustrar el funcionamiento de PHP y MySQL, no para crear analistas o ingenieros de software, por tanto lo haremos de manera sencilla.

¿Qué datos vamos a manejar en la Web?

Obviamente vamos a manejar una lista de Propiedades, estas propiedades van a tener datos como Metros Cuadrados, Baños, Habitaciones, Precio, Ubicación, o Ciudad, etc., además del Precio de Venta, o Renta, entre otros datos que podrán agregar en cada caso si lo desean.


De los datos mencionados tenemos que pensar como llenaríamos los mismos, por ejemplo si es una caja de texto, una lista desplegable, etc. Los metros cuadrados, los baños, las habitaciones, pueden ser cajas de texto simples.

El precio depende del tipo de propiedad, o sea si es una propiedad en venta tendrá un precio de venta, pero si es para renta mensual tendrá otro precio. En este punto es bueno entonces que tengamos 3 datos:

  • Precio de Venta
  • Precio de Renta

Y otro que indique el Tipo de Propiedad, que puede ser:

  • Venta
  • Renta
  • Ambos

Ya que puede ser para venta y/o renta.

La ubicación puede ser una lista desplegable de ciudades formada por las ciudades de la zona donde esta nuestra inmobiliaria, en este caso es mejor prevenir que se ingresen los mismos datos de diferente forma, por ejemplo que un operario ingrese como “Santa Lucia”, otro como “Ciudad de Santa Lucia” y otro como “St Lucia”, es por eso que mi sugerencia es usar una lista de ciudades que estarán previamente almacenadas en la Base de Datos y se mostrarán en una lista desplegable al ingresar cada propiedad. Esta lista de ciudades puede ser ampliable o modificarse en futuro, por tanto así como las propiedades ocupara otra Tabla, de la base de datos.

¿Qué es una tabla ?

La base de datos como dijimos, es el conjunto de toda la información de nuestra Web de Bienes Raíces. Dicha base esta dividida en Tablas, cada tabla representa un grupo de información. Hasta ahora tenemos pensadas dos Tablas:

Propiedades, que almacena la lista de propiedades, se podrán agregar, modificar y eliminar a gusto.

Ciudades, que almacena la lista de ciudades, también se podrán agregar, modificar y eliminar a gusto.

¿Qué son los campos?

Como dijimos, la Base de Datos esta formada por Tablas que agrupan los datos, y a su vez, cada Tabla estará formada por Campos. Los Campos son cada uno de los datos que identifican un elemento de la Tabla. Por ejemplo hemos mencionado ya los campos, metros cuadrados, baños, habitaciones, precio, etc.

¿Qué son los registros

Los Registros son los elementos almacenados en cada Tabla, por ejemplo cada propiedad ocupará un registro y cada ciudad también será un registro.

Esquemáticamente la cosa quedaría así, ya con sus nombres, los cuales es mejor no tengan espacios ni símbolos:

Base de datos: Inmobiliaria

Tablas:
Propiedades

  • Id
  • Titulo
  • MtsCuadrados
  • Baños
  • Habitaciones
  • idCiudad
  • PrecioVenta
  • PrecioRenta
  • TipoInmueble
  • Descripción
  • FechaIngreso

Ciudades

  • Id
  • Nombre

Como vemos, he agregado en cada tabla un campo Id, este campo será un número que identifique cada elemento de manera única. Esto se realiza así para facilitar más adelante la programación del sitio y la búsqueda de información.

En el caso de la tabla Propiedades, vemos un campo idCiudad, que no será otra cosa que el número de ciudad en la lista. Esto es para ahorrarnos de guardar nuevamente el nombre, basta solo con guardar el número de referencia de la otra Tabla Ciudades.

Por acá terminamos con esta primera entrega, en la próxima veremos como crear la base de datos y las tablas en el MySQL, por medio de phpMyAdmin que pueden ver como instalar en sus PC en este tutorial:

Instalación de AppServ

One Comment on “Web de Bienes Raíces o Inmobiliarias – Parte 1, Base de Datos”

  1. Codespanish » Blog Archive » Mini PHP and MySQL course Says:

    […] MySQL Database with PHP: learn step by step the logic to create a web application using PHP and MySQL. […]

Leave a Reply