41
UNIVERSIDAD TECNOLOGICA DEL PERU FACULTAD DE INGENIERIA CARRERA DE INGENIERÍA DE SISTEMAS E INFORMÁTICA TRABAJO FINAL CURSO: Base De Datos Integrantes: Docente: Ing. Oscar Flores Arequipa – Perú 2014 "EL CARIBE" (RUC- 10402656447)

Final base de datos

Embed Size (px)

Citation preview

Page 1: Final base de datos

UNIVERSIDAD TECNOLOGICA DEL PERU

FACULTAD DE INGENIERIA

CARRERA DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

TRABAJO FINAL

CURSO:

Base De Datos

Integrantes:

Docente: Ing. Oscar Flores

Arequipa – Perú

2014

"EL CARIBE"

(RUC-10402656447)

Page 2: Final base de datos

1. Descripción de la empresa

Nombre de la Empresa

- Pollería “El Caribe”

1.2 RUC

- 10402656447

1.3 Dirección

- Calle Teniente Palacios - Miraflores

1.4 Categoría

- Pollería

2. Lógica de negocio

La empresa “Pollería el Caribe” cuenta con 2 proveedores principales para el abastecimiento

de pollos y papas, estos proveedores, son la Empresa San Fernando y Rico Pollo traen los

Page 3: Final base de datos

insumos a horas de la mañana para que la empresa pueda contar con un margen de tiempo en

el cual pueda preparar dichos insumos.

Debido a la trayectoria de la pollería esta cuenta con un margen de ventas, la empresa ha

llegado a un acuerdo con sus proveedores referente a que cantidad del producto y que día

traerlo.

Además se cuenta con un jefe de almacén el cual lleva el control de los insumos

correspondiente en un documento, este documento es llevado al gerente y cualquier variación

en el pedido de productos, la empresa debe comunicar a sus proveedores para hacer el

cambio respectivo, el cual debe ser con un día de anticipación.

Una vez llegado los insumos estos son llevados al almacén, el jefe de almacén debe dar su visto bueno. Inspección de la Materia Prima

Los pollos crudos frescos o congelados, son inspeccionados en la recepción de almacén

No se acepta carne de pollo descompuesto o con sustancias extrañas. Se considerará el peso

en promedio establecido, con la piel intacta, de color y olor característicos. Las carnes de

pollos, que no se procesan inmediatamente se almacenan en la cámara de refrigeración para

evitar al mínimo los daños.

Los ingredientes como los aderezos, las cremas, los aliños, el ají, la salsa, pasta de tomate,

mayonesa deberán estar en condiciones óptimas de higiene, asimismo las verduras como la

lechuga, pepinillo, rabanitos, tomates y otros deben estar frescos, sanos y debidamente

seleccionados, lavados y desinfectados.

Los insumos como condimentos, especies y aceites deberán estar totalmente identificados,

etiquetados, ordenados y dentro de la fecha de vencimiento.

Una vez aprobada la entrega se verifica el buen estado de los productos en la cocina, en esta

área se cuenta con un cocinero y dos ayudantes de cocina los cuales llegan horas antes de

abrir la pollería al público, ellos se encargan de pelar las papas, cortar las verduras, preparar

las cremas(salsas) y condimentar los pollos.

Diagrama de Operación de Proceso Pollos a la Brasa “El Caribe”

Page 4: Final base de datos

Terminado la preparación los pollos son puestos a los hornos respectivos, una vez abierta la

pollería se debe contar con un mínimo de 10 pollos listos para servir o para el Delivery.

Mientras el cocinero y sus ayudantes están preparando los pollos los mozos llegan para

limpiar, ordenar y abrir la pollería. Una vez abierta la pollería llega la cajera y el encargado de

delivery.

Los clientes llegan para hacer su compra, deben aproximarse a caja y cancelar su orden, una vez cancelado esta orden es pasada al mozo el cual se encarga de comunicarlo al cocinero. El cocinero ve la orden y lo sirve, el mozo toma el pedido, verifica la mesa y lo entrega. Una vez el cliente se retira el mozo se encarga de limpiar la mesa y llevar las vajillas a cocina donde un ayudante se encarga de su limpieza respectiva (lavado).

Page 5: Final base de datos

En el caso de los delivery la cajera es la que recepciona la orden por teléfono, donde pide los

siguientes datos:

•Dirección y referencia

•Nombre del cliente

•Pedido

Aprobada la orden, se le entrega al mozo el cual, lleva el pedido al cocinero, el cual da

preferencia al delivery, lo alista y lo entrega al personal de delivery.

Diagrama de Proceso Delivery

Presentación del producto.-

Un pollo a la brasa: Se sirve un pollo entero, el cual es dividido mediante dos cortes, uno longitudinal y otro transversal. A partir de los cortes mencionados se obtienen cuatro presas (dos «pechos» y dos «piernas»). Una presa «pecho» contiene media pechuga, el ala y la espalda del pollo en tanto que una presa «pierna» contiene media rabadilla, el muslo y la pierna. Se acompaña con porciones grandes de papas fritas y ensalada además de una bebida gaseosa en envase mayor o igual al de litro y medio.

Medio pollo: Se sirve medio pollo, que consiste en una presa «pecho» y una presa «pierna». Se acompaña con porciones medianas de papas fritas, ensalada y una bebida gaseosa en envase de un litro o mayor.

Un cuarto de pollo: Se sirve una presa «pecho» o «pierna», según elección del comensal. Generalmente esta presentación del pollo es para el consumo individual. Se acompaña con porciones pequeñas de papas fritas y ensalada. Se incluye una bebida gaseosa de tamaño personal o de medio litro o un vaso. En algunos establecimientos la hora del almuerzo se incluye un postre junto al pedido.

Page 6: Final base de datos

Un octavo de pollo: Se sirve uno de los componentes de una «presa» de pollo (media pechuga, ala, espalda, rabadilla, muslo o pierna). Se acompaña con porciones pequeñas de papas fritas, ensalada y un vaso de bebida gaseosa. Esta es la opción económica para consumir «pollo a la brasa», muy probablemente la menos consumida.

Precios del Producto

En la Pollería “El Caribe” sus precios se basan en función a un análisis de costos, proveedores, y una alta cultura por el ahorro, todo esto con la finalidad de poder trasladarle al cliente un precio por debajo de la oferta existente. Y  según los resultados de un estudio de mercado, determinaron los siguientes precios:

·         1 pollo (papas, ensalada)……………………S/. 30.00

·         1+1/4 pollo (papas, ensalada)…………….S/. 38.00

·         1+1/2 pollo (papas, ensalada)…………….S/. 44.00

·         1/4 pollo (papas, ensalada)…….…………..S/. 9.00

·    Porción de papas…….………………………. S/ 3.50

Promociones/Ofertas

·         Los clientes de Pollería “EL Caribe” tendrán la posibilidad de poder adquirir unas bebidas de litro y medio, por solo 4 soles adicionales a su pedido.

·         Dan descuentos de un 20% por pedidos dobles.

·         Ensalada extra por 2 soles adicionales al pedido

·         Jarra de chica morada por 3 soles adicionales a su pedido

·         Infusiones por un sol adicional

·         Porción de papas adicional por S/. 3.50 soles

Plaza o distribución

·         El local está distribuido de tal manera que procuran una atención rápida, y ordenada.

·        Brindan el servicio   Delivery con un tiempo máximo de atención, de 25 minutos

Page 7: Final base de datos

PLAN DE ORGANIZACIÓN

Organigrama de la empresa:1) Propietario: Ruth Gallegos 2) Administrador3) Maestro Hornero4) Ayudantes de cocina5) Mozos 6) Cajera

Tecnología.-

Entre los equipos se consideran las congeladoras, licuadoras industriales, hornos y accesorios, mesas de trabajo y freidora de papas. Estos equipos deben estar instalados y adecuadamente distribuidos a fin de evitar la contaminación cruzada en los alimentos. Para su limpieza y desinfección se ha de seguir los procedimientos respectivos y una vez concluida con todos ellos. Es necesaria la limpieza frecuente del equipo para garantizar tanto la higiene del producto como el buen funcionamiento y duración de los equipos. Para el caso de las freidoras de papas el aceite será filtrado diariamente por turno.

Recursos humanos.-

EL Personal que labora en la Pollería “EL Caribe”, está acreditado con su carnet sanitario y han sido capacitados para el rubro, teniendo experiencia.

Seguridad Sanitaria

a) La Pollería “EL Caribe”, es una pollería que garantiza a sus clientes no solo un buen servicio sino la calidad en sus productos gracias a la garantía que sus proveedores le brindan como es el caso de las avícolas mencionadas líneas arriba. También se debe al trabajo en equipo que vienen realizando cumpliendo las normas de sanidad para no afectar la integridad física de sus clientes.

b) Los materiales de empaque como los recipientes descartables y plásticos se almacenan en condiciones de sanidad y limpieza. El armado de las cajas se hace en forma manual evitando cualquier forma de contaminación. Asimismo, las condiciones de almacenamiento y transporte de los pollos a la brasa por delivery, deben evitar toda posibilidad de contaminación y/o proliferación de microorganismos a fin de protegerlos del deterioro. Asimismo, se busca el uso mínimo de empaques innecesarios, que generen desperdicios de materiales.

c) Todo el personal que trabaja en contacto directo con los alimentos, superficies de contacto y materiales de empaque, cumplen con las Buenas Prácticas Higiénicas, a fin de evitar la contaminación de los alimentos. Toda persona que labora en el área de proceso, de horneado y despacho, mantiene una esmerada limpieza personal especialmente mientras esté en servicio. El personal usa uniforme apropiado que está en buen estado de conservación, bien

Page 8: Final base de datos

limpio y de color claro. Así se evitará la contaminación de los alimentos, de las superficies de contacto con los alimentos o con los materiales de empaque.

d) El Área de Proceso.- Las áreas transitables desde la recepción, el almacén, la sala de proceso, el comedor, el área de despacho y alrededores se mantienen limpios.Las salas de proceso y de horneado deben garantizar buenas condiciones higiénicas para

efectuar las operaciones de acondicionamiento y cocción de la carne de pollo; como resultado

de una óptima distribución de equipos se aprovechará el espacio disponible y así se evitará la

contaminación de los alimentos y su posterior deterioro.

El piso de todo el establecimiento que incluye recepción, almacén, proceso, horneado,

despacho y comedor es de material impermeable, lavable, antideslizante y sin fisuras ni

grietas; para que en lo sucesivo se evite la acumulación de grasas y suciedades.

Todas las paredes cercanas a los hornos son s resistentes al calor, así como de fácil limpieza y

desinfección.

Por otro lado, todas las repisas, estantes y gabinetes con que cuentan son objeto de su

respectiva y estricta limpieza semanal.

El plan de producción:

Número de unidades producidas:

30 diarias un promedio de 10, 500 pollos anuales considerando la demanda alta de Navidad y año Nuevo (200 pollos diarios).

Plan de inversiones de la Pollería “EL Caribe”

Local: El local es propio

Maquinaria:

-Horno rotativo-Herramientas:-Tijeras especiales para cortar el pollo -Moldes -Prensadora -Pala pequeña-Vehículos:-Mobiliario (Mesas, Sillas, muebles de atención, Barra, manteles)- Caja registradora - Vajilla (platos, cubiertos, envases para Delivey, envases para ají, bolsas de plástico)-Servilletas- licuadora

Page 9: Final base de datos

Plan de gastos

Los gastos se realizan para adquirir las materias primas o auxiliares y para contratar ciertos

servicios, como la energía eléctrica, el local, los seguros, los trabajadores, el teléfono, etc.; no

adquirimos su propiedad.

•Materiales.•Energía, agua y otros suministros.•Amortizaciones.•Salarios y Seguridad Social.•Seguros.•Mantenimiento y reparaciones.•Gastos financieros.•Alquileres.•Servicios exteriores.•Transportes y combustibles.

Gestión de almacén

Pollería “El Caribe” fundamenta su almacén con alimentos utilizados permanentemente.

En el almacén sólo existe una cantidad mínima necesaria de pollos más una cantidad de

reserva, denominada stock de seguridad (para hacer frente a posibles retrasos de los

proveedores, a aumentos inesperados de la demanda, etc.)

. Almacenamiento

Cuentan con las cámaras conservadoras como frigoríficas.

Se almacenan los alimentos de los recipientes cerrados en sus envases originales y en orden.

El almacén está en un área cerrada, seca y ventilada.

Todo producto es clasificado y codificado, para lograr un adecuado ordenamiento dentro

del almacén para su fácil ubicación y detección.

Estudio Del Entorno de la Pollería El Caribe

Económicos. Está ubicada en una  Zona económicamente activa, población aledaña de negocios importante, como la Feria del Altiplano, Mercado Nro 1 y Centros comerciales de la Avenida Mariscal Castilla además de los vecinos.

Análisis de su competencia

Page 10: Final base de datos

Competidores:

“EL Tablón” Miraflores

En qué se diferencia Pollería “El Caribe”:

Vende Producto (pollos) de alta calidad con precios bajos, asequibles al consumidor. Ofrecen un trato amable y cortés.

Fortalezas de “El Caribe”

Cuentan con un cocineros y mozos con experiencia, Trabajan con producto calificado, lo cual otorga respaldo y garantía a su producto final. Su Local, está ubicado en una zona estratégica comercial del distrito de Miraflores. Sus costos son más bajos que el mercado de pollos a la brasa.

Problemas Detectados en la Empresa.

La empresa pollería el caribe no cuenta con un sistema que administre, guarde y proteja su información.

En este punto vimos que parte de la información que maneja la empresa se registra a mano en cuadernos de apuntes, los datos que se registran en estos apuntes son: Insumos requeridos como pollo, papas, verduras, cremas, etc.

Además la información sobre las ventas, los ingresos y egresos de la empresa son guardados en una simple hoja Excel, donde están expuestas al robo de información, a la manipulación y modificación de la misma, además de posible pérdida.

También se detectó que la empresa no cuenta con promociones especiales dirigidas a sus clientes más acérrimos, si bien la empresa cuenta con algunas promociones estas son de carácter general para cualquier consumidor; aquí cabe resaltar la diferencia entre consumidor y cliente, el consumidor es cualquier comprador potencial y el cliente es aquella persona que compra de forma habitual en un negocio.

Page 11: Final base de datos

DIAGRAMA DE RELACION EDNTIDAD

Page 12: Final base de datos

Proceso de creación de tablas

Crear tabla proveedorCREATE TABLE PROVEEDOR(prov_id varchar(10) primary key not null,prov_nombre varchar(25),prov_direccion varchar(35),prov_fono char(11));

Crear tabla insumoCREATE TABLE Insumo(Insumo_id varchar(10) primary key not null,Insumo_nombre varchar(25));

Crear tabla proveedor-insumoCREATE TABLE PROVEEDORINSUMO(prov_id varchar(10),insumo_id varchar(10),CONSTRAINT PROVINS_PROV_ID_FK FOREIGN KEY(prov_id) REFERENCES PROVEEDOR(prov_id),CONSTRAINT PROVINS_INS_ID_FK FOREIGN KEY(insumo_id) REFERENCES INSUMO(insumo_id),CONSTRAINT PROVINS_PK PRIMARY KEY(prov_id, insumo_id));

Crear tabla productos de ventaCREATE TABLE PRODUCTOSDEVENTA(cod_prod varchar(10) primary key not null,descripcion_prod Varchar(50));

Crear tabla precioCREATE TABLE PRECIO(cod_prod varchar(10),fecha_precio date,precio_monto number,CONSTRAINT PRECIO_COD_PROD_FK FOREIGN KEY(cod_prod) REFERENCES PRODUCTOSDEVENTA(cod_prod),CONSTRAINT PRECIO_PK PRIMARY KEY(cod_prod, fecha_precio));

Crear tabla insumo de productos de venta

CREATE TABLE Insumo_ProductosDeVenta(cod_prod varchar(10),Insumo_id varchar(10),CANT_ARTPROID number,CONSTRAINT INS_PROVENT_PROD_ID_FK FOREIGN KEY(cod_prod) REFERENCES PRODUCTOSDEVENTA(cod_prod),CONSTRAINT

Page 13: Final base de datos

INS_PROVENT_INS_ID_FK FOREIGN KEY(insumo_id) REFERENCES INSUMO(insumo_id),CONSTRAINT INS_PROVENT_PK PRIMARY KEY(cod_prod, insumo_id));

Crear tabla clienteCREATE TABLE CLIENTE(cliente_id varchar(10) primary key not null,cliente_nombre varchar(30),cliente_apellido varchar(30));

Crear tabla áreasCREATE TABLE AREAS(area_id varchar(10) PRIMARY KEY NOT NULL,area_nombre varchar(15));

Crear tabla empleadoCREATE TABLE EMPLEADO(empleado_id varchar(10) primary key not null,nombre varchar(20),apellido varchar(30),dni char(8),empleo varchar(20),area_id varchar(10),CONSTRAINT EMPLE_AREA_FK FOREIGN KEY(area_id) REFERENCES AREAS(area_id));

Crear tabla salario

CREATE TABLE SALARIO(empleado_id varchar(10),fecha_salario varchar(10),salario_monto number,CONSTRAINT SAL_EMP_ID_FK FOREIGN KEY(empleado_id) REFERENCES EMPLEADO(empleado_id),CONSTRAINT SAL_PK PRIMARY KEY(empleado_id, fecha_salario));

Crear tabla clienteCREATE TABLE BOLETADEPAGO(boleta_nro varchar(10) primary key not null,salario_id number,empleado_id varchar(10),boleta_fecha date,CONSTRAINT BOL_PAGO_EMP_ID_FK FOREIGN KEY(empleado_id) REFERENCES EMPLEADO(empleado_id));

Crear tabla mesaCREATE TABLE MESA(mesa_id varchar(10) PRIMARY KEY NOT NULL,ubicacion varchar(10));

Page 14: Final base de datos

Crear tabla factura

CREATE TABLE FACTURA(factura_id varchar(10) primary key not null,venta_total number,venta_fecha date,cliente_id varchar(10),empleado_id varchar(10),mesa_id varchar(10),CONSTRAINT VENTA_CLIENT_ID_FK FOREIGN KEY(cliente_id) REFERENCES CLIENTE(cliente_id),CONSTRAINT VENTA_EMPLEADO_FK FOREIGN KEY(empleado_id) REFERENCES EMPLEADO(empleado_id),CONSTRAINT VENTA_MESA_FK FOREIGN KEY(mesa_id) REFERENCES MESA(mesa_id));

Crear tabla detalle de factura

CREATE TABLE DETALLEDEFACTURA(factura_id varchar(10),cod_prod varchar(10),dv_cant number,dv_importe number,CONSTRAINT DETVENTA_VENT_NUM_FK FOREIGN KEY(factura_id) REFERENCES FACTURA(factura_id),CONSTRAINT DETVENTA_COD_PRO_FK FOREIGN KEY(cod_prod) REFERENCES PRODUCTOSDEVENTA(cod_prod),CONSTRAINT DETVENTA_PK PRIMARY KEY(factura_id, cod_prod));

Page 15: Final base de datos

INSERCIÓN DE LA DATA

Insertar la data de la tabla proveedor

describe proveedor;insert into proveedor values('01', 'Makro', 'Av. Avelino Caceres S/N', '606410');insert into proveedor values('02', 'Metro', 'Av. Las Americas Mz J Jacobo Hunter', '6138888');

Insertar la data de la tabla insumo

describe insumo;insert into insumo values('ins-01', 'pollo');insert into insumo values('ins-02', 'papas');insert into insumo values('ins-03', 'lechuga');insert into insumo values('ins-04', 'tomate');insert into insumo values('ins-05', 'pepino');insert into insumo values('ins-06', 'brocoli');insert into insumo values('ins-07', 'mostaza');insert into insumo values('ins-08', 'mayonesa');insert into insumo values('ins-09', 'keptchu');insert into insumo values('ins-10', 'aceituna');insert into insumo values('ins-11', 'romero');insert into insumo values('ins-12', 'sal');insert into insumo values('ins-13', 'comino');insert into insumo values('ins-14', 'sillao');insert into insumo values('ins-15', 'pimienta molida');insert into insumo values('ins-16', 'cerveza negra');insert into insumo values('ins-17', 'vinagre');insert into insumo values('ins-18', 'ajo');insert into insumo values('ins-19', 'aji panca');insert into insumo values('ins-20', 'aceite');insert into insumo values('ins-21', 'maiz morado');insert into insumo values('ins-22', 'limon');insert into insumo values('ins-23', 'azucar');insert into insumo values('ins-24', 'salchichas');

Insertar la data de la tabla proveedor de insumo

insert into proveedorinsumo values('01','ins-01');insert into proveedorinsumo values('01','ins-02');insert into proveedorinsumo values('01','ins-03');insert into proveedorinsumo values('01','ins-04');insert into prov eedorinsumo values('01','ins-05');insert into proveedorinsumo values('01','ins-06');insert into proveedorinsumo values('01','ins-07');insert into proveedorinsumo values('01','ins-08');insert into proveedorinsumo values('01','ins-09');insert into proveedorinsumo values('01','ins-10');insert into proveedorinsumo values('01','ins-11');insert into proveedorinsumo values('01','ins-12');insert into proveedorinsumo values('01','ins-13');insert into proveedorinsumo values('01','ins-14');insert into proveedorinsumo values('01','ins-15');insert into proveedorinsumo values('01','ins-16');insert into proveedorinsumo values('01','ins-17');insert into proveedorinsumo values('01','ins-18');insert into proveedorinsumo values('01','ins-19');insert into proveedorinsumo values('01','ins-20');insert into proveedorinsumo values('01','ins-21');insert into proveedorinsumo values('01','ins-22');

Page 16: Final base de datos

insert into proveedorinsumo values('01','ins-23');insert into proveedorinsumo values('01','ins-24');

insert into proveedorinsumo values('02','ins-01');insert into proveedorinsumo values('02','ins-02');insert into proveedorinsumo values('02','ins-03');insert into proveedorinsumo values('02','ins-04');insert into proveedorinsumo values('02','ins-05');insert into proveedorinsumo values('02','ins-06');insert into proveedorinsumo values('02','ins-07');insert into proveedorinsumo values('02','ins-08');insert into proveedorinsumo values('02','ins-09');insert into proveedorinsumo values('02','ins-10');insert into proveedorinsumo values('02','ins-11');insert into proveedorinsumo values('02','ins-12');insert into proveedorinsumo values('02','ins-13');insert into proveedorinsumo values('02','ins-14');insert into proveedorinsumo values('02','ins-15');insert into proveedorinsumo values('02','ins-16');insert into proveedorinsumo values('02','ins-17');insert into proveedorinsumo values('02','ins-18');insert into proveedorinsumo values('02','ins-19');insert into proveedorinsumo values('02','ins-20');insert into proveedorinsumo values('02','ins-21');insert into proveedorinsumo

values('02','ins-22');insert into proveedorinsumo values('02','ins-23');insert into proveedorinsumo values('02','ins-24');

Insertar la data de la tabla productos de venta

describe productosdeventa;insert into productosdeventa values('pl-01', '1 pollo con papas y ensalada');insert into productosdeventa values('pl-02', '1/2 pollo con papas y ensalada');insert into productosdeventa values('pl-03', '1/4 pollo con papas y ensalada');insert into productosdeventa values('pl-04', '1 plato de salchipapa');insert into productosdeventa values('pl-05', '1 porcion de papas');insert into productosdeventa values('pl-06', '1 porcion de ensalada');insert into productosdeventa values('pl-07', 'aguadito');insert into productosdeventa values('pl-08', '3 litros');insert into productosdeventa values('pl-09', '2 1/2 litro gaseosa');insert into productosdeventa values('pl-10', '1 litro gaseosa');insert into productosdeventa values('pl-11', 'gaseosa personal');insert into productosdeventa values('pl-12', '1 jarra de chicha');insert into productosdeventa values('pl-13', '1/2 jarra de chicha');

Page 17: Final base de datos

Insertar la data de la tabla preciodescribe precio;insert into precio values('pl-01', sysdate,32); -- 1 pollo con papas y ensaladainsert into precio values('pl-02', sysdate,18.00); -- 1/2 pollo con papas y ensalada insert into precio values('pl-03', sysdate,'10'); -- 1/4 pollo con papas y ensalada insert into precio values('pl-04', '04/13/2014','5'); -- 1 plato de salchipapa insert into precio values('pl-05', '06/20/2014', 123.50); -- 1 porcion de papasinsert into precio values('pl-06', '12/02/2013','2'); -- 1 porcion de ensaladainsert into precio values('pl-07', '07/03/2014','3'); -- aguaditoinsert into precio values('pl-09', '02/12/2013','11'); -- 3 litrosinsert into precio values('pl-08', '01/12/2013','8'); -- 2 1/2 litro gaseosainsert into precio values('pl-10', '06/12/2013','4.5'); -- 1 litro gaseosainsert into precio values('pl-11', '08/12/2013','1.5'); -- gaseosa personalinsert into precio values('pl-12', '05/04/2014','8'); -- 1 jarra de chichainsert into precio values('pl-13', '03/04/2014','5');

insertar la data de la tabla insumo de productos de venta

describe Insumo_ProductosDeVenta;--1 pollo con papas y ensaladainsert into Insumo_ProductosDeVenta values('pl-01', 'ins-01', 1.0); insert into Insumo_ProductosDeVenta values('pl-01', 'ins-02', 1.0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-03', 0.2);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-04', 1.0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-05', 0.2);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-06', 0.2);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-07', 0.1);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-08', 0.1);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-09', 0.1);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-10', 0.1);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-11', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-12', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-13', 0);

Page 18: Final base de datos

insert into Insumo_ProductosDeVenta values('pl-01', 'ins-14', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-15', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-16', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-17', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-18', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-19', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-20', 0);

--1/2 pollo con papas y ensaladainsert into Insumo_ProductosDeVenta values('pl-02', 'ins-01', 0); insert into Insumo_ProductosDeVenta values('pl-02', 'ins-02', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-03', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-04', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-05', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-06', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-07', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-08', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-09', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-10', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-11', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-12', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-13', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-14', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-15', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-16', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-17', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-18', 0);insert into Insumo_ProductosDeVenta values('pl-02', 'ins-19', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-20', 0);

--1/4 pollo con papas y ensaladainsert into Insumo_ProductosDeVenta values('pl-03', 'ins-01', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-02', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-03', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-04', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-05', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-06', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-07', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-08', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-09', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-10', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-11', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-12', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-13', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-14', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-15', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-16', 0);

Page 19: Final base de datos

insert into Insumo_ProductosDeVenta values('pl-03', 'ins-17', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-18', 0);insert into Insumo_ProductosDeVenta values('pl-03', 'ins-19', 0);insert into Insumo_ProductosDeVenta values('pl-01', 'ins-20', 0);

--1 plato de salchipapainsert into Insumo_ProductosDeVenta values('pl-04', 'ins-02', 0); insert into Insumo_ProductosDeVenta values('pl-04', 'ins-07', 0);insert into Insumo_ProductosDeVenta values('pl-04', 'ins-08', 0);insert into Insumo_ProductosDeVenta values('pl-04', 'ins-09', 0);insert into Insumo_ProductosDeVenta values('pl-04', 'ins-10', 0);insert into Insumo_ProductosDeVenta values('pl-04', 'ins-12', 0);insert into Insumo_ProductosDeVenta values('pl-04', 'ins-20', 0);insert into Insumo_ProductosDeVenta values('pl-04', 'ins-24', 0);

--1 porcion de papasinsert into Insumo_ProductosDeVenta values('pl-05', 'ins-02', 1.0); insert into Insumo_ProductosDeVenta values('pl-05', 'ins-07', 0.25);insert into Insumo_ProductosDeVenta values('pl-05', 'ins-08', 0.25);insert into Insumo_ProductosDeVenta values('pl-05', 'ins-09', 0.25);insert into Insumo_ProductosDeVenta values('pl-05', 'ins-12', 0);insert into Insumo_ProductosDeVenta values('pl-05', 'ins-20', 0.1);

--1 porcion de ensaladasinsert into Insumo_ProductosDeVenta values('pl-05', 'ins-03', 0); insert into Insumo_ProductosDeVenta values('pl-05', 'ins-04', 0);insert into Insumo_ProductosDeVenta values('pl-05', 'ins-05', 0);insert into Insumo_ProductosDeVenta values('pl-05', 'ins-06', 0);

Insertar la data de la tabla clientes

describe clientes;insert into cliente values('cl-01','Carlos','Fuentes Aguilar');insert into cliente values('cl-02','Maximiliano','Buendia Guzman');insert into cliente values('cl-03','Pedro','Pica piedra');

Insertar la data de la tabla áreas describe areas;insert into areas values('01','almacen');

insert into areas values('02','cocina');insert into areas values('03','ventas');insert into areas values('04','limpieza');

Insertar la data de la tabla empleado

describe empleado;insert into EMPLEADO values('emp-01','Rosa Linda','Mesa Cuadros','24219522', 'Vendedora', '03');

Page 20: Final base de datos

insert into EMPLEADO values('emp-02','Carlos Alberto','Del Solar Pinto','23465435', 'Almacenero', '01');insert into EMPLEADO values('emp-03','Alexei','Casa Rosales','87956767', 'Cocinero', '02');insert into EMPLEADO values('emp-04','Edilberto Cipriano','Escobar Paye','45724558', 'Ayudante de Cocina', '02');insert into EMPLEADO values('emp-05','Ana Maria','Perez Cueva','32480351', 'Mozo', '03');insert into EMPLEADO values('emp-06','Joe','Ramone De los Ramones','34686246', 'Mozo', '03');insert into EMPLEADO values('emp-07','Agapito','Tibursio Pancraceo','35687421', 'Empleado de limpieza', '04');

Insertar la data de la tabla salario

describe salario;insert into SALARIO values('emp-01', '01/05/2014', 950);insert into SALARIO values('emp-02', '01/08/2013', 800);insert into SALARIO values('emp-03', '01/01/2012', 1100);insert into SALARIO values('emp-04', '01/02/2013', 750);insert into SALARIO values('emp-05', '01/11/2012', 750);insert into SALARIO values('emp-

06', '01/06/2013', 750);insert into SALARIO values('emp-07', '01/08/2014', 750);

Insertar la data de la tabla boleta de pago

describe boletadepago;insert into boletadepago values('123', 950, 'emp-01', '08/30/2013');insert into boletadepago values('127', 800, 'emp-02', '08/30/2011');insert into boletadepago values('131', 1100, 'emp-03', '08/30/2013');insert into boletadepago values('145', 750, 'emp-04', '08/30/2014');

Insertar la data de la tabla mesa

describe mesa;insert into mesa values('m1','01');insert into mesa values('m2','02');insert into mesa values('m3','03');insert into mesa values('m4','04');insert into mesa values('m5','05');insert into mesa values('m6','06');insert into mesa values('m7','07');insert into mesa values('m8','08');insert into mesa values('m9','09');insert into mesa values('m10','10');insert into mesa values('m11','11');insert into mesa values('m12','12');insert into mesa

Page 21: Final base de datos

insert into mesa values('m14','14');insert into mesa values('m15','15');

Insertar la data de la tabla factura

Insertar la data de la tabla detalle de factura

describe detalledefacturainsert into detalledefactura values('fac-01', 'pl-01', 2, 64);insert into detalledefactura values('fac-01', 'pl-07', 1, 3);insert into detalledefactura values('fac-01', 'pl-08', 2, 16);insert into detalledefactura values('fac-05', 'pl-03', 3, 30);insert into detalledefactura values('fac-05', 'pl-08', 1, 8);insert into detalledefactura values('fac-08', 'pl-12', 1, 8);insert into detalledefactura values('fac-11', 'pl-04', 4, 20);insert into detalledefactura values('fac-15', 'pl-04', 1, 5);

describe factura;insert into factura values('fac-01', 45.5, '02/14/2014', 'cl-01', 'emp-01', 'm1');insert into factura values('fac-05', 53, '05/27/2014', 'cl-01', 'emp-01', 'm8');insert into factura values('fac-08', 10, '07/13/2013', 'cl-02', 'emp-01', 'm7');insert into factura values('fac-11', 11.5, '11/21/2013', 'cl-02', 'emp-01', 'm13');insert into factura values('fac-15', 80, '07/15/2014', 'cl-03', 'emp-01', 'm15');

insert into factura values('fac-27', 57, '05/28/2014', 'cl-03', 'emp-01', 'm1');insert into factura values('fac-29', 63.5, '04/10/2014', 'cl-01', 'emp-01', 'm2');

Page 22: Final base de datos

insert into detalledefactura values('fac-27', 'pl-11', 1, 1.5);insert into detalledefactura values('fac-29', 'pl-01', 1, 32);

SELECT SIMPLES

1. Imprime un reporte con los datos de todos los trabajadores de la Empresa.

select * from empleado;

2. Imprime un reporte de todos los salarios de los trabajadores de forma ascendente.

select * from salario order by salario_monto asc;

3. Imprime un reporte de todos los salarios de los trabajadores además del salario promedio.

select empleado_id, fecha_salario, salario_monto, (select AVG(salario_monto) from salario) from salario;

Page 23: Final base de datos

4. Imprime un reporte con los nombres y apellidos de los clientes en mayúsculas.

select UPPER(cliente_nombre), UPPER(cliente_apellido) from cliente;

5. Muéstrame todos los insumos del proveedor cuyo id es 02.

select * from proveedorinsumo where prov_id = '02';

6. Muéstrame todos los precios de venta de nuestros productos de forma descendiente.select * from precio order by precio_monto desc;

Page 24: Final base de datos

7. Muéstrame todos los empleados agrupados por área.select * trabajadores group by areas;

8. Imprime un reporte de todas las facturas emitidas.

select * from factura;

9. Muéstrame todos los insumos cuyo nombre empieza con la letra n.select * from insumo where insumo_nombre like 'm%';

10. Muestra el area de la empresa cuyo id es 03.

select * from areas where area_id = '03';

SELECT MÚLTIPLES

Page 25: Final base de datos

1. Imprime un reporte con los nombres, apellidos de los trabajadores y el nombre de las áreas de los trabajadores además de su salario.

Select a.nombre, a.apellido, b.area_nombre, c.salario_monto from empleado a, areas b, salario c where a.area_id = b.area_id AND a.empleado_id = c.empleado_id;

2. Haz un reporte de los clientes con sus facturas.

select * from cliente natural join factura

3. Hacer una query que muestre los nombres de los productos además de su precio, cuyo precio esté entre 7 y 18 soles

select a.descripcion_prod, b.precio_montofrom productosdeventa a, precio bwhere a.cod_prod = b.cod_prod AND b.precio_monto between 7 and 18;

4. Lista los ingredientes del pollo a la brasa

Page 26: Final base de datos

select a.descripcion_prod, c.insumo_nombre from productosdeventa a, insumo_productosdeventa b, insumo c where a.cod_prod = 'pl-01' AND a.cod_prod = b.cod_prod AND b.insumo_id = c.insumo_id;

5. Lista las facturas donde los clientes gastaron más de 63 soles además de sus nombres

select a.cliente_nombre, b.factura_id, b.venta_total, b.venta_fecha, b.cliente_id, b.empleado_id, b.mesa_id from cliente a, factura b where b.venta_total > 63 AND a.cliente_id = b.cliente_id;

6. Hacer un reporte de las facturas con sus detalles de facturas.

select * from factura natural join detalledefactura;

7. Listar a los clientes y sus facturas cuyo gasto sea entre 30 y 80 soles

Page 27: Final base de datos

select * from cliente natural join factura where venta_total between 30 And 80;

8. Lista los ingredientes de la salchipapa

select a.descripcion_prod, c.insumo_nombre from productosdeventa a, insumo_productosdeventa b, insumo c where a.cod_prod = 'pl-04' AND a.cod_prod = b.cod_prod AND b.insumo_id = c.insumo_id;

9. Lista los platos donde es usado la papa

select a.descripcion_prod AS "PLATOS DONDE ES USADA LA PAPA"from productosdeventa a, insumo_productosdeventa bwhere a.cod_prod = b.cod_prod AND b.insumo_id = 'ins-02';

10. Realizar un reporte de las facturadas con sus respectivos detalles emitidas en el 2014

Page 28: Final base de datos

select a.factura_id, a.venta_total, a.venTa_fecha, a.cliente_id, a.empleado_id, a.mesa_id, b.cod_prod, b.dv_cant, b.dv_importefrom factura a, detalledefactura b where a.factura_id = b.factura_id AND a.venta_fecha > '1/1/2014';

SUB SELECT

1. Realizar un reporte con el gasto total hecho por cada cliente

select a.cliente_id, a.cliente_nombre, a.cliente_apellido, b.TOTAL_GASTADOfrom cliente a, (select cliente_id, SUM(venta_total) AS "TOTAL_GASTADO" from factura group by cliente_id) bwhere a.cliente_id = b.cliente_id;

2. Realizar un reporte con el gasto total hecho por cada cliente en el año 2014

select a.cliente_id, a.cliente_nombre, a.cliente_apellido, b.TOTAL_GASTADO_2014from cliente a, (select cliente_id, SUM(venta_total) AS "TOTAL_GASTADO_2014" from (select * from factura where venta_fecha > '1/1/2014') group by cliente_id) bwhere a.cliente_id = b.cliente_id;

3. Realizar una query que muestre al cliente que más ha gastado y el monto gastado

select a.cliente_id, a.cliente_nombre, a.cliente_apellido, b.TOTAL_GASTADO

Page 29: Final base de datos

from cliente a, (select cliente_id, SUM(venta_total) AS "TOTAL_GASTADO" from factura group by cliente_id) b WHERE A.CLIENTE_ID = B.CLIENTE_ID AND b.TOTAL_GASTADO = (select MAX(TOTAL_GASTADO) as "TOTAL_GASTADO"from (select a.cliente_id, a.cliente_nombre, a.cliente_apellido, b.TOTAL_GASTADOfrom cliente a, (select cliente_id, SUM(venta_total) AS "TOTAL_GASTADO" from factura group by cliente_id) b WHERE A.CLIENTE_ID = B.CLIENTE_ID))

4. Muestra al vendedor que más ventas hizo y el monto total vendidoselect a.empleado_id, a.nombre, a.apellido, b.TOTAL_VENDIDOfrom empleado a, (select empleado_id, SUM(venta_total) AS "TOTAL_VENDIDO" from factura group by empleado_id) b WHERE A.empleado_ID = B.empleado_ID AND b.TOTAL_VENDIDO = (select MAX(TOTAL_VENDIDO) from (select a.empleado_id, a.nombre, a.apellido, b.TOTAL_VENDIDOfrom empleado a, (select empleado_id, SUM(venta_total) AS "TOTAL_VENDIDO" from factura group by empleado_id) b WHERE A.empleado_id= B.empleado_id));

5. Muestra las áreas de forma ascendente por el número de trabajadores que posee

select * from areas a NATURAL JOIN (select area_id, COUNT(area_id) AS "TRABAJADORES_POR_AREA" from empleado group by area_id) order by TRABAJADORES_POR_AREA asc

6. Muestre a los empleados que ganan más que el salario medio de todas las áreasSelect a.empleado_id, a.nombre, a.apellido, a.dni, b.area_nombre, c.SALARIO_MONTO from empleado a, areas b, salario c

Page 30: Final base de datos

where a.empleado_id = c.empleado_id AND a.area_id = b.area_id AND c.salario_monto > (select AVG(salario_monto) from salario);

7. Hacer un reporte de los salarios promedio por área redondeado a 2 decimalesselect area_id, round(AVG(SALARIO_MONTO),2) AS "SALARIO_MEDIO_X_AREA" from (select b.area_id, a.salario_monto from salario a, empleado b where a.empleado_id = b.empleado_id) group by area_id;

FUNCIONES

DEVUELVE EL VALOR DE VENTA DE UN FACTURA DANDOLE EL CODIGO DE LA FACTURA YA FACTURADAcreate or replace function valorventa (cod Factura.factura_id%TYPE) return Factura.valor_total%TYPE is vv number := 0; begin select valor_total into vv from Factura where Factura.factura_id=cod; return vv; end valorventa

VISTAS

Una vista es una consulta accesible como una tabla virtual

1 Crea una vista de un reporte con los nombres, apellidos de los trabajadores y el nombre de las áreas de los trabajadores además de su salario.

create view vista asSelect a.nombre, a.apellido, b.area_nombre, c.salario_monto from empleado a, areas b, salario c where a.area_id = b.area_id AND a.empleado_id = c.empleado_id;

select * from vista

Page 31: Final base de datos

2 Crea una vista de la lista los ingredientes de la salchipapa

CREATE VIEW vistaa asselect a.descripcion_prod, c.insumo_nombre from productosdeventa a, insumo_productosdeventa b, insumo c where a.cod_prod = 'pl-04' AND a.cod_prod = b.cod_prod AND b.insumo_id = c.insumo_id; select *from vistaa

3 Crea una vista de la lista los platos donde es usado la papa

create view vista3 as select a.descripcion_prod AS "PLATOS DONDE ES USADA LA PAPA"from productosdeventa a, insumo_productosdeventa bwhere a.cod_prod = b.cod_prod AND b.insumo_id = 'ins-02';

select * from vista3

4 crea una lista que nos permita visualizar los clientescreate or replace view clientes asselect * from cliente

select * from clientes

5 Hacer una vista para mostrar los nombres de los productos además de su precio, cuyo precio esté entre 7 y 18 soles

create view precios_8__17 as select a.descripcion_prod, b.precio_montofrom productosdeventa a, precio bwhere a.cod_prod = b.cod_prod AND b.precio_monto between 7 and 18;select * from precios_8__17

6 Hacer una vista de las facturas donde los clientes gastaron más de 50 soles además de sus nombrescreate view factura_mayor50 as

Page 32: Final base de datos

select a.cliente_nombre, b.factura_id, b.venta_total, b.venta_fecha, b.cliente_id, b.empleado_id, b.mesa_id from cliente a, factura b where b.venta_total > 50 AND a.cliente_id = b.cliente_id;

select * from factura_mayor50

7 Realizar una vista de los reportes con el gasto total hecho por cada cliente en el año 2014create view gasto_cliente as select a.cliente_id, a.cliente_nombre, a.cliente_apellido, b.TOTAL_GASTADO_2014from cliente a, (select cliente_id, SUM(venta_total) AS "TOTAL_GASTADO_2014" from (select * from factura where venta_fecha > '1/1/2014') group by cliente_id) bwhere a.cliente_id = b.cliente_id; select * from gasto_cliente

8 Realizar una vista para visualizar el reporte con el gasto total hecho por cada cliente en el año 2014 create view cliente_que_gasta_mas asselect a.cliente_id, a.cliente_nombre, a.cliente_apellido, b.TOTAL_GASTADOfrom cliente a, (select cliente_id, SUM(venta_total) AS "TOTAL_GASTADO" from factura group by cliente_id) b WHERE A.CLIENTE_ID = B.CLIENTE_ID AND b.TOTAL_GASTADO = (select MAX(TOTAL_GASTADO) as "TOTAL_GASTADO"from (select a.cliente_id, a.cliente_nombre, a.cliente_apellido, b.TOTAL_GASTADOfrom cliente a, (select cliente_id, SUM(venta_total) AS "TOTAL_GASTADO" from factura group by cliente_id) b WHERE A.CLIENTE_ID = B.CLIENTE_ID))

select * from cliente_que_gasta_mas