Comercio Electrónico de la UOC. Base de datos de una tienda virtual con stored procedures y stored functions de MySQL

La asignatura de Comercio Electrónico de la UOC (Universitat Oberta de Catalunya) se basa, entre otros, en comprender los sistemas que componen una arquitectura de comercio electrónico, entender las diferentes modalidades de comercio electrónico y obtener un conocimiento de los aspectos legales de esta rama de la Informática.

En su vertiente más práctica, esta materia estudia los aspectos relacionados con la seguridad informática -criptografía, firmas digitales, funciones hash, certificados digitales, infraestructura PKI, etc.- y el diseño e implementación de bases de datos de sistemas business to customer (B2C). Como colofón, supone que tienes unos conocimientos básicos de programación Web, concretamente, HTML, CSS, JavaScript, MySQL y PHP.

El Comercio Electrónico de la UOC no es una asignatura tan sencilla como puede parecer en un primer momento; en las pruebas de evaluación continua y en la práctica final hay que implementar una tienda virtual con estas tecnologías. El artículo de hoy muestra el enunciado de la práctica final de la asignatura de Comercio Electrónico de la Universitat Oberta de Catalunya (otoño de 2011) para que conozcas un poquito mejor el funcionamiento de este centro y puedas hacerte una idea de la dificultad de las pruebas prácticas finales. Además, también resuelve la parte más importante de uno de los módulos funcionales de esta práctica final: el diseño y la implementación MySQL del segundo módulo funcional (te invito a que leas el enunciado de la práctica para que entiendas mejor a qué me estoy refiriendo), el mantenimiento del catálogo de los productos del sistema B2C que hay que hacer.

Como digo, el post de hoy te ofrece el script MySQL que resuelve la gestión del catálogo de la tienda virtual de la práctica final de la asignatura de la UOC Comercio Electrónico. ¡Lo más interesante es que se pide que las operaciones de gestión se programen con procedimientos almacenados MySQL! Es decir, hay que implementar el API de las operaciones en el mismo RDBMS. ¿Qué te parece a ti, programador más experimentado que lees este artículo, esta idea? Este artículo de Tony Marston, Stored Procedures are EVIL, abre el hilo del debate, ¿es una buena idea definir el API de las operaciones en el mismo servidor de bases de datos?

En cualquier caso, allá va el enunciado de la práctica (en cursiva). Por favor, fíjate que hay cuatro apartados a resolver: mantenimiento del catálogo de los productos, consultas del catálogo de productos, gestión de los pedidos, gestión de clientes y autenticación en la zona reservada; sin emgargo, sólo pongo el enunciado del primer apartado, el mantenimiento del catálogo de los productos, que es el que resuelvo.

Práctica de Comercio Electrónico – semestre otoño 11

En este documento se hace una descripción de la práctica de la asignatura de Comercio Electrónico. La práctica consiste en la implementación de una tienda virtual a partir de cuatro módulos funcionales y se basa en la teoría que se ha visto en el módulo “Gestión de la Información” de los módulos didácticos de la asignatura.

La práctica se realizará en grupos de cuatro personas, cada una de las cuales se encargará de la implementación de uno de los módulos funcionales. La práctica está diseñada para que la dependencia entre los módulos funcionales desarrollados por cada miembro del grupo pueda ser mínima, si se quiere, de forma que iréis trabajando juntos para que al final la tienda funcione pero no dependeréis del trabajo de otro compañero para poder continuar con vuestro trabajo.

Introducción

Para la implementación de la tienda necesitaremos trabajar con los siguientes lenguajes:

  • HTML: Lenguaje para programar el front-end de la tienda virtual.
  • SQL: Lenguaje para construir las consultas y los procedimientos del sistema gestor de base de datos (SGBD).
  • PHP: Tecnología de servidor para lograr que ciertas operaciones se ejecuten en el propio servidor (por ejemplo: abrir la base de datos, extraer información, insertar información proveniente de un formulario, etc). Esta tecnología nos permitirá ejecutar los procedimientos almacenados en el SGBD y recoger o enviar las variables necesarias para realizar cada determinada operación.
  • JAVASCRIPT: Lenguaje de guiones, lo utilizaremos en el entorno del cliente ya que es compatible con todos los navegadores.

Es necesario que instaléis en vuestro PC los elementos tecnológicos que acabamos de enumerar para poder trabajar en modo local desde casa y no depender en todo momento de la conexión de red.

Descripción de los módulos funcionales

En este apartado se describen los cuatro módulos funcionales que conforman la práctica.

  • 1. Mantenimiento del catálogo de productos
  • 2. Consultas del catálogo de productos
  • 3. Gestión de los pedidos
  • 4. Gestión de clientes y autenticación en la zona reservada

Recordad que cada uno de los integrantes del grupo debe realizar uno solo de estos módulos y que entre los cuatro miembros del grupo se realizará toda la tienda.

1. Mantenimiento del catálogo de productos

Una de las funcionalidades que debe permitir una tienda virtual es la de poder gestionar la información relativa a los productos. Este mantenimiento se realizará desde una zona de la web privada (intranet), permitiendo a un número reducido de personas (los administradores de la tienda) ejecutar sus funcionalidades. Es la parte de la web en la que el diseño es quizás menos importante ya que no pertenece a la zona pública.

Para la realización de la práctica crearemos un directorio llamado gestión en el que estarán todas las páginas web necesarias. El aspecto de la web de gestión podría ser con menús desplegables desde donde poder acceder a todas las funcionalidades.

Estimad@ amig@ latinoamerican@, te cuento que ando apuradísimo de tiempo y que no he podido traducir el script al castellano, pero como seguro que eres una persona abierta ;-), aprovecho esta ocasión para presentarte, si todavía no lo conoces, el català, el idioma del otro lado del charco con 11,5 millones de hablantes en todo el mundo. En principio, tendrías que entenderlo más o menos como entenderías un texto italiano o portugués escrito, IMHO.

A continuación adjunto el script MySQL que resuelve el mantenimiento del catálogo de los productos. ¡Que lo disfrutes!