Examen de Java Web
Desarrollar una aplicación, que mediante logueo encriptado se pueda ingresar para hacer
operaciones en la base de datos.
La pantalla principal de logueo sería (3 puntos si permite la autenticación):
El script para loguearse sería:
CREATE TABLE `usuarios` (
`idusuario` int(11) NOT NULL AUTO_INCREMENT,
`apellidos` varchar(50) NOT NULL,
`nombres` varchar(50) NOT NULL,
`usuario` varchar(20) NOT NULL,
`password` tinyblob NOT NULL,
`autorizacion` varchar(10) NOT NULL COMMENT 'ADMIN / CLIENT',
PRIMARY KEY (`idusuario`),
UNIQUE KEY `IDX_usuarios_2` (`apellidos`,`nombres`),
UNIQUE KEY `IDX_usuarios_3` (`usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Y los usuarios a ingresar serán ADMIN (administrador) y CLIENT (cliente)
Al ingresar, el administrador podría hacer estas operaciones en las 2 tablas:
1. Por 8 puntos:
a. Ingresar nuevo producto (stock debe ser CERO, no se ingresa, pero guarda 0)
b. Retirar productos
c. Actualizar datos de producto (menos stock, no debe poder realizar cambios en
stock, pero si se muestra)
d. Consulta de todos los datos del producto
2. Por 6 puntos
a. Ingresar movimiento (si tipo es venta, debe incrementar el stock de tabla
productos. Si tipo es compra debe restar stock, pero nunca deberá dejar que sea
menor que CERO el stock)
El script de las tablas es el siguiente:
CREATE TABLE `productos` (
`idproducto` int(11) NOT NULL AUTO_INCREMENT,
`producto` varchar(50) NOT NULL,
`comentario` varchar(50) DEFAULT NULL,
`stock` int(11) NOT NULL,
PRIMARY KEY (`idproducto`),
UNIQUE KEY `IDX_productos_2` (`producto`)
) ENGINE=InnoDB DEFAULT CHARSET= utf8;
# GO
CREATE TABLE `movimientos` (
`idmovimiento` int(11) NOT NULL AUTO_INCREMENT,
`idproducto` int(11) NOT NULL,
`tipo` varchar(50) NOT NULL,
`fecha` date NOT NULL,
`cantidad` int(11) NOT NULL,
PRIMARY KEY (`idmovimiento`),
KEY `FK_movimientos_1` (`idproducto`),
CONSTRAINT `FK_movimientos_1` FOREIGN KEY (`idproducto`) REFERENCES `productos`
(`idproducto`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Al ingresar, el cliente podrá ver una consulta a productos y movimientos (las 2 tablas). Usted crea
la consulta que crea conveniente (3 puntos). Considere que la consulta deberá ser paginada
Las pantallas del administrador y del cliente deben presentar su respectivo menú. Solo como
ejemplo: