Diccionario de Datos de un inventario

21
Diccionario de Datos Proyecto: “DESARROLLO DE UN SISTEMA INFORMÁTICO PARA LA AUTOMATIZACIÓN DEL CONTROL DE INVENTARIO DE ACTIVOS FIJOS Y BIENES, UTILIZANDO SOFTWARE LIBRE, PARA LA UNIDAD EDUCATIVA DEL “MILENIOMI INUN YA” EN EL CANTÓN SANTO DOMINGO DE LOS COLORADOS. AÑO 2!".”

description

Diccionario de datos de un sistema de control de inventario

Transcript of Diccionario de Datos de un inventario

4

Diccionario de Datos Proyecto: DESARROLLO DE UN SISTEMA INFORMTICO PARA LA AUTOMATIZACIN DEL CONTROL DE INVENTARIO DE ACTIVOS FIJOS Y BIENES, UTILIZANDO SOFTWARE LIBRE, PARA LA UNIDAD EDUCATIVA DEL MILENIO MI INUN YA EN EL CANTN SANTO DOMINGO DE LOS COLORADOS. AO 2014.

NDICE DE CONTENIDOS1.INTRODUCCIN52.TABLAS52.1Parametrizacin52.2Lista de Tablas52.2.1Tabla categoras_productos62.2.2Tabla clientes62.2.3Tabla departamentos72.2.4Tabla ingresos_productos82.2.5Tabla movientos_productos82.2.6Tabla ordenes_ingreso92.2.7Tabla ordenes_pedido102.2.8Tabla pedidos_productos102.2.9Tabla productos112.2.10Tabla proveedores122.2.11Tabla usuarios133.FUNCIONES143.1Parametrizacin143.2Lista de Funciones143.2.1Funcin sp_eliminar153.2.2Funcin sp_guardar_categoria153.2.3Funcin sp_guardar_cliente163.2.4Funcin sp_guardar_departamento173.2.5Funcin sp_guardar_orden_ingreso173.2.6Funcin sp_guardar_orden_pedido183.2.7Funcin sp_guardar_producto193.2.8Funcin sp_guardar_proveedor203.2.9Funcin sp_guardar_usuario20

LISTA DE TABLASTabla 1: Lista de Tablas5Tabla 2: Tabla categorias_productos6Tabla 3: Restricciones Tabla categoras_productos6Tabla 4: Tabla de clientes6Tabla 5: Restricciones Tabla clientes7Tabla 6: Tabla departamentos7Tabla 7: Restricciones Tabla departamentos7Tabla 8: Tabla de ingresos_productos8Tabla 9: Restricciones Tabla ingresos_productos8Tabla 10: Tabla de movimientos_productos8Tabla 11: Restricciones de la Tabla movimientos_productos9Tabla 12: Tabla de ordenes_ingreso9Tabla 13: Restricciones Tabla proveedores9Tabla 14: Tabla de ordenes_pedido10Tabla 15: Restricciones Tabla proveedores10Tabla 16: Tabla de pedidos_productos10Tabla 17: Restricciones Tabla pedidos_productos11Tabla 18: Tabla de productos11Tabla 19: Restricciones Tabla productos12Tabla 20: Tabla de proveedores12Tabla 21: Restricciones Tabla proveedores12Tabla 22: Tabla de usuarios13Tabla 23: Restricciones Tabla usuarios13Tabla 24: Lista de Funciones14Tabla 25: Funcin sp_eliminar15Tabla 26: Funcin sp_guardar_categoria15Tabla 27: Funcin sp_guardar_cliente16Tabla 28: Funcin sp_guardar_departamento17Tabla 29: Funcin sp_guardar_orden_ingreso17Tabla 30: Funcin sp_guardar_orden_pedido18Tabla 31: Funcin sp_guardar_producto19Tabla 32: Funcin sp_guardar_proveedor20Tabla 33: Funcin sp_guardar_usuario21

1. INTRODUCCINEl presente documento contiene el diccionario de datos, donde se describen las caractersticas lgicas utilizadas en el sistema para el control de inventario de activos fijos y bienes.2. TABLAS2.1 ParametrizacinCada tabla del Sistema de control de inventario de activos fijos y bienes inicia con el nombre propio que se le ha designado a la tabla en el cual define su contenido.2.2 Lista de TablasLista de las tablas utilizadas en el desarrollo del modelo de la base de datos para el sistema de control de inventario de activos fijos y bienes.N.-Nombre de la TablaDescripcin

1CATEGORIAS_PRODUCTOSTabla que contiene las categoras de los activos fijos y bienes.

2CLIENTESTabla que contiene a las personas u entidades que harn uso del inventario.

3DEPARTAMENTOSTabla que contiene los departamentos a los cuales pertenecen los clientes.

4INGRESOS_PRODUCOSTabla que almacena el detalle de las ordenes de ingreso

5MOVIMIENTOS_PRODUCTOSTabla que contiene el movimiento de stock de los productos.

6ORDENES_INGRESOTabla que contiene las ordenes de ingreso de los activos fijos y bienes.

7ORDENES_PEDIDOTabla que contiene las ordenes de pedido de los activos fijos y bienes.

8PEDIDOS_PRODUCTOSTabla que almacena el detalle de las ordenes de pedido

9PRODUCTOSTabla que contiene los activos fijos y bienes de la unidad educativa.

10PROVEEDORESTabla que contiene la informacin de los proveedores de los activos fijos y bienes.

11USUARIOSTabla que contiene a los usuarios del sistema.

Tabla 1: Lista de TablasFuente: Los autores2.2.1 Tabla categoras_productosN.-Nombre de ColumnaTipo de DatosNullComentarios

1cpro_idIntegerNoCdigo secuencial de categorias_productos

2cpro_nombrecharacter varying(100)NoNombre de la categora

3cpro_estadoSmallintNoEstado de la categora

Tabla 2: Tabla categorias_productosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_categorias_productoPRIMARY KEYcpro_id

Tabla 3: Restricciones Tabla categoras_productosFuente: Los autores2.2.2 Tabla clientesN.-Nombre de ColumnaTipo de DatosNullComentarios

1cli_idintegerNoCdigo secuencial de clientes

2cli_identificacioncharacter varying(13)NoCedula del cliente

3cli_nombrescharacter varying(50)NoNombres del cliente

4cli_apellidoscharacter varying(50)NoApellidos del cliente

5cli_telefonocharacter varying(20)SITelfono del cliente

6cli_correocharacter varying(100)SICorreo electrnico del cliente

7cli_estadosmallintNoEstado del cliente

8depa_idinteger NoCdigo secuencial de departamentos

Tabla 4: Tabla de clientesFuente: Los autores

RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_clientesPRIMARY KEYcli_id

fk_departamentos_idFOREIGN KEY depa_idDepartamentosdepa_id

Tabla 5: Restricciones Tabla clientesFuente: Los autores2.2.3 Tabla departamentosN.-Nombre de ColumnaTipo de DatosNullComentarios

1depa_idintegerNoCdigo secuencial de departamentos

2depa_nombrecharacter varying(100)NoNombre del departamento

3depa_descripcioncharacter varying(100)SiDescripcin del departamento

4depa_estadosmallintNoEstado del departamento

Tabla 6: Tabla departamentosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_departamentosPRIMARY KEYdepa_id

Tabla 7: Restricciones Tabla departamentosFuente: Los autores

2.2.4 Tabla ingresos_productosN.-Nombre de ColumnaTipo de DatosNullComentarios

1ingrpro_idintegerNoCdigo secuencial de ingresos_productos

2ingrpro_cantidadintegerNoCantidad del producto para la orden de ingreso

3ingrpro_preciodouble precisinNoPrecio del producto

4ingr_idintegerNoCdigo de orden de ingreso

5prod_idintegerNoCdigo secuencial de los productos

Tabla 8: Tabla de ingresos_productosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_ingresos_productosPRIMARY KEYingrpor_id

fk_ordenes_ingresoFOREIGN KEY ingr_idOrdenes_ingresoingr_id

fk_productosFOREIGN KEY prod_idproductosprod_id

Tabla 9: Restricciones Tabla ingresos_productosFuente: Los autores

2.2.5 Tabla movientos_productosN.-Nombre de ColumnaTipo de DatosNullComentarios

1pmov_idintegerNoCdigo secuencial de los movimientos de stock de productos

2prod_idintegerNoCdigo secuencial de productos

3pmov_fechacharacter varying (10)NoFecha del movimiento

4pmov_cantidadintegerNoCantidad del movimiento de producto

5pmov_tipointegerNoTipo de movimiento

5pmov_estadosmallintNoEstado del movimiento de producto

Tabla 10: Tabla de movimientos_productosFuente: Los autores

RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_movimientos_productosPRIMARY KEYpmov_id

fk_productosFOREIGN KEY prod_idproductosprod_id

Tabla 11: Restricciones de la Tabla movimientos_productosFuente: Los autores2.2.6 Tabla ordenes_ingresoN.-Nombre de ColumnaTipo de DatosNullComentarios

1ingr_idintegerNoCdigo secuencial de los ordenes_ingreso

2usua_idintegerNoCdigo secuencial de usuarios

3prov_idintegerNOCdigo secuencial de proveedores

4ingr_facturacharacter varying(20)NONumero de factura

5ingr_curcharacter varying(20)NOCUR

6ingr_tiposmallintNOTipo de ingreso

7ingr_actacharacter varying(20)SIActa asociado al ingreso

8ingr_estadosmallintNoEstado de las ordenes de ingreso

Tabla 12: Tabla de ordenes_ingresoFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_ordenes_ingresoPRIMARY KEYingr_id

fk_proveedoresFOREIGN KEY prov_idProveedoresprov_id

Tabla 13: Restricciones Tabla proveedoresFuente: Los autores

2.2.7 Tabla ordenes_pedidoN.-Nombre de ColumnaTipo de DatosNullComentarios

1pedi_idintegerNoCdigo secuencial de las ordenes de pedido

2pedi_clienteintegerNoCdigo secuencial de clientes

3usua_idintegerNOCdigo secuencial de usuarios

4pedi_fechacharacter varying(20)NONumero de factura

5pedi_observacionescharacter varying(20)NOObservaciones del pedido

6pedi_tiposmallintNOTipo de pedido

7pedi_actacharacter varying(20)SIActa asociado al pedido

8pedi_estadosmallintNoEstado de las ordenes de pedido

Tabla 14: Tabla de ordenes_pedidoFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_ordenes_pedidoPRIMARY KEYpedi_id

fk_clientesFOREIGN KEY cli_idClientescli_id

fk_usuariosFOREIGN KEY usua_idUsuariosusua_id

Tabla 15: Restricciones Tabla proveedoresFuente: Los autores2.2.8 Tabla pedidos_productosN.-Nombre de ColumnaTipo de DatosNullComentarios

1pedipro_idIntegerNoCdigo secuencial de los clientes

2pedipro _cantidadCharacter varying(13)NoCedula del cliente

3Prod_idCharacter varying(50)NoNombres del cliente

4Pedi_idCharacter varying(50)NoApellidos del cliente

Tabla 16: Tabla de pedidos_productosFuente: Los autores

RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_pedidos_productosPRIMARY KEYcli_id

fk_productosFOREIGN KEY prod_idproductosprod_id

fk_ordenes_pedidoFOREIGN KEY pedi_idOrdenes_pedidopedi_id

Tabla 17: Restricciones Tabla pedidos_productosFuente: Los autores2.2.9 Tabla productosN.-Nombre de ColumnaTipo de DatosNullComentarios

1prod_idintegerNoCdigo secuencial de los productos

2prod_categoriasmallintNoCdigo secuencial de categora de productos

3prod_codigocharacter varying(50)NoCdigo del producto

4prod_descripcioncharacter varying(500)NoNombre descriptivo del producto

5prod_pcpdouble precisinNOPrecio del producto

6prod_vidautilsmallintNOVida til del producto

7prod_custodiocharacter varying(50)NOCustodio del producto

8prod_tiposmallintNOTipo de producto

1prod_seriecharacter varying(50)NOSerie del producto

2prod_marcacharacter varying(100)SIMarca del producto

3prod_modelocharacter varying(100)SIModelo del producto

4prod_esctructuracharacter varying(100)NOEstructura del producto

5prod_colorcharacter varying(50)NOColor del producto

6prod_condicioncharacter varying(50)NOCondicin del producto

7prod_estadosmallintNOEstado del producto

8prod_ubicacioncharacter varying(100)NOUbicacin del producto

Tabla 18: Tabla de productosFuente: Los autores

RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_productosPRIMARY KEYcli_id

fk_caracteristicas_productoFOREIGN KEY prod_categoriaCategorias_productoscpro_id

Tabla 19: Restricciones Tabla productosFuente: Los autores2.2.10 Tabla proveedoresN.-Nombre de ColumnaTipo de DatosNullComentarios

1prov_idIntegerNoCdigo secuencial de los proveedores

2prov_identificacioncharacter varying(13)NoCedula o ruc del proveedor

3prov_nombrecharacter varying(80)NoNombre del proveedor

4prov_direccioncharacter varying(80)NoDireccin del proveedor

5prov_telefono1character varying(12)SITelfono del proveedor

6prov_correo1character varying(40)SICorreo electrnico del proveedor

7prov_tipointegerNoTipo de proveedor

8prov_estadosmallint NoEstado del proveedor

Tabla 20: Tabla de proveedoresFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_proveedoresPRIMARY KEYprov_id

Tabla 21: Restricciones Tabla proveedoresFuente: Los autores

2.2.11 Tabla usuariosN.-Nombre de ColumnaTipo de DatosNullComentarios

1usua_idintegerNoCdigo secuencial de los usuarios

2usua_logincharacter varying(15)NoLogin para el acceso al sistema

3usua_passwordcharacter varying(15)NoContrasea del usuario

4usua_nombrecharacter varying(60)NoNombres del usuario

5usua_correocharacter varying(100)SICorreo electrnico del cliente

6usua_tipointegerSIPerfil del usuario

7usua_estadosmallintNoEstado del usuario

8depa_idinteger NoCdigo secuencial de departamentos

Tabla 22: Tabla de usuariosFuente: Los autores RestriccionesNombreTipoColumna LocalTabla Ref.Columna de Ref.

pk_usuariosPRIMARY KEYusua_id

Tabla 23: Restricciones Tabla usuariosFuente: Los autores

3. FUNCIONES

3.1 ParametrizacinCada funcin del sistema de control de inventario de activos fijos y bienes comienzan con el prefijo sp seguido de un nombre el cual define su funcionamiento.3.2 Lista de FuncionesLista de las funciones del sistema de control de inventario de activos fijos con su respectiva descripcin.N.-Nombre de la FuncinDescripcin

1sp_eliminarFuncion que permite eliminar los registros de las tablas que se puedan eliminar sus datos.

2sp_guardar_categoriaFuncion que permite guardar y modificar las categoras de productos

3sp_guardar_clienteFuncion que permite guardar y modificar los registros de los clientes

4sp_guardar_departamentoFuncion que permite guardar y modificar los registros de departamentos.

5sp_guardar_orden_ingresoFuncion que permite guardar ordenes de ingreso.

6sp_guardar_orden_pedidoFuncion que permite guardar ordenes de pedido.

7sp_guardar_productoFuncion que permite guardar o modificar los registros de los productos.

8sp_guardar_proveedorFuncion que permite guardar y modificar los proveedores.

9sp_guardar_usuarioFuncion que permite guardar y modificar los registros de usuarios.

Tabla 24: Lista de FuncionesFuente: Los autores

3.2.1 Funcin sp_eliminarCDIGO

CREATE FUNCTION sp_eliminar(tabla character varying, id integer) RETURNS integer AS$BODY$begin

if(tabla = 'clientes')thenupdate clientes set cli_estado=2 where cli_id=id;return 1;end if;

if(tabla = 'productos')thenupdate productos set prod_estado=2 where prod_id=id;return 1;end if;

if(tabla = 'proveedores')thenupdate proveedores set prov_estado=2 where prov_id=id;return 1;end if;

if(tabla = 'usuarios')thenupdate usuarios set usua_estado=2 where usua_id=id;return 1;end if;end;$BODY$

Tabla 25: Funcin sp_eliminar Fuente: Los autores3.2.2 Funcin sp_guardar_categoriaCDIGO

CREATE FUNCTION sp_guardar_categoria(opcion boolean, id integer, nombre character varying) RETURNS integer AS$BODY$begin

if(opcion = '0')thenINSERT INTO categorias_producto(cpro_nombre, cpro_estado)VALUES (nombre, 1);return 1;end if;

if(opcion = '1')thenUPDATE categorias_producto SET cpro_nombre=nombreWHERE cpro_id=id ;

return 1;end if; end;$BODY$

Tabla 26: Funcin sp_guardar_categoriaFuente: Los autores

3.2.3 Funcin sp_guardar_clienteCDIGO

CREATE FUNCTION sp_guardar_cliente(opcion boolean, id integer, ruc character varying, nombres character varying, apellidos character varying, telefono1 character varying, correo1 character varying, departamento integer)

RETURNS integer AS$BODY$beginif(opcion = '0')then

INSERT INTO clientes(cli_identificacion, cli_nombres, cli_apellidos, cli_telefono, cli_correo, depa_id, cli_estado) VALUES (ruc,nombres,apellidos,telefono1,correo1,departamento,1);return 1;end if;if(opcion = '1')thenUPDATE clientes SET cli_identificacion=ruc, cli_nombres=nombres, cli_apellidos=apellidos, cli_telefono=telefono1, cli_correo=correo1, depa_id=departamentoWHERE cli_id=id ;return 1;end if;

end;$BODY$

Tabla 27: Funcin sp_guardar_cliente Fuente: Los autores

3.2.4 Funcin sp_guardar_departamentoCDIGO

CREATE FUNCTION sp_guardar_departamento(opcion boolean, id integer, nombre character varying, descripcion character varying)

RETURNS integer AS$BODY$beginif(opcion = '0')thenINSERT INTO departamentos(depa_nombre, depa_descripcion, depa_estado)VALUES (nombre, descripcion, 1); return 1;end if;

if(opcion = '1')thenUPDATE departamentos SET depa_nombre=nombre, depa_descripcion=descripcionWHERE depa_id=id; return 1;end if;

end;$BODY$

Tabla 28: Funcin sp_guardar_departamentoFuente: Los autores3.2.5 Funcin sp_guardar_orden_ingresoCDIGO

CREATE FUNCTION sp_guardar_orden_ingreso(opcion boolean, idingreso integer, idusuario integer, idproveedor integer, factura character varying, fecha character varying, cur character varying, tipo integer, acta character varying, producto integer[], cantidad integer[], precio double precision[])RETURNS integer AS$BODY$DECLAREid_ingreso int;begin if opcion = '0' THENid_ingreso=nextval('ordenes_ingreso_ingr_id_seq'::regclass);INSERT INTO ordenes_ingreso(ingr_id, usua_id, prov_id, ingr_factura, ingr_fecha, ingr_cur, ingr_tipo,ingr_acta,ingr_estado)VALUES (id_ingreso, idusuario, idproveedor, factura, fecha,cur, tipo,acta, 1);

FOR i IN 1..(ARRAY_LENGTH(producto,1)) loopINSERT INTO ingresos_productos(ingrpro_cantidad, prod_id, ingr_id,ingrpro_precio)VALUES (cantidad[i],producto[i], id_ingreso,precio[i]);

UPDATE productos set prod_pcp = precio[i] where prod_id = producto[i];

INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (producto[i], current_date, cantidad[i],1,1);end loop; return id_ingreso;END IF; end;$BODY$

Tabla 29: Funcin sp_guardar_orden_ingresoFuente: Los autores

3.2.6 Funcin sp_guardar_orden_pedidoCDIGO

CREATE OR REPLACE FUNCTION sp_guardar_orden_pedido(opcion boolean, idpedido integer, idcliente integer, idusuario integer, fecha_pedido character varying, observaciones character varying, tipopedido integer, acta character varying, producto integer[], cantidad integer[]) RETURNS integer AS$BODY$DECLAREid_pedido int; begin IF opcion = '0' THENid_pedido=nextval('pedidos_pedi_id_seq'::regclass);INSERT INTO ordenes_pedido(pedi_id, pedi_cliente, usua_id, pedi_fecha, pedi_observaciones, pedi_tipo,pedi_acta, pedi_estado)VALUES (id_pedido, idcliente, idusuario, fecha_pedido, observaciones, tipopedido,acta, 1);

if(array_length(producto, 1)>0)thenFOR i IN 1..(ARRAY_LENGTH(producto,1)) loop

INSERT INTO pedidos_productos(pedipro_cantidad, prod_id, pedi_id)VALUES (cantidad[i],producto[i], id_pedido );

INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (producto[i], current_date, -cantidad[i],2,1);

end loop; end if;return id_pedido;END IF;

IF opcion = '1' THENupdate ordenes_pedido set pedi_observaciones=observaciones, pedi_estado=2where pedi_id=idpedido;

if(array_length(producto, 1)>0)thenFOR i IN 1..(ARRAY_LENGTH(producto,1)) loopINSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (producto[i], current_date, cantidad[i],2,1);end loop; end if;return 1;END IF; end;$BODY$

Tabla 30: Funcin sp_guardar_orden_pedidoFuente: Los autores

3.2.7 Funcin sp_guardar_productoCDIGO

CREATE OR REPLACE FUNCTION sp_guardar_producto(opcion boolean, id_producto integer, id_categoria integer, codigo_pro character varying, nombre_pro character varying, precioc double precision, vidautil integer, custodio character varying, tipo_pro integer, serie character varying, marca character varying, modelo character varying, estructura character varying, color character varying, condicion character varying, ubicacion_pro character varying, cantidad_pro integer) RETURNS integer AS$BODY$DECLAREid_pro int; begin IF opcion = '0' THENid_pro=nextval('productos_prod_id_seq'::regclass);INSERT INTO productos(prod_id,prod_categoria, prod_codigo, prod_descripcion, prod_pcp, prod_vidautil, prod_custodio, prod_tipo, prod_serie, prod_marca, prod_modelo, prod_estructura, prod_color, prod_condicion, prod_estado,prod_ubicacion)VALUES (id_pro,id_categoria, codigo_pro, nombre_pro, precioc, vidautil, custodio, tipo_pro, serie, marca, modelo, estructura, color, condicion, 1,ubicacion_pro);

INSERT INTO movimientos_productos(prod_id, pmov_fecha, pmov_cantidad, pmov_tipo, pmov_estado)VALUES (id_pro, current_date, cantidad_pro, tipo_pro, 1);

END IF;

IF opcion = '1' THENUPDATE productos SET prod_categoria=id_categoria, prod_codigo=codigo_pro, prod_descripcion=nombre_pro, prod_pcp=precioc, prod_vidautil=vidautil, prod_custodio=custodio, prod_tipo=tipo_pro, prod_serie=serie, prod_marca=marca, prod_modelo=modelo, prod_estructura=estructura, prod_color=color, prod_condicion=condicion,prod_ubicacion=ubicacion_pro WHERE prod_id=id_producto ;

END IF; return 1;end;$BODY$

Tabla 31: Funcin sp_guardar_productoFuente: Los autores

3.2.8 Funcin sp_guardar_proveedorCDIGO

CREATE OR REPLACE FUNCTION sp_guardar_proveedor(opcion boolean, id integer, ruc character varying, nombre character varying, direccion character varying, telefono1 character varying, correo1 character varying, tipo integer) RETURNS integer AS$BODY$

begin

if(opcion = '0')thenINSERT INTO proveedores(prov_identificacion, prov_nombre, prov_direccion, prov_telefono1, prov_correo1, prov_tipo, prov_estado)VALUES ( ruc, nombre, direccion, telefono1, correo1,tipo, 1);return 1;end if;

if(opcion = '1')thenUPDATE proveedores SET prov_identificacion=ruc, prov_nombre=nombre, prov_direccion=direccion, prov_telefono1=telefono1, prov_correo1=correo1,prov_tipo = tipoWHERE prov_id=id ;

return 1;end if;end;$BODY$

Tabla 32: Funcin sp_guardar_proveedorFuente: Los autores3.2.9 Funcin sp_guardar_usuarioCDIGO

CREATE OR REPLACE FUNCTION sp_guardar_usuario(opcion boolean, id integer, login character varying, pass character varying, nombres character varying, correo character varying, tipo integer) RETURNS character varying AS$BODY$

begin

if(opcion = '0')thenINSERT INTO usuarios(usua_login, usua_password, usua_nombre, usua_correo, usua_tipo, usua_estado)VALUES (login,pass,nombres,correo,tipo,1);return 'Datos Ingresados Correctamente';end if;

if(opcion = '1')thenUPDATE usuarios SET usua_login=login, usua_password=pass, usua_nombre=nombres, usua_correo=correo, usua_tipo=tipoWHERE usua_id=id;

return 'Datos Modificados Correctamente';end if;

end;$BODY$

Tabla 33: Funcin sp_guardar_usuarioFuente: Los autores