Está en la página 1de 15

INSTITUTO TECNOLOGICO DE OAXACA MATERIA: ADMINISTRACION DE BASE DE DATOS DOCENTE: ING.

MARICELA HERNANDEZ MORALES CONTENIDO: DOCUMENTACION DEL PROYECTO PRESENTAN:


HERNANDEZ VASQUEZ ALEJANDRA CARMEN OROZCO ORDAZ JOSE EDWIN RUIZ AVENDAO LUZ ARIADNE CARRERA:
INGENIERIA EN SISTEMAS COMPUTACIONALES

GRUPO: ISA

HORA: 9:00-10:00

INTRODUCCION
Con el transcurso del tiempo la tecnologa avanza, las empresas se sienten en la necesidad de adquirir tecnologa para el mejoramiento de sus sistemas y a las vez sus procedimientos, con el fin de garantizar un eficaz funcionamiento y as obtener una adaptacin paralela de condiciones con las empresas lderes del mercado. Tomando en cuenta que en el mundo, en pases industrializados y desarrollados existen sistemas automatizados mucho ms avanzados que le permiten un eficaz desenvolvimiento y desempeo de sus actividades rutinarias para facilitar a las mismas, es el caso de EEUU y de CHINA que estn a la vanguardia de la tecnologa con respecto a la automatizacin de la informacin (base de datos, registro, red mundial) ya que gracias a su desarrollo estos van al comps de la innovacin de las tecnologas en la informtica. Por lo anteriormente expresado el desarrollo que se ha llevado a cabo en el campo de la informtica, tal vez la palabra clave es la comunicacin, pues el hombre ha sido capaz de comunicarse ms fcilmente con un deseo interminable, que se puede decir, no se ha realizado del todo pero va encaminado hacia l, es un hecho que las computadoras liberan al hombre de las abrumadoras tareas de efectuar rutinas masivas y le permite emplear su inteligencia en tareas ms estimulantes e interesantes. Por lo tanto las computadoras son ms que un cerebro de alta velocidad, se ha convertido en un auxiliar del hombre para una amplia variedad de tareas.

OBJETIVOS
Objetivos generales.
Desarrollar e implementar un sistema de control para automatizar procesos de venta, compra en beneficio de los clientes.

Objetivos especficos.
Conocer las necesidades de la tienda en cuanto compra y venta mediante charlas, entrevistas y preguntas al personal que forma parte del proceso. Mejorar el proceso de operacin de control mediante la implementacin del sistema. Lograr la satisfaccin de los usuarios que interacten con el sistema.

PLANTEAMIENTO DEL PROBLEMA


La pequea empresa no cuenta con un sistema, y el manejo actual de esta no funciona adecuadamente, ya que no se cubre las necesidades bsicas para tareas administrativas que la empresa requiere, entre los problemas que se detectaron, es que el proceso de cobro y bsqueda de precios, ya que se utilizan procesos no automatizados que generan prdida de tiempo y recursos. Para el proceso de venta se tienen personal de ventas, los cuales se encargan de captar la atencin de un cliente para ofrecer los diferentes productos con los que cuenta la tienda. El problema que se detecto es que los vendedores llevan el control de sus ventas en hojas cuadriculadas, esto conlleva que no se tiene buena seguridad del manejo de la informacin. En el rea financiera, todos los procedimientos de pago de forma adecuada, como compra y venta. El historial de compra se controla a travs de la cajera, esta. En cuanto a los proveedores ellos tiene que registrar los precios en el sistema para que as se arme de manera inmediata una lista de pedidos.

JUSTIFICACION
El equipo desarrollara un sistema capaz que cubrir las necesidades de una forma que la informacin sea accesible y ms segura eliminado las hojas cuadriculadas. El cliente ser registrado en la base de datos si es un comprador frecuente de tal manera que se tenga un seguimiento de las compras frecuentes que realice y el consumo por cada compra. Para la captura de los precios se necesitara hacer uso de las hojas cuadriculadas para ir almacenando la informacin en la base de datos de tal manera que ya se cuente con este registro y as mismo poder actualizarlos continuamente. El cajero podr llevar el control desde el sistema de todas las operaciones monetarias que surjan, desde el pago del producto a los proveedores, cobro de ventas, ventas de productos, adeudos de clientes. El sistema contara con funciones diferentes para cada nivel de empleado y respecto a la funcin que realicen.

MARCO TEORICO
POSTGRESQL Es un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD. Es de cdigo abierto. Implementacin del estndar SQL92/SQL99. Soporta distintos tipos de datos: adems del soporte para los tipos base, tambin soporta datos de tipo fecha, monetarios, elementos grficos, datos sobre redes (MAC, IP ...), cadenas de bits, etc. Tambin permite la creacin de tipos propios. Incorpora una estructura de datos array. Incorpora funciones de diversa ndole: manejo de fechas, geomtricas, orientadas a operaciones con redes, etc. Permite la declaracin de funciones propias, as como la definicin de disparadores. Soporta el uso de ndices, reglas y vistas. Incluye herencia entre tablas (aunque no entre objetos, ya que no existen), por lo que a este gestor de bases de datos se le incluye entre los gestores objeto-relacionales. Permite la gestin de diferentes usuarios, como tambin los permisos asignados a cada uno de ellos

MODELO ENTIDAD RELACION

TABLAS NORMALIZADAS
3FN

1 FN

TRIGGERS
DROP TRIGGER sumar_existencia ON detalle_compra; CREATE OR REPLACE FUNCTION restar_existencia() RETURNS TRIGGER AS $restar_existencia$ DECLARE BEGIN UPDATE producto SET existencia= (select existencia from producto, producto_vendido where producto.id_producto=NEW.id_producto group by existencia)-NEW.cantidad WHERE producto.id_producto=NEW.id_producto;

RETURN NEW; END; $restar_existencia$ LANGUAGE plpgsql;

CREATE TRIGGER restar_existencia BEFORE INSERT OR UPDATE ON producto_vendido FOR EACH ROW EXECUTE PROCEDURE restar_existencia();

CREATE OR REPLACE FUNCTION sumar_existencia() RETURNS TRIGGER AS $sumar_existencia$ DECLARE BEGIN UPDATE producto SET existencia= (select existencia from producto where producto.id_producto=NEW.id_producto )+(select cantidad from compra where compra.id_compra=NEW.id_compra) WHERE producto.id_producto=NEW.id_producto;

RETURN NEW; END; $sumar_existencia$ LANGUAGE plpgsql;

CREATE TRIGGER sumar_existencia AFTER INSERT OR UPDATE ON detalle_compra FOR EACH ROW EXECUTE PROCEDURE sumar_existencia();

CREATE OR REPLACE FUNCTION eliminar_provedor_de_agenda() RETURNS TRIGGER AS $eliminar_provedor_de_agenda$ DECLARE BEGIN DELETE FROM agenda WHERE id_proveedor=OLD.id_proveedor;

RETURN OLD; END; $eliminar_provedor_de_agenda$ LANGUAGE plpgsql;

CREATE TRIGGER eliminar_provedor_de_agenda BEFORE DELETE ON proveedor FOR EACH ROW EXECUTE PROCEDURE eliminar_provedor_de_agenda();

CREATE OR REPLACE FUNCTION eliminar_provedor_de_detalle() RETURNS TRIGGER AS $eliminar_provedor_de_detalle$ DECLARE

BEGIN DELETE FROM detalle_compra WHERE id_proveedor=OLD.id_proveedor;

RETURN OLD; END; $eliminar_provedor_de_detalle$ LANGUAGE plpgsql;

CREATE TRIGGER eliminar_provedor_de_detalle BEFORE DELETE ON proveedor FOR EACH ROW EXECUTE PROCEDURE eliminar_provedor_de_detalle();

USUARIOS
create user cajero password 'cajero' NOCREATEDB NOCREATEUSER; create user encargado password 'encargado' NOCREATEDB NOCREATEUSER; create user duenho password 'duenho' NOCREATEDB NOCREATEUSER; --create user administrador password 'administrador' NOCREATEDB NOCREATEUSER; /* grant select,insert,delete,update on agenda,cajero,compra,detalle_compra,credito_cliente,detalle_credito,detalle_venta,empleado,en cargado,info_cliente,piso,producto,producto_vendido,proveedor,venta to administrador; revoke all privileges on agenda,cajero,compra,detalle_compra,credito_cliente,detalle_credito,detalle_venta,empleado,en cargado,info_cliente,piso,producto,producto_vendido,proveedor,venta from duenho; */

grant select,insert,update on detalle_venta,venta,producto,producto_vendido to cajero; grant select on empleado,cajero to cajero;

grant select,insert,update,delete on agenda,cajero,compra,detalle_compra,credito_cliente,detalle_credito,detalle_venta,empleado,en cargado,info_cliente,piso,producto,producto_vendido,proveedor,venta to duenho;

grant select,insert,update on agenda,cajero,compra,detalle_compra,credito_cliente,detalle_credito,detalle_venta,empleado,inf o_cliente,piso,producto_vendido,venta,producto to encargado;

grant select on proveedor,producto to encargado;

grant select on encargado to cajero;