bd - tema5.1 - prototipo de una aplicacion de bd

28
Tema 05. Prototipo de una aplicación de base de datos Bases de Datos Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN Este tema se publica bajo Licencia: Creative Commons BY-NC-SA 3.0

Upload: nilas-arcanister

Post on 18-Nov-2015

247 views

Category:

Documents


2 download

DESCRIPTION

BD - Tema5.1 - Prototipo de Una aplicacion de Base de Datos

TRANSCRIPT

  • 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

    email

    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