You are on page 1of 28

Bases de Datos

Tema 05. Prototipo de una aplicacin de base 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

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.

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:

2011

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

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

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. )

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
Ingredientes
codigo
descripcion
importe

Pizzas
codigo
pedido
base
importeBase
importe

IngredienteDePizza
pizza
ingrediente
importe

Bases
codigo
descripcion
importe

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
Personal

Clientes

codigo
nif

codigo

nombre

nif

apellido1

nombre

codigo

Pedidos

apellido2

localidades

apellido1

iva

telefono

codigo

apellido2

FechaHoraPedido

email

nombre

telefono

FechaHoraServicio

calle

codigopostal

calle

observaciones

numero

numero

estado

piso

letra

cliente

puerta

piso

personal

localidad

puerta

pago

fechaAlta

observaciones

importe

fechaBaja

localidad

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

Base de datos

Un mismo pedido puede


incluir ms de una pizza

Pedidos
codigo

Estados

iva

codigo

FechaHoraPedido

descripcion

FechaHoraServicio

De cada pedido es preciso


conocer en qu estado se
encuentra

observaciones
estado
cliente

MediosPago

personal

codigo

pago

descripcion

importe

Pizzas

Tambin es necesario
conocer el medio de pago
utilizado para abonar el
importe del pedido

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

codigo
pedido
base
importeBase
importe

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:

2011

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
Marta Zorrilla y Rafael Duque- Universidad de Cantabria

10

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
Rellenando alguno de estos campos y pulsando en Buscar, filtramos
los clientes por los parmetros que hemos especificado

Este enlace
permite
dar
de alta un
nuevo
cliente

Haciendo clic en el botn que muestra el cdigo del cliente, accedemos a un


formulario donde podemos manipular los datos de ese cliente
2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

Con estos
botones
navegamos a
travs
de todos los
clientes
11

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

2011

Botn para eliminar el cliente


mostrado en la pantalla

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

12

Sistema web: Formulario maestrodetalle

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

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

13

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:

2011

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)

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

14

Instalacin de la aplicacin

Para instalar y ejecutar correctamente la aplicacin hay que


seguir los siguientes tres pasos:
1.
2.

3.
4.

5.
2011

Instalacin del paquete XAMPP y SQL Server 2008 (ver las


instrucciones en las diapositivas correspondientes)
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
Ejecutar el script pizzeria.sql en SQL Server 2008 para crear la base de
datos e insertar la informacin en las tablas
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
Arrancar la aplicacin abriendo un navegador y escribiendo
http://localhost/pizzeria/index.php
Marta Zorrilla y Rafael Duque- Universidad de Cantabria

15

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

Servidor
Base de
datos

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

16

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

Servidor

Base de
datos, login
y password

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

17

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

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

18

Acceso a formularios con PHP

Los formularios web permiten introducir informacin que ser


almacenada o buscada en la base de datos

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

19

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
<html>
<body>
<form action="servidor.php" method="post">
Nombre: <input type="text" size="20" name="nombre"/>
<input type="submit" value="enviar"/>
</form>
</body>
</html>

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

20

Acceso a formularios con 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
Archivo servidor.php
<HTML>
<BODY>
<?PHP
echo "su nombre es: ";
echo $_POST["nombre"];
?>
</BODY>
</HTML>

2011

$POST: Coleccin
de elementos
enviados desde
mtodo post

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

21

Formularios tipo TEXT

Los formularios de tipo text permiten al cliente introducir


cadenas de texto

Introduzca su apellido:
<input type="text" name="apellido" size="20"/>

..
.

<?PHP
echo "su apellido es: ";

echo $_POST["apellido"];
?>

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

22

Formularios tipo RADIO

Los formularios de tipo radio permiten al cliente seleccionar


una opcin de entre varias

<INPUT TYPE="radio" NAME=coche" VALUE=opel>opel

<INPUT TYPE="radio" NAME="coche" VALUE="renault">renault


<INPUT TYPE="radio" NAME="coche" VALUE="seat">seat
<?PHP
echo "Su coche es:";

echo $_POST["coche"];
?>

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

23

Formularios tipo CHECKBOX

Los formularios de tipo checkbox permiten al cliente seleccionar


distintas opciones

<INPUT TYPE="checkbox" NAME=opciones[]" VALUE=climatizador" CHECKED>


climatizador
<INPUT TYPE="checkbox" NAME=" opciones[]" VALUE=elevalunas"> elevalunas
<INPUT TYPE="checkbox" NAME=" opciones[]" VALUE=CD">CD

<?PHP
$auxiliar=$_POST["opciones"];

$n=count($auxiliar);
echo "Estas son las opciones";

echo "<br>";
for ($i=0; $i<$n; $i++) {

echo $auxiliar[$i];
echo "<br>"; } ?>
2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

24

Formularios tipo PASSWORD

El formulario password tiene un funcionamiento anlogo al


formulario text
En este caso la informacin que introduce el usuario no se
muestra en el navegador por motivos de seguridad

Introduzca la password de acceso al sistema:

<INPUT TYPE="password" NAME="password />

<?PHP

echo "la password introducida es: ";


echo $_POST["password"];

?>
2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

25

Formularios tipo SELECT SIMPLE

Este tipo de formularios slo muestran un elemento al usuario


que usa una lista desplegable para ver el resto

<SELECT NAME=coche">
<OPTION VALUE=Opel" >Opel

<OPTION VALUE=Volvo">Volvo
<OPTION VALUE=Renault">Renault

</SELECT>

<?PHP
echo "Su coche es";
echo $_POST["coche"]; ?>
2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

26

Formularios y PHP: SELECT MULTIPLE

Este tipo de formularios muestran un listado con varios


elementos

<SELECT MULTIPLE SIZE="3" NAME="coches[]">


<OPTION VALUE=opel" SELECTED >opel
<OPTION VALUE=renault">renault
<OPTION VALUE=peugeot">peugeot
<OPTION VALUE=seat">seat
</SELECT>
<?PHP
$coche=$_POST ["coches"];
$n=count($coche);
for ($i=0; $i<$n; $i++) {
echo $coche[$i];
echo "<br>; } ?>
2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

27

Formularios tipo TEXTAREA

El formulario textarea tiene un funcionamiento anlogo al


formulario text, pero con capacidad para varias lneas

<TEXTAREA COLS="15" ROWS="5" NAME="sugerencias">


Escriba aqu sus sugerencias
</TEXTAREA>
<?PHP
echo "la sugerencias son: ";
echo $_POST["sugerencias"];
?>

2011

Marta Zorrilla y Rafael Duque- Universidad de Cantabria

28

You might also like