Ejemplo BD Con phpMyAdmin Parte 1-10-PHPMYSQL PDF
Ejemplo BD Con phpMyAdmin Parte 1-10-PHPMYSQL PDF
Veamos paso a paso, el razonamiento para crear una Aplicación Web (la Base de Datos por
el momento) de manejo de Venta de Inmuebles o Inmobiliarias, realizado de forma
practica y utilizando MySQL.
Existen básicamente dos formas de hacer una Web de Inmobiliaria, una es crear los
HTML, del sitio y una pagina por cada propiedad, siendo estos fijos, y obligando a crear
manualmente una página por cada propiedad. Esto no es recomendable para un negocio
real donde compran, venden, se agregan y rentan propiedades a diario o semanalmente y
por tanto mi sugerencia es hacerlo dinámico.
Un sitio dinámico seria 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 esto usaremos una base MySQL.
Esa base de datos MySQL la leeremos en Internet 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 (esto en otra practica futura).
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.
Como dijimos, esta asignatura es para ilustrar el funcionamiento de PHP y MySQL, no para
crear analistas o ingenieros de software, por tanto lo haremos de manera sencilla.
Obviamente vamos a manejar una lista de Propiedades, estas propiedades van a tener
datos como Metros Cuadrados, Baños, Habitaciones, Precio, Ubicación o Població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
Venta
Renta
Ambos
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 mostraran 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.
Instructor Moisés García Vargas
Programación - Base de Datos
Que es una tabla ¿?
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 identifica un elemento de la Tabla. Por ejemplo hemos mencionado ya los campos,
metros cuadrados, baños, habitaciones, precio, etc.
Los Registros son los elementos almacenados en cada Tabla, por ejemplo cada propiedad
ocupara 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:
Tablas:
Propiedades
o Id
o Titulo
o MtsCuadrados
o Baños
o Habitaciones
o idCiudad
o PrecioVenta
o PrecioRenta
o TipoInmueble
o Descripción
Instructor Moisés García Vargas
Programación - Base de Datos
o FechaIngreso
Ciudades
o Id
o 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 mas
adelante la programación del sitio y la busqueda de información.
En el caso de la tabla Propiedades, vemos un campo idCiudad, que no será otra cosa que
el numero de ciudad en la lista, esto es para ahorrarnos de guardar nuevamente el
nombre, basta solo con guardar el numero de referencia de la otra Tabla Ciudades.
Igual pueden revisar el archivo leame.txt que esta en el escritorio de la maquina virtual y
ahí encontraran las claves de los productos que vamos a utilizar en la materia.
Vamos a dar click en el primer link que dice phpMyAdmin Database Manager, ya que
este, como su nombre lo indica nos permitiráAdministrar las Bases de Datos MySQL de
nuestro PC o Servidor si estamos trabajando on line.
En este punto nos pedirá el nombre de usuario y contraseña del MySQL, esto lo
configuramos al momento de instalar MySQL con appserv, wamp, xampp, etc.
Si miran arriba a la izquierda varemos un icono con una casita que nos permitirá
regresar a esta página inicial del phpMyAdmin.
Debajo dice Base de Datos, ahí veremos la lista de Bases de Datos que hay en nuestro
PC en el MySQL (o en el hosting), con esta lista podemos seleccionar cualquiera de ellas
para trabajar.
En este caso no tenemos aun ninguna Base de Datos creada para nuestra Inmobiliaria, por
eso vamos a ir al centro de la página y donde dice: Crear nueva Base de Datos,
escribiremos “inmobiliaria” y daremos Crear. De esta forma logramos tener la Base de
Datos Inmobiliaria que mencionamos en la primera parte de esta práctica. Esta aparecerá
en la parte izquierda, como indica la siguiente imagen y en la parte central nos sugiere
ya Crear las Tablas que contendrá esta Base de Datos (recordemos que eran
Propiedades y Ciudades).
Instructor Moisés García Vargas
Programación - Base de Datos
Crear la Tabla Propiedades
Sin mas demora, en donde dice Crear nueva Tabla en la Base de Datos inmobiliaria,
escribiremos de nombre “propiedades” y en número de campos 20 (no importa que luego
sobren, es mejor poner de mas), y le damos Continuar.
Nos aparecerá una serie de 20 cajas de texto para ingresar el Nombre de cada Campo,
el Tipo del Campo y la longitud del campo.
Las Bases de Datos, para clasificar la información permiten indicarle que Tipo de
Datos contendrá cada Campo, a esto se le llama Tipo del Campo, y dependerá si es un
valor numérico sin decimales, un valor numérico con decimales, un valor de texto corto,
un valor de mucho texto, o una fecha, veremos en cada caso el apropiado.
Debemos Ingresar los Campos como indica la siguiente imagen, con sus Nombres y
Tipos, es importante tener en cuenta si usamos o no mayúsculas ya que el PHP lo
diferenciara y puede dar problemas. En mi caso no uso nunca mayúsculas, escribo todo en
minúsculas.
Instructor Moisés García Vargas
Programación - Base de Datos
Como ven, para el id, utilice el tipo INT, que indica un valor numérico sin decimales, esto
me permitirá identificar cada Propiedad.
En los campos titulo, mtscuadrados, banos, habitaciones, utilice VARCHAR con un largo
de 255, esto permitirá números, letras o símbolos hasta un ancho máximo de 255, es un
poco mucho pero el Control del Largo lo haremos en las Cajas de Texto al ingresar cada
propiedad, ya que el VARCHAR, a pesar de tener largo 255 prevé ese máximo pero no lo
ocupa todo. Si adentro guardamos solo un titulo “casa en la playa”, gastara solo 16 bytes
o caracteres.
Vean también que no escribí “baños” si no “banos” para no utilizar símbolos, ni tampoco
use espacios.
Otra cosa es que si bien habitaciones contendrá un número, no utilice INT, si no
VARCHAR, yo uso como regla que si el número no se usa para búsquedas directas u
operaciones matemáticas le asignare de tipo VARCHAR.
Instructor Moisés García Vargas
Programación - Base de Datos
En precioventa y preciorenta utilice DOUBLE, que permite guardar números con
decimales.
En tipoinmueble, use numérico INT para guardar en él, un 1 para casas en Venta, 2
para casas en Renta y un 3 si es ambos casos, o sea cada tipo de inmueble tendrá ese
código numérico que lo identifica.
En descripcion, utilice TEXT ya que es un texto amplio que puede ser de 10 o 100 o 500,
o más por tanto excede el máximo de un VARCHAR que son 255, y se aplica mejor un
campo TEXT, que es virtualmente ilimitado.
Por ultimo en fechaingreso, donde se guardara la fecha en que esa propiedad se ingresa
al sistema, utilice el tipo DATE, que permite guardar una fecha.
Como dijimos, el id, será el Campo que Identifica la Propiedad, a estos campos usados
para identificar registros (registro = cada una de las propiedades), se le llama Índice. Un
índice, permite acelerar las búsquedas cuando hay muchos Registros, o sea muchas
Propiedades en la Tabla.
Si prestamos atención abajo dice, No se ha definido el índice!, bien, hagámoslo. Para esto
donde dice Crear un índice en 1columna(s), damos en el botón Continuar.
Instructor Moisés García Vargas
Programación - Base de Datos
Veremos entonces, que id, queda subrayado (I) indicando que es un Índice, también
abajo en la Lista de Índices (II) esta el PRIMARY por Campo id.
Y de esta forma tenemos lista nuestra primer Tabla, llamada propiedades, en nuestra
Base de Datos llamada inmobiliaria.
Luego escribimos el Nombre de la Tabla a Crear, en este caso “ciudades” (imágen II), y
la cantidad de campos (imágen III), por ejemplo 10, y damos Continuar.
Instructor Moisés García Vargas
Programación - Base de Datos
Esta tabla, como vemos en la imagen, tendrá solo 2 campos, que son id, de tipo INT y
el nombre de la ciudad de tipo VARCHAR, de 255 de largo. Presionamos luego, Grabar.
Nos mostrara, que No se ha definido índice!, para crear el índice por id,
damos Continuar.
Indicamos que el índice será por id, de tipo PRIMARY y damos Grabar.
Seleccionamos cambiar (en el lapicito bajo Acción), para indicar nuevamente que id,
será un campo que AutoIncrementa, tal como hicimos en la tabla propiedades.
Y con esto tendríamos listas las 2 tablas necesarias para nuestra aplicación Web de Venta
de Inmuebles o Inmobiliarias.
Instructor Moisés García Vargas
Programación - Base de Datos
En nuestro navegador Internet Explorer, o mejor aun FireFox, vamos a cargar la siguiente
dirección:
http://localhost
Esta opción nos permite, agregar Registros en nuestra Tabla Actual, que es ciudades, ahí
veremos la siguiente imagen, donde podremos escribir 1 o 2 registros. No es necesario
llenar los 2, bastaría con ingresar una sola ciudad. Pero en este caso escribí “Madrid” y
“Montevideo” así llenamos 2 de 1 vez.
Programación - Base de Datos
Vean que no ingrese el numero de id, ya que como recordamos, al crear la tabla, este fue
definido como un AutoNumerico, o sea que Incrementa Automático cada vez que
ingresamos algo. Bien, luego de ingresado vamos a presionar Continuar (I). Al presionar
Continuar (I), volveremos a la lista de datos de la Tabla, o quedara listo
para Insertar mas datos, esto depende del cuadro desplegable que dice “Volver” (I). Si
damos click en la lista desplegable de “Volver” veremos las opciones que indica la
imagen:
Las dos opciones, son: Volver, que regresa a la lista de registros e Insertar un nuevo
registro, que vuelve a esta página de Ingreso para seguir agregando más registros. De
esta forma podemos ingresar tantas ciudades como queremos.
En la parte superior, veremos dos opciones que son Examinar o Estructura, como indica
la imagen:
Estructura, muestra como vimos hace unos momentos, los campos de la Tabla,
los Índices y el Numero de Filas ingresadas.
Instructor Moisés García Vargas
Programación - Base de Datos
Examinar, mostrara la lista de registros ingresados, en nuestro caso, serán las ciudades,
como muestra la imagen:
En la imagen anterior vemos como se muestran las ciudades ingresadas, cada una con el
nombre que le dimos, y verán también que fueron numeradas automáticamente en el id,
ya que como recordamos este es AutoNumerico.
Veamos también que en cada Registro, hay dos iconos, un lápiz y una cruz (I).
El lápiz, permite Modificar o Editar ese Registro, por ejemplo para cambiar a mayúsculas
de la primera letra de cada ciudad ;) que a propósito la deje en minúsculas para que
ahora ustedes prueben Editar una por una.
La cruz (I) permite Eliminar la ciudad que quieran, basta con dar un click en el icono X y
luego Confirmar.
Instructor Moisés García Vargas
Programación - Base de Datos
En algunos casos, puede ser necesario Editar o Eliminar, más de un Registro, para esto
tenemos los Cuadros de Selección (II), donde podrán elegir cuales Registros vamos
a Eliminar o Editar. Luego de seleccionados los 1, 3, 20 o 10 registros con un simple click,
para Editar o Eliminarlos, vamos a los iconos de la parte derecha (III), que nos permiten
justamente, Editar o Eliminar los Registros Seleccionados.
Como estamos en la Tabla ciudades, debemos cambiarnos, para esto vamos a dar click a
la derecha en propiedades, donde indica la imagen.
En tiponimueble veremos un 3 que significa que la casa esta tanto para venta como para
renta (recuerden que 1 es venta, y 2 es renta). Esto lo convenimos así para facilitar el
sistema.
Por ultimo la fecha debe ser escrita en ese formato año-mes-dia, cuatro dígitos del año,
guión, 2 dígitos del mes, guión 2 dígitos del día, o damos click en el incono calendario y
seleccionamos con otro click, la fecha correspondiente.
Ok, hasta este punto podemos ver terminado nuestra Base de Datos para una Venta de
Inmuebles, seguramente ustedes pueden mejorarla si a mi se me ha escapado algun
detalle.
Por favor hagan esta practica y lleven esta BD en sus maquinas virtuales pues mas
adelante cuando comencemos a trabajar con PHP la utilizaremos para hacer unos
ejercicios de conexión de PHP con MySQL.