Tema 05. Prototipo de una aplicacin de base de datos
Bases de Datos
Marta Elena Zorrilla Pantalen
Rafael Duque Medina DPTO. DE MATEMTICAS, ESTADSTICA Y
COMPUTACIN
Este tema se publica bajo Licencia:
Creative Commons BY-NC-SA 3.0
http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/licenses/by-nc-sa/3.0/es/http://creativecommons.org/licenses/by-nc-sa/3.0/es/
Tabla de contenidos
Introduccin
Base de datos utilizada
Estructura de la aplicacin
Material complementario: formularios con PHP
Bibliografa
Schafer, Steven M. HTML, XHTML y CSS. Anaya
Multimedia, 2010.
Cosentino, Christopher. Gua esencial de PHP. Prentice
Hall, 2001.
Charte Ojeda, Francisco. PHP 5. Gua prctica para
usuarios. Anaya Multimedia, 2005.
3 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Introduccin
A continuacin se presenta el prototipo de una aplicacin
que gestiona la informacin relativa a una empresa de
envos de pizzas a domicilio
La aplicacin est disponible mediante acceso web
Las tecnologas que han sido utilizadas son las siguientes:
HTML/CSS: Lenguajes para mostrar, publicar y dar formato a la
informacin en la web
PHP: Lenguaje para acceder y manipular la informacin de la base de
datos
SQL Server 2008: Sistema Gestor de Base de Datos
4 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Base de datos
La base de datos utilizada almacena toda la informacin
relacionada con la pizzera (clientes, empleados, pedidos,
etc.)
La pizzera no ofrece pizzas establecidas previamente,
como es lo habitual en la mayora de estos negocios
donde se ofertan pizzas cuatro quesos, margarita, etc.
En esta pizzera los clientes deben registrarse en una
aplicacin web y tiene que configurar sus propias pizzas
mediante la seleccin de los ingredientes y la base
5 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Base de datos
Los clientes pueden solicitar a la pizzera un pedido que
debe constar de una o ms pizzas
Un mismo cliente puede realizar varios pedidos y en cada
uno de ellos utilizar un medio de pago distinto (pago en
efectivo, tarjeta de crdito, etc.)
En todo momento es necesario conocer en qu estado se
encuentra el pedido de un cliente (en cocina, el motorista
lo est transportando, ya ha sido entregado, etc. )
6 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Base de datos
Un pizza podr estar formada por varios ingredientes,
pero tendr una nica base
Basescodigo
descripcion
importe
IngredienteDePizzapizza
ingrediente
importe
Ingredientescodigo
descripcion
importe
Pizzascodigo
pedido
base
importeBase
importe
7 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Base de datos
La base de datos almacena la informacin de los pedidos
Es necesario saber qu cliente solicita cada pedido y el
trabajador (personal) de la empresa que gestiona el
pedido
Clientescodigo
nif
nombre
apellido1
apellido2
telefono
calle
numero
letra
piso
puerta
observaciones
localidad
localidadescodigo
nombre
codigopostal
Pedidoscodigo
iva
FechaHoraPedido
FechaHoraServicio
observaciones
estado
cliente
personal
pago
importe
Personalcodigo
nif
nombre
apellido1
apellido2
telefono
calle
numero
piso
puerta
localidad
fechaAlta
fechaBaja
8 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Base de datos
Un mismo pedido puede
incluir ms de una pizza
De cada pedido es preciso
conocer en qu estado se
encuentra
Tambin es necesario
conocer el medio de pago
utilizado para abonar el
importe del pedido
Estados
codigo
descripcion
MediosPago
codigo
descripcion
Pedidoscodigo
iva
FechaHoraPedido
FechaHoraServicio
observaciones
estado
cliente
personal
pago
importe
Pizzascodigo
pedido
base
importeBase
importe
9 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Sistema web
Se ha diseado un sistema web que permite al usuario
gestionar la informacin de todas las tablas de la base de
datos
Este sistema web est diseado como una pgina de inicio
que da acceso mediante hipervnculos a los formularios e
informes programados
Presenta dos tipos de formularios:
Maestros: formularios que permiten al usuario manipular la informacin
de una nica tabla de la base de datos. En nuestro caso slo se ha
programado la gestin de clientes
Maestro-detalle: formularios que permiten al usuario manipular la
informacin de varias tablas
10 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Sistema web: Formulario Maestro
Esta pgina permite gestionar la tabla cliente
Inicialmente muestra la informacin de todos los clientes visualizados de 10
en 10. El funcionamiento de la misma se describe en la imagen
Haciendo clic en el botn que muestra el cdigo del cliente, accedemos a un
formulario donde podemos manipular los datos de ese cliente
Rellenando alguno de estos campos y pulsando en Buscar, filtramos
los clientes por los parmetros que hemos especificado
Con estos
botones
navegamos a
travs
de todos los
clientes
Este enlace
permite
dar
de alta un
nuevo
cliente
11 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Sistema web: Formulario Maestro ( y 2)
Cuando se pulsa sobre el cdigo del cliente (ver imagen previa) aparece
este formulario que permite modificar la informacin del cliente
seleccionado o borrar el registro si fuese necesario
Botn para modificar los datos
del cliente segn lo que se
observa en pantalla
Botn para eliminar el cliente
mostrado en la pantalla
12 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Sistema web: Formulario maestro-
detalle
Este formulario permite modificar la informacin de tres tablas: pedidos,
pizzas e ingredientes de pizza para que sea tratado todo como una unidad
En primer
lugar
identificamos
al cliente
Damos de alta
un nuevo
pedido con
una o varias
pizzas y sus
respectivos
ingredientes
13 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Organizacin de los mdulos
programados
La aplicacin se ha estructurado en tres mdulos:
Carpeta CSS: Incluye el archivo style.css con el formato que tendr la
interfaz de usuario (color de los textos, tipo de letra utilizado, etc.)
Carpeta principal: Incluye varios archivos:
El archivo header.php incluye el men de la pgina web con los hipervnculos
para navegar entre pginas
El archivo funciones.php incluye las funciones para acceder a la base de datos
y manipular la informacin de todas las tablas (todas las funciones estn
comentadas para facilitar su uso)
El archivo generaFacturaPDF.php incluye una funcin para generar en fichero
PDF la factura de un pedido
Carpeta tcpdf: Es una librera con soporte adicional para crear archivos
pdf (es invocada por generaFacturaPDF.php)
14 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Instalacin de la aplicacin
Para instalar y ejecutar correctamente la aplicacin hay que
seguir los siguientes tres pasos:
1. Instalacin del paquete XAMPP y SQL Server 2008 (ver las
instrucciones en las diapositivas correspondientes)
2. Descomprimir el contenido del archivo pizerria.zip que contiene los
archivos de la aplicacin en la carpeta httdocs creada por el paquete
XAMPP durante su instalacin
3. Ejecutar el script pizzeria.sql en SQL Server 2008 para crear la base de
datos e insertar la informacin en las tablas
4. Es necesario actualizar los scripts PHP modificando la funcin que
gestiona la conexin a la base de datos ya que ser necesario
especificar los datos (servidor, login, password, etc.) que posibilitan la
conexin
5. Arrancar la aplicacin abriendo un navegador y escribiendo
http://localhost/pizzeria/index.php
15 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
http://localhost/pizzeria/index.php
Instalacin de la aplicacin (y 2)
La funcin conectar incluida en el archivo funciones.php gestiona la conexin
a la base de datos
En caso de utilizar la autentificacin integrada de Windows nicamente hay
que especificar el servidor donde se ubica el SGBD y la base de datos a la
que queremos conectarnos
Base de
datos
Servidor
16 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Instalacin de la aplicacin (y 3)
En caso de utilizar la autentificacin de SQL Server hay que especificar el
servidor donde se ubica el SGBD, la base de datos a la que queremos
conectarnos, el login y la password del usuario
Base de
datos, login
y password
Servidor
17 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Material complementario: formularios
con PHP
Esta aplicacin sirve de modelo para crear otra aplicacin web
de estas caractersticas ya que ilustra cmo utilizar
formularios, mostrar informacin y llevar a cabo el acceso y
manipulacin a informacin en una base de datos
Sin embargo, HTML y PHP permiten utilizar formularios
adicionales a los que se han usado en esta aplicacin, los
formularios ms comunes se repasan a continuacin
18 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Acceso a formularios con PHP
Los formularios web permiten introducir informacin que ser
almacenada o buscada en la base de datos
19 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Acceso a formularios con PHP
Cmo implementar formularios con PHP?
Dentro de la etiqueta form de html que permite definir formularios hay que
especificar dos atributos:
Action: Especifica el nombre del script php que gestionar la informacin del
formulario
Method: Toma valor post para evitar que la informacin que se suministra
mediante el formulario aparezca como parte de la URL
Usamos el botn submit que permite al usuario notificar al servidor que ha
finalizado de introducir la informacin en el formulario
Archivo cliente.php
Nombre:
20 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Acceso a formularios con PHP
Archivo servidor.php
Cmo implementar formularios?
Dentro del script implementado accedemos y gestionamos la
informacin introducida por el usuario
En este ejemplo se visualiza en el navegador el valor introducido
por el usuario
$POST: Coleccin
de elementos
enviados desde
mtodo post
21 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Formularios tipo TEXT
Introduzca su apellido:
..
.
Los formularios de tipo text permiten al cliente introducir
cadenas de texto
22 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Formularios tipo RADIO
Formularios tipo CHECKBOX
climatizador
CD
Los formularios de tipo checkbox permiten al cliente seleccionar
distintas opciones
24 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Formularios tipo PASSWORD
Introduzca la password de acceso al sistema:
Opel
Renault
Formularios tipo SELECT SIMPLE
Este tipo de formularios slo muestran un elemento al usuario
que usa una lista desplegable para ver el resto
26 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria
Formularios y PHP: SELECT MULTIPLE
renault
seat
Formularios tipo TEXTAREA
Escriba aqu sus sugerencias
El formulario textarea tiene un funcionamiento anlogo al
formulario text, pero con capacidad para varias lneas
28 2011 Marta Zorrilla y Rafael Duque- Universidad de Cantabria