Вы находитесь на странице: 1из 7

TALLER DE IMPLEMENTACIN Y ADMINISTRACIN DE BASE DE DATOS

EXAMEN PARCIAL
Utilizando la siguiente estructura de base de datos:

Creacin de la Base de Datos y restricciones (en PostgreSQL)


CREATE SEQUENCE seq_zona;
CREATE TABLE zona
(
idzona INTEGER DEFAULT NEXTVAL('seq_zona'),
descripcion CHARACTER VARYING(30),
CONSTRAINT zona_PK PRIMARY KEY (idzona)
);
CREATE SEQUENCE seq_categoria;
CREATE TABLE categoria
(
idcategoria INTEGER DEFAULT NEXTVAL('seq_categoria'),
descripcion CHARACTER VARYING(30),
abreviatura CHARACTER(2),
CONSTRAINT categoria_PK PRIMARY KEY (idcategoria)
);
CREATE SEQUENCE seq_cliente;
CREATE TABLE cliente
(
idcliente INTEGER DEFAULT NEXTVAL('seq_cliente'),
nombre CHARACTER VARYING(50),
apellido CHARACTER VARYING(50),
direccion CHARACTER VARYING(100),
idzona INTEGER,
CONSTRAINT cliente_PK PRIMARY KEY (idcliente),
CONSTRAINT cliente_FK_zona FOREIGN KEY (idzona) REFERENCES zona(idzona)
);
CREATE SEQUENCE seq_producto;
CREATE TABLE producto
(
idproducto INTEGER DEFAULT NEXTVAL('seq_producto'),
descripcion CHARACTER VARYING(50),
codigo CHARACTER(5),
preciounitario NUMERIC,
stock INTEGER,
idcategoria INTEGER,
CONSTRAINT producto_PK PRIMARY KEY (idproducto),
CONSTRAINT producto_UK UNIQUE (codigo),
CONSTRAINT producto_CK CHECK(stock>=0),
CONSTRAINT producto_categoria_FK FOREIGN KEY (idcategoria) REFERENCES categoria(idcategoria)
);
CREATE SEQUENCE seq_documentoventa;
CREATE TABLE documentoventa

(
iddocumentoventa INTEGER DEFAULT NEXTVAL('seq_documentoventa'),
numerodocumento CHARACTER(10),
fecha DATE,
subtotal NUMERIC,
igv NUMERIC,
total NUMERIC,
idcliente INTEGER,
CONSTRAINT documentoventa_PK PRIMARY KEY (iddocumentoventa),
CONSTRAINT documentoventa_UK UNIQUE (numerodocumento),
CONSTRAINT documentoventa_cliente_FK FOREIGN KEY (idcliente) REFERENCES cliente(idcliente)
);
CREATE SEQUENCE seq_detalleventa;
CREATE TABLE detalleventa
(
iddetalleventa INTEGER DEFAULT NEXTVAL('seq_detalleventa'),
cantidad INTEGER,
precioventa NUMERIC,
subtotal NUMERIC,
iddocumentoventa INTEGER,
idproducto INTEGER,
CONSTRAINT detalleventa_PK PRIMARY KEY (iddetalleventa),
CONSTRAINT detalleventa_documentoventa_FK FOREIGN KEY (iddocumentoventa) REFERENCES
documentoventa(iddocumentoventa),
CONSTRAINT detalleventa_producto_FK FOREIGN KEY (idproducto) REFERENCES producto(idproducto)
);
CREATE TABLE usuario
(
login CHARACTER VARYING(10),
password CHARACTER VARYING(10)
);

Poblamiento de la Base de Datos.


-- crea usuario
INSERT INTO usuario VALUES ('admin','123');
-- zonas
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO

zona
zona
zona
zona
zona

-- categoria
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO
INSERT INTO

Categoria
Categoria
Categoria
Categoria
Categoria
Categoria
Categoria

(descripcion)
(descripcion)
(descripcion)
(descripcion)
(descripcion)

VALUES
VALUES
VALUES
VALUES
VALUES

(descripcion,
(descripcion,
(descripcion,
(descripcion,
(descripcion,
(descripcion,
(descripcion,

('Zona
('Zona
('Zona
('Zona
('Zona

1');
2');
3');
4');
5');

abreviatura)
abreviatura)
abreviatura)
abreviatura)
abreviatura)
abreviatura)
abreviatura)

VALUES('Comida', 'CO');
VALUES('Bebida', 'BE');
VALUES('Articulo de oficina', 'AO');
VALUES('Muebles', 'MU');
VALUES('Software', 'SW');
VALUES('Hardware', 'HD');
VALUES('Ropa', 'RO');

-- producto
INSERT INTO producto (descripcion, codigo, preciounitario, stock, idcategoria) VALUES('Arroz con
pato','CO001',10,0,1);
INSERT INTO producto (descripcion, codigo, preciounitario, stock, idcategoria) VALUES('Arroz con
cabrito','CO002',15,0,1);
INSERT INTO producto (descripcion, codigo, preciounitario, stock, idcategoria) VALUES('Ceviche de
mero','CO003',10,0,1);

INSERT INTO producto (descripcion, codigo,


VALUES('Parihuela','CO004',12,0,1);
INSERT INTO producto (descripcion, codigo,
mediana','BE001',1,0,2);
INSERT INTO producto (descripcion, codigo,
mediana','BE002',1.5,0,2);
INSERT INTO producto (descripcion, codigo,
mediana','BE003',2.0,0,2);
INSERT INTO producto (descripcion, codigo,
mediana','BE004',1.3,0,2);
INSERT INTO producto (descripcion, codigo,
litro','BE005',3.5,0,2);
INSERT INTO producto (descripcion, codigo,
litro','BE006',4.2,0,2);
INSERT INTO producto (descripcion, codigo,
litro','BE007',3.0,0,2);
INSERT INTO producto (descripcion, codigo,
color azul','AO001',1.0,0,3);
INSERT INTO producto (descripcion, codigo,
color rojo','AO002',1.0,0,3);
INSERT INTO producto (descripcion, codigo,
color negro','AO003',1.0,0,3);
INSERT INTO producto (descripcion, codigo,
ciento','AO004',7.50,0,3);
INSERT INTO producto (descripcion, codigo,
millar','AO005',30.00,0,3);
INSERT INTO producto (descripcion, codigo,
azul','AO006',3,0,3);
INSERT INTO producto (descripcion, codigo,
rojo','AO007',3,0,3);
INSERT INTO producto (descripcion, codigo,
negro','AO008',3,0,3);
INSERT INTO producto (descripcion, codigo,
cuadriculado 100 hojas','AO009',5.0,0,3);
INSERT INTO producto (descripcion, codigo,
hojas','AO010',4.0,0,3);
INSERT INTO producto (descripcion, codigo,
cuadriculado 200 hojas','AO011',8.0,0,3);
INSERT INTO producto (descripcion, codigo,
hojas','AO012',7.5,0,3);
INSERT INTO producto (descripcion, codigo,
256MB','HD001',20,0,6);
INSERT INTO producto (descripcion, codigo,
512MB','HD002',37,0,6);
INSERT INTO producto (descripcion, codigo,
1GB','HD003',62.5,0,6);
INSERT INTO producto (descripcion, codigo,
256MB','HD004',24,0,6);
INSERT INTO producto (descripcion, codigo,
512MB','HD005',37,0,6);
INSERT INTO producto (descripcion, codigo,
1GB','HD006',80,0,6);
INSERT INTO producto (descripcion, codigo,
con scroll','HD007',6.0,0,6);
INSERT INTO producto (descripcion, codigo,
sin scroll','HD008',5.0,0,6);
INSERT INTO producto (descripcion, codigo,
con scroll','HD009',9.0,0,6);
INSERT INTO producto (descripcion, codigo,
sin scroll','HD010',10.0,0,6);
INSERT INTO producto (descripcion, codigo,
pulgadas','HD011',180,0,6);
INSERT INTO producto (descripcion, codigo,
pulgadas','HD012',200,0,6);
INSERT INTO producto (descripcion, codigo,
Intel','HD013',400,0,6);

preciounitario, stock, idcategoria)


preciounitario, stock, idcategoria) VALUES('Kola Real
preciounitario, stock, idcategoria) VALUES('Coca cola
preciounitario, stock, idcategoria) VALUES('Pepsi
preciounitario, stock, idcategoria) VALUES('Inka Cola
preciounitario, stock, idcategoria) VALUES('Coca cola
preciounitario, stock, idcategoria) VALUES('Pepsi
preciounitario, stock, idcategoria) VALUES('Inka Cola
preciounitario, stock, idcategoria) VALUES('Lapicero tinta liquida
preciounitario, stock, idcategoria) VALUES('Lapicero tinta liquida
preciounitario, stock, idcategoria) VALUES('Lapicero tinta liquida
preciounitario, stock, idcategoria) VALUES('Papel bond 60 gr
preciounitario, stock, idcategoria) VALUES('Papel bond 60 gr
preciounitario, stock, idcategoria) VALUES('Plumon Pilot
preciounitario, stock, idcategoria) VALUES('Plumon Pilot
preciounitario, stock, idcategoria) VALUES('Plumon Pilot
preciounitario, stock, idcategoria) VALUES('Cuaderno
preciounitario, stock, idcategoria) VALUES('Cuaderno rayado 100
preciounitario, stock, idcategoria) VALUES('Cuaderno
preciounitario, stock, idcategoria) VALUES('Cuaderno rayado 200
preciounitario, stock, idcategoria) VALUES('Memoria DDR
preciounitario, stock, idcategoria) VALUES('Memoria DDR
preciounitario, stock, idcategoria) VALUES('Memoria DDR
preciounitario, stock, idcategoria) VALUES('Memoria USB
preciounitario, stock, idcategoria) VALUES('Memoria USB
preciounitario, stock, idcategoria) VALUES('Memoria USB
preciounitario, stock, idcategoria) VALUES('Mouse HP 2 botones
preciounitario, stock, idcategoria) VALUES('Mouse HP 2 botones
preciounitario, stock, idcategoria) VALUES('Mouse HP 3 botones
preciounitario, stock, idcategoria) VALUES('Mouse HP 3 botones
preciounitario, stock, idcategoria) VALUES('Monitor HP LCD 14
preciounitario, stock, idcategoria) VALUES('Monitor HP LCD 17
preciounitario, stock, idcategoria) VALUES('Placa

INSERT INTO producto (descripcion, codigo, preciounitario, stock, idcategoria) VALUES('Microprocesador Intel
Core Duo','HD014',500,0,6);
INSERT INTO producto (descripcion, codigo, preciounitario, stock, idcategoria) VALUES('Microprocesador
Intel','HD015',340,0,6);
INSERT INTO producto (descripcion, codigo, preciounitario, stock, idcategoria) VALUES('Microprocesador AMD
Core Duo','HD016',450,0,6);
--cliente
INSERT INTO cliente (nombre,
Urb Magisterial',1);
INSERT INTO cliente (nombre,
Urb Santa Victoria',1);
INSERT INTO cliente (nombre,
INSERT INTO cliente (nombre,
206 Urb San Juan',2);
INSERT INTO cliente (nombre,
La Victoria',5);
INSERT INTO cliente (nombre,
924 La Victoria',5);
INSERT INTO cliente (nombre,
INSERT INTO cliente (nombre,
1034',3);
INSERT INTO cliente (nombre,
986',3);
INSERT INTO cliente (nombre,
Vega 477',3);

apellido, direccion, idzona) VALUES('Martin', 'Ampuero', 'Nicolas la torre 126


apellido, direccion, idzona) VALUES('Magaly', 'Rojas Suarez', 'Los Tumbos 312
apellido, direccion, idzona) VALUES('Jose', 'Suarez Diaz', 'Av Balta 1256',3);
apellido, direccion, idzona) VALUES('Angela', 'Torres Fiestas', 'Emancipacion
apellido, direccion, idzona) VALUES('Celinda', 'Ruiz Garcia', 'Manuel Seoane 267
apellido, direccion, idzona) VALUES('Carlos', 'Monsalve Lara', 'Manuel Seoane
apellido, direccion, idzona) VALUES('Ernesto', 'Carrillo Lora','' ,1);
apellido, direccion, idzona) VALUES('Eduardo', 'Zapata Rivas', 'Elias Aguirre
apellido, direccion, idzona) VALUES('Gabriela', 'Lopez Torres', 'Maria Izaga
apellido, direccion, idzona) VALUES('Vanessa', 'Robles Carrion', 'Vicente de la

-- documentoventa y detalleventa
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('B-001-0001', 7, '01/02/2008 16:33:02', 21.20, 0, 21.20);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(1, 9, 4,
3.5, 14);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(1, 8, 4,
1.3, 5.2);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(1, 5, 2,
1, 2);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0001', 10, '14/02/2008 16:33:02', 40, 7.6, 47.6);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(2, 1, 2,
10, 20);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(2, 3, 2,
10, 20);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0002', 2, '05/03/2008 16:33:02', 100, 19, 119);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(3, 13,
100, 1, 100);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0003', 1, '10/03/2008 16:45:38', 141, 26.79, 167.79);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(4, 29, 1,
80, 80);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(4, 27, 1,
24, 24);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(4, 28, 1,
37, 37);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0004', 7, '02/04/2008 16:51:52', 15, 2.85, 17.85);

INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(5, 6, 2,


1.5, 3);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(5, 4, 1,
12, 12);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0005', 7, '03/04/2008 16:53:36', 24, 4.56, 28.56);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(6, 20, 4,
5, 20);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(6, 12, 2,
1, 2);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(6, 13, 2,
1, 2);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('B-001-0002', 10, '20/03/2008 18:49:04', 166.2, 0, 166.2);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
15, 60);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
10, 40);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
3.5, 7);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
1.3, 5.2);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
12, 24);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
10, 30);

VALUES(7, 2, 4,
VALUES(7, 3, 4,
VALUES(7, 9, 2,
VALUES(7, 8, 4,
VALUES(7, 4, 2,
VALUES(7, 1, 3,

INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)


VALUES('F-001-0006', 1, '09/01/2008 18:52:05', 34, 6.46, 40.46);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(8, 9, 6,
3.5, 21);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(8, 8, 10,
1.3, 13);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0007', 4, '04/04/2008 18:53:29', 84, 15.96, 99.96);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(9, 20,
12, 5, 60);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(9, 13,
24, 1, 24);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('B-001-0003', 7, '10/04/2008 18:56:07', 1700, 0, 1700);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(10, 36,
2, 400, 800);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(10, 39,
2, 450, 900);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0008', 10, '03/04/2008 10:25:57', 20, 3.8, 23.8);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(11, 3, 2,
10, 20);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0009', 7, '03/04/2008 10:28:52', 32, 6.08, 38.08);

INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(12, 21,
3, 4, 12);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(12, 14,
10, 1, 10);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(12, 13,
10, 1, 10);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0010', 1, '28/04/2008 10:42:34', 2172, 412.68, 2584.68);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
2, 180, 360);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
2, 6, 12);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
2, 500, 1000);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal)
2, 400, 800);

VALUES(13, 34,
VALUES(13, 30,
VALUES(13, 37,
VALUES(13, 36,

INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)


VALUES('B-001-0004', 7, '09/04/2008 11:19:28', 19.2, 0, 19.2);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(14, 9, 4,
3.5, 14);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(14, 8, 4,
1.3, 5.2);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0011', 7, '15/04/2008 11:31:19', 269, 51.11, 320.11);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(15, 29,
2, 80, 160);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(15, 27,
3, 24, 72);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(15, 28,
1, 37, 37);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('F-001-0012', 6, '16/04/2008 11:38:35', 90, 17.1, 107.1);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(16, 15,
4, 7.5, 30);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(16, 16,
2, 30, 60);
INSERT INTO DocumentoVenta (NumeroDocumento, IdCliente, Fecha, SubTotal, IGV, Total)
VALUES('B-001-0005', 1, '28/04/2008 11:41:49', 47, 0, 47);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(17, 3, 2,
10, 20);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(17, 9, 2,
3.5, 7);
INSERT INTO detalleventa (IdDocumentoVenta, IdProducto, Cantidad, precioventa, subtotal) VALUES(17, 1, 2,
10, 20);

Funcionalidad de la Aplicacin
Requerimientos funcionales
Mantenimientos:
Zonas
Categoras

Productos
Clientes

Movimientos:
Registro de documentos de venta: boletas o facturas
Requerimientos no funcionales

La lgica de negocio ser implementada en el servidor de base de datos, en estructuras como


procedimientos, funciones y desencadenadores
La capa de aplicacin ser codificada en Java, para plataforma J2EE con Modelo Vista Controlador
Acceso a la aplicacin mediante cuentas de usuario: cuenta y clave
Gestin de Bitcora del Sistema, para el seguimiento de todas las operaciones realizadas con el mismo

Вам также может понравиться