Professional Documents
Culture Documents
DATOS INFORMATIVOS
El desarrollo del diseño de la base de datos abarca diferentes modelos (DER, ML, MF), en
este caso identificamos # entidades que intervienen directamente en el problema, las
cuales son:
- TABLA 1: Cliente
- TABLA 2: Ocupación
- TABLA 3: Teléfono
- TABLA 4: Venta
- TABLA 5: Detalle-Venta
- TABLA 6: Empresa
- TABLA 7: Sucursal
- TABLA 8: Usuario
- TABLA 9: Usuario-Rol
- TABLA 10: Rol
- TABLA 11: Compra
- TABLA 12: Detalle-Compra
- TABLA 13: Proveedor
- TABLA 14: Producto
- TABLA 15: Detalle-Producto
- TABLA 16: Categoría
- TABLA 17: Subcategoría
2. Objetivos
2.1 Objetivo General
La base de datos en general se los puede comparar en años atrás como los grandes
y a veces molestos libros en donde se tenía que guardar todo lo que existiera ya sea
en caso de una tienda sus productos entre otros, pero con el conforme avance de la
tecnología estos procesos han tomado un ritmo diferente en el cual tener todo esa
información de forma segura y sin la necesidad que se pierda, en la cual se realice
una búsqueda, inserción o modificación y sea de forma más ágil y simple en su caso
para el usuario final y para usuario avanzado los procesos se den de forma correcta.
En este caso la base de datos que se muestra en el presente documento está acorde
con los requerimientos deseados del cliente después de una explicación por parte
del cliente y del grupo desarrollo dando una que otra sugerencia del cómo puede
quedar el esquema en forma final.
La gestión de control de inventarios de la “papelería académica” la cual en síntesis
ayudara a que esta pequeña empresa tenga una mejora en su atención a sí mismo
como tener una retroalimentación al momento de manejar de mejor forma sus
productos y así no tener problemas con los mismo.
Por lo tanto, siempre es importante tener todos los aspectos validos y coherentes
para asi crear nuestra base de datos de forma ordenada y segura.
3.1 Diseño conceptual de la Base de Datos
El diseño conceptual de esta base de datos nos permite tener un pre esquema siendo el básico o con el cual se inicia con el
diagramado y asi dar una pequeña idea al cliente de lo que el desea y realizar las modificaciones necesarias.
Figura 1: Modelo Entidad- Relación (DER) para el sistema de control de gestión de inventarios “Papeleria Academcia”
3.2 Diseño lógico de la Base de Datos
El diseño lógico de la bade de datos nos ayuda en forma mas formal a ver como esta nuestra base de datos y cada uno de sus
campos como asi de las diferentes variables asignadas o en su caso claves priamrias o foráneas el tipo de realcion que tienen
entre cada una de las tablas y en forma practica haciendo mas fácil la idea del esquema al momento de quererlo modificas.
Figura 2: Modelo Relacional (DR) para el sistema de gestión de control de inventarios de “Papeleria Academica”
3.3 Diseño Físico de la Base de Datos
El diseño físico de la base de datos es laforma en la cual podemos ver como esta
constituida nuestra base dedatos además de nuestro diccionari dedatos cual nos
permite guiarnos y observar los tipos de datos, las denominaciones, campos,
tamaño por lo que será de manera mas entendible hasta para poder realizar
cualquier cambio
Tabla 1: Cliente
Tabla 2: Ocupación
Tabla 3: Teléfono
Tabla 5: Detalle-Venta
Tabla 6: Empresa
Tabla 8: Usuario
USE graphdemo;
go
--
-- TOC entry 207 (class 1259 OID 16478)
-- Name: cliente_clienteID_seq; Type: SEQUENCE; Schema:
esquema_venta; Owner: postgres
--
CREATE SEQUENCE esquema_venta."cliente_clienteID_seq"
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- TOC entry 2494 (class 0 OID 0)
-- Dependencies: 207
-- Name: cliente_clienteID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_venta; Owner: postgres
--
--
-- TOC entry 208 (class 1259 OID 16480)
-- Name: detalle_venta; Type: TABLE; Schema: esquema_venta; Owner:
postgres
–
--
-- TOC entry 211 (class 1259 OID 16488)
-- Name: ocupacion_ocupacionID_seq; Type: SEQUENCE; Schema:
esquema_venta; Owner: postgres
--
--
-- TOC entry 2496 (class 0 OID 0)
-- Dependencies: 211
-- Name: ocupacion_ocupacionID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_venta; Owner: postgres
--
--
-- TOC entry 212 (class 1259 OID 16490)
-- Name: telefono; Type: TABLE; Schema: esquema_venta; Owner:
postgres
–
--
-- TOC entry 213 (class 1259 OID 16493)
-- Name: telefono_telefonoID_seq; Type: SEQUENCE; Schema:
esquema_venta; Owner: postgres
--
--
-- TOC entry 2497 (class 0 OID 0)
-- Dependencies: 213
-- Name: telefono_telefonoID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_venta; Owner: postgres
--
--
-- TOC entry 214 (class 1259 OID 16495)
-- Name: venta; Type: TABLE; Schema: esquema_venta; Owner: postgres
–
--
-- TOC entry 209 (class 1259 OID 16483)
-- Name: detalle_Venta_detalleVID_seq; Type: SEQUENCE; Schema:
esquema_venta; Owner: postgres
--
--
-- TOC entry 2495 (class 0 OID 0)
-- Dependencies: 209
-- Name: detalle_Venta_detalleVID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_venta; Owner: postgres
--
--
-- TOC entry 210 (class 1259 OID 16485)
-- Name: ocupacion; Type: TABLE; Schema: esquema_venta; Owner:
postgres
–
CREATE TABLE esquema_empresa.empresa (
"empresaID" integer NOT NULL,
"razonSocial" character varying(150),
"representanteLegal" character varying(100),
"sectorActividad" character varying(100),
"objetivoNegocio" character varying(500)
);
--
-- TOC entry 197 (class 1259 OID 16439)
-- Name: empresa_empresaID_seq; Type: SEQUENCE; Schema:
esquema_empresa; Owner: postgres
--
--
-- TOC entry 2489 (class 0 OID 0)
-- Dependencies: 197
-- Name: empresa_empresaID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_empresa; Owner: postgres
--
--
-- TOC entry 198 (class 1259 OID 16441)
-- Name: sucursal; Type: TABLE; Schema: esquema_empresa; Owner:
postgres
–
CREATE TABLE esquema_empresa.sucursal (
"sucursalID" integer NOT NULL,
"nombreSucursal" character varying(150),
representante character varying(200),
direccion character varying(250),
ciudad character varying(100),
provincia character varying(100),
"empresaID" integer,
telefono character varying(10),
correo character varying(100)
);
--
-- TOC entry 199 (class 1259 OID 16447)
-- Name: sucursal_sucursalID_seq; Type: SEQUENCE; Schema:
esquema_empresa; Owner: postgres
--
--
-- TOC entry 2490 (class 0 OID 0)
-- Dependencies: 199
-- Name: sucursal_sucursalID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_empresa; Owner: postgres
--
--
-- TOC entry 215 (class 1259 OID 40991)
-- Name: usuario_usuarioID_seq; Type: SEQUENCE; Schema:
esquema_administracion; Owner: postgres
--
--
-- TOC entry 2484 (class 0 OID 0)
-- Dependencies: 215
-- Name: usuario_usuarioID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_administracion; Owner: postgres
--
--
-- TOC entry 221 (class 1259 OID 139275)
-- Name: usuariorol; Type: TABLE; Schema: esquema_administracion;
Owner: postgres
–
--
-- TOC entry 220 (class 1259 OID 139273)
-- Name: usuariorol_usuariorolID_seq; Type: SEQUENCE; Schema:
esquema_administracion; Owner: postgres
--
CREATE SEQUENCE
esquema_administracion."usuariorol_usuariorolID_seq"
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- TOC entry 2485 (class 0 OID 0)
-- Dependencies: 220
-- Name: usuariorol_usuariorolID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_administracion; Owner: postgres
--
ALTER SEQUENCE
esquema_administracion."usuariorol_usuariorolID_seq" OWNED BY
esquema_administracion.usuariorol."usuariorolID";
--
-- TOC entry 192 (class 1259 OID 16415)
-- Name: compra; Type: TABLE; Schema: esquema_compra; Owner:
postgres
–
--
-- TOC entry 191 (class 1259 OID 16405)
-- Name: rol_rolID_seq; Type: SEQUENCE; Schema:
esquema_administracion; Owner: postgres
--
--
-- TOC entry 2483 (class 0 OID 0)
-- Dependencies: 191
-- Name: rol_rolID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_administracion; Owner: postgres
--
--
-- TOC entry 216 (class 1259 OID 40993)
-- Name: usuario; Type: TABLE; Schema: esquema_administracion;
Owner: postgres
–
--
-- TOC entry 193 (class 1259 OID 16418)
-- Name: compra_compraID_seq; Type: SEQUENCE; Schema:
esquema_compra; Owner: postgres
--
--
-- TOC entry 2486 (class 0 OID 0)
-- Dependencies: 193
-- Name: compra_compraID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_compra; Owner: postgres
--
--
-- TOC entry 194 (class 1259 OID 16420)
-- Name: detalle_compra; Type: TABLE; Schema: esquema_compra;
Owner: postgres
–
--
-- TOC entry 195 (class 1259 OID 16423)
-- Name: detalle_compra_detalleCID_seq; Type: SEQUENCE; Schema:
esquema_compra; Owner: postgres
--
--
-- TOC entry 2487 (class 0 OID 0)
-- Dependencies: 195
-- Name: detalle_compra_detalleCID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_compra; Owner: postgres
--
--
-- TOC entry 218 (class 1259 OID 57369)
-- Name: proveedor; Type: TABLE; Schema: esquema_compra; Owner:
postgres
–
--
-- TOC entry 217 (class 1259 OID 57367)
-- Name: proveedor_proveedorID_seq; Type: SEQUENCE; Schema:
esquema_compra; Owner: postgres
--
--
-- TOC entry 2488 (class 0 OID 0)
-- Dependencies: 217
-- Name: proveedor_proveedorID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_compra; Owner: postgres
--
--
-- TOC entry 196 (class 1259 OID 16433)
-- Name: empresa; Type: TABLE; Schema: esquema_empresa; Owner:
postgres
–
--
-- TOC entry 203 (class 1259 OID 16465)
-- Name: producto_productoID_seq; Type: SEQUENCE; Schema:
esquema_inventario; Owner: postgres
--
--
-- TOC entry 2492 (class 0 OID 0)
-- Dependencies: 203
-- Name: producto_productoID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_inventario; Owner: postgres
--
--
-- TOC entry 204 (class 1259 OID 16467)
-- Name: subCategoria; Type: TABLE; Schema: esquema_inventario;
Owner: postgres
–
--
-- TOC entry 202 (class 1259 OID 16459)
-- Name: producto; Type: TABLE; Schema: esquema_inventario; Owner:
postgres
–
--
-- TOC entry 201 (class 1259 OID 16452)
-- Name: categoria_categoriaID_seq; Type: SEQUENCE; Schema:
esquema_inventario; Owner: postgres
--
--
-- TOC entry 2491 (class 0 OID 0)
-- Dependencies: 201
-- Name: categoria_categoriaID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_inventario; Owner: postgres
--
ALTER SEQUENCE esquema_inventario."categoria_categoriaID_seq"
OWNED BY esquema_inventario.categoria."categoriaID";
--
-- TOC entry 219 (class 1259 OID 114714)
-- Name: detalleProducto; Type: TABLE; Schema: esquema_inventario;
Owner: postgres
–
--
-- TOC entry 205 (class 1259 OID 16470)
-- Name: subCategoria_subCategoriaID_seq; Type: SEQUENCE; Schema:
esquema_inventario; Owner: postgres
--
CREATE SEQUENCE
esquema_inventario."subCategoria_subCategoriaID_seq"
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- TOC entry 2493 (class 0 OID 0)
-- Dependencies: 205
-- Name: subCategoria_subCategoriaID_seq; Type: SEQUENCE OWNED
BY; Schema: esquema_inventario; Owner: postgres
--
ALTER SEQUENCE
esquema_inventario."subCategoria_subCategoriaID_seq" OWNED BY
esquema_inventario."subCategoria"."subCategoriaID";
--
-- TOC entry 206 (class 1259 OID 16472)
-- Name: cliente; Type: TABLE; Schema: esquema_venta; Owner:
postgres
--
ALTER FUNCTION
esquema_venta.ocupacion_buscarporid(inocupacionid integer, OUT
outocupacionid integer, OUT outnombre character varying) OWNER TO
postgres;
Tabla 9: Función – Buscar Ocupación por nombre
Tipo: Function
Nombre: esquema_venta.ocupacion_buscarpornombre
Descripción: Busqueda de valores de ocupacion por nombre
CREATE FUNCTION
esquema_venta.ocupacion_buscarpornombre(innombre character
varying, OUT outocupacionid integer, OUT outnombre character
varying) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "ocupacionID", nombre
FROM esquema_venta.ocupacion
where nombre ilike '%'+$1+'%';
end;$_$;
ALTER FUNCTION
esquema_venta.ocupacion_buscarpornombre(innombre character
varying, OUT outocupacionid integer, OUT outnombre character
varying) OWNER TO postgres;
CREATE FUNCTION
esquema_venta.detalle_venta_buscarporid(indetallevid integer, OUT
outdetallevid integer, OUT outproductoid integer, OUT outcantidad
integer, OUT outpreciounitario money, OUT outporcentajedescuento
real, OUT outventaid integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "detalleVID", "productoID", cantidad, "precioUnitario",
"porcentajeDescuento", "ventaID"
FROM esquema_venta.detalle_venta
where "detalleVID"=$1;
end;$_$;
ALTER FUNCTION
esquema_venta.detalle_venta_buscarporid(indetallevid integer, OUT
outdetallevid integer, OUT outproductoid integer, OUT outcantidad
integer, OUT outpreciounitario money, OUT outporcentajedescuento
real, OUT outventaid integer) OWNER TO postgres;
CREATE FUNCTION
esquema_empresa.empresa_buscarporid(inempresaid integer, OUT
outempresaid integer, OUT outrazonsocial character varying, OUT
outrepresentantelegal character varying, OUT outsectoractividad
character varying, OUT outobjetivonegocio character varying) RETURNS
SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "empresaID", "razonSocial", "representanteLegal",
"sectorActividad", "objetivoNegocio"
FROM esquema_empresa.empresa
where "empresaID"=$1;
end;$_$;
CREATE FUNCTION
esquema_empresa.empresa_buscarpornombre(inrazonsocial character
varying, OUT outempresaid integer, OUT outrazonsocial character
varying, OUT outrepresentantelegal character varying, OUT
outsectoractividad character varying, OUT outobjetivonegocio character
varying) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "empresaID", "razonSocial", "representanteLegal",
"sectorActividad", "objetivoNegocio"
FROM esquema_empresa.empresa
where "razonSocial" ilike '%'+$1+'%';
end;$_$;
ALTER FUNCTION
esquema_empresa.empresa_buscarpornombre(inrazonsocial character
varying, OUT outempresaid integer, OUT outrazonsocial character
varying, OUT outrepresentantelegal character varying, OUT
outsectoractividad character varying, OUT outobjetivonegocio character
varying) OWNER TO postgres;
Tabla 30: Función – Buscar Listado de Empresa
Tipo: Function
Nombre: esquema_empresa.empresa_buscartodo
Descripción: Se busca los valores de empresa y se muestra en lista
CREATE FUNCTION esquema_empresa.empresa_buscartodo(OUT
outempresaid integer, OUT outrazonsocial character varying, OUT
outrepresentantelegal character varying, OUT outsectoractividad
character varying, OUT outobjetivonegocio character varying) RETURNS
SETOF record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "empresaID", "razonSocial", "representanteLegal",
"sectorActividad", "objetivoNegocio"
FROM esquema_empresa.empresa;
end;$$;
ALTER FUNCTION esquema_empresa.empresa_buscartodo(OUT
outempresaid integer, OUT outrazonsocial character varying, OUT
outrepresentantelegal character varying, OUT outsectoractividad
character varying, OUT outobjetivonegocio character varying) OWNER
TO postgres;
CREATE FUNCTION
esquema_empresa.sucursal_buscarporid(inempresaid integer, OUT
outsucursalid integer, OUT outnombresucursal character varying, OUT
outrepresentante character varying, OUT outdireccion character
varying, OUT outciudad character varying, OUT outprovincia character
varying, OUT outempresaid integer, OUT outtelefono character varying)
RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "sucursalID", "nombreSucursal", representante, direccion,
ciudad, provincia, "empresaID", telefono
FROM esquema_empresa.sucursal
where "sucursalID" = $1;
end;$_$;
ALTER FUNCTION esquema_empresa.sucursal_buscarporid(inempresaid
integer, OUT outsucursalid integer, OUT outnombresucursal character
varying, OUT outrepresentante character varying, OUT outdireccion
character varying, OUT outciudad character varying, OUT outprovincia
character varying, OUT outempresaid integer, OUT outtelefono
character varying) OWNER TO postgres;
Tabla 35: Función – Buscar Sucursal por Nombre
Tipo: Function
Nombre: esquema_empresa.sucursal_buscarpornombre
Descripción: Busca sucursal por nombre.
CREATE FUNCTION
esquema_empresa.sucursal_buscarpornombre(innombresucursal
character varying, OUT outsucursalid integer, OUT outnombresucursal
character varying, OUT outrepresentante character varying, OUT
outdireccion character varying, OUT outciudad character varying, OUT
outprovincia character varying, OUT outempresaid integer, OUT
outtelefono character varying) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "sucursalID", "nombreSucursal", representante, direccion,
ciudad, provincia, "empresaID", telefono
FROM esquema_empresa.sucursal
where "nombreSucursal" ilike '%'+$1+'%';
end;$_$;
ALTER FUNCTION
esquema_empresa.sucursal_buscarpornombre(innombresucursal
character varying, OUT outsucursalid integer, OUT outnombresucursal
character varying, OUT outrepresentante character varying, OUT
outdireccion character varying, OUT outciudad character varying, OUT
outprovincia character varying, OUT outempresaid integer, OUT
outtelefono character varying) OWNER TO postgres;
Tabla 36: Función – Buscar listado de Sucursal
Tipo: Function
Nombre: esquema_empresa.sucursal_buscartodo
Descripción: Busca valores de sucursal y muestra en listado
CREATE FUNCTION esquema_empresa.sucursal_buscartodo(OUT
outsucursalid integer, OUT outnombresucursal character varying, OUT
outrepresentante character varying, OUT outdireccion character varying,
OUT outciudad character varying, OUT outprovincia character varying,
OUT outempresaid integer, OUT outtelefono character varying) RETURNS
SETOF record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "sucursalID", "nombreSucursal", representante, direccion,
ciudad, provincia, "empresaID", telefono
FROM esquema_empresa.sucursal;
end;$$;
ALTER FUNCTION esquema_empresa.sucursal_buscartodo(OUT
outsucursalid integer, OUT outnombresucursal character varying, OUT
outrepresentante character varying, OUT outdireccion character
varying, OUT outciudad character varying, OUT outprovincia character
varying, OUT outempresaid integer, OUT outtelefono character varying)
OWNER TO postgres;
Tabla 37: Función – Editar Sucursal
Tipo: Function
Nombre: esquema_empresa.sucursal_editar
Descripción: Edita los valores de sucursal.
CREATE FUNCTION esquema_empresa.sucursal_editar(insucursalid
integer, innombresucursal character varying, inrepresentante character
varying, indireccion character varying, inciudad character varying,
inprovincia character varying, inempresaid integer, intelefono character
varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$
declare band boolean;
begin
UPDATE esquema_empresa.sucursal
SET "sucursalID"=$1, "nombreSucursal"=$2, representante=$3,
direccion=$4, ciudad=$5, provincia=$6, "empresaID"=$7, telefono=$8
WHERE "sucursalID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_empresa.sucursal_editar(insucursalid
integer, innombresucursal character varying, inrepresentante character
varying, indireccion character varying, inciudad character varying,
inprovincia character varying, inempresaid integer, intelefono character
varying) OWNER TO postgres;
CREATE FUNCTION
esquema_administracion.usuario_buscarporid(inusuarioid integer, OUT
outusuarioid integer, OUT outnombre character varying, OUT
outapellido character varying, OUT outdocumentoidentidad character
varying, OUT outtelefono character varying, OUT outdomicilio character
varying, OUT outciudad character varying, OUT outfechaingreso date,
OUT outfechasalida date, OUT outhorario character varying, OUT
outsucursalid integer, OUT outrolid integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "usuarioID", nombre, apellido, "documentoIdentidad", telefono,
domicilio, ciudad, "fechaIngreso", "fechaSalida", horario, "sucursalID",
"rolID"
FROM esquema_administracion.usuario
where "usuarioID"=$1;
end;$_$;
ALTER FUNCTION
esquema_administracion.usuario_buscarporid(inusuarioid integer, OUT
outusuarioid integer, OUT outnombre character varying, OUT
outapellido character varying, OUT outdocumentoidentidad character
varying, OUT outtelefono character varying, OUT outdomicilio character
varying, OUT outciudad character varying, OUT outfechaingreso date,
OUT outfechasalida date, OUT outhorario character varying, OUT
outsucursalid integer, OUT outrolid integer) OWNER TO postgres;
Tabla 41: Función – Buscar listado de Usuario
Tipo: Function
Nombre: esquema_administracion.usuario_buscartodo
Descripción: Busca valores de usuario y muestra en listado
CREATE FUNCTION
esquema_administracion.usuario_buscarpornombre(innombre
character varying, OUT outusuarioid integer, OUT outnombre character
varying, OUT outapellido character varying, OUT
outdocumentoidentidad character varying, OUT outtelefono character
varying, OUT outdomicilio character varying, OUT outciudad character
varying, OUT outfechaingreso date, OUT outfechasalida date, OUT
outhorario character varying, OUT outsucursalid integer, OUT outrolid
integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "usuarioID", nombre, apellido, "documentoIdentidad", telefono,
domicilio, ciudad, "fechaIngreso", "fechaSalida", horario, "sucursalID",
"rolID"
FROM esquema_administracion.usuario
where nombre Ilike '%'+$1+'%';
end;$_$;
ALTER FUNCTION
esquema_administracion.usuario_buscarpornombre(innombre
character varying, OUT outusuarioid integer, OUT outnombre character
varying, OUT outapellido character varying, OUT
outdocumentoidentidad character varying, OUT outtelefono character
varying, OUT outdomicilio character varying, OUT outciudad character
varying, OUT outfechaingreso date, OUT outfechasalida date, OUT
outhorario character varying, OUT outsucursalid integer, OUT outrolid
integer) OWNER TO postgres;
Tabla 43: Función – Editar Usuario
Tipo: Function
Nombre: esquema_administracion.usuario_editar
Descripción: Edita los valores de usuario
CREATE FUNCTION
esquema_administracion.usuario_eliminar(inusuarioid integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_administracion.usuario
WHERE "usuarioID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_administracion.usuario_eliminar(inusuarioid
integer) OWNER TO postgres;
CREATE FUNCTION
esquema_administracion.usuariorol_insertar(inusuarioid integer, inrolid
integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_administracion.usuariorol(
"usuarioID", "rolID")
VALUES ($1, $2);
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_administracion.usuariorol_insertar(inusuarioid integer, inrolid
integer) OWNER TO postgres;
Tabla 46: Función – Editar Usuario-Rol
Tipo: Function
Nombre: esquema_administracion.usuariorol_editar
Descripción: Edita valores de usuario rol.
CREATE FUNCTION
esquema_administracion.usuariorol_editar(inusuariorolid integer,
inusuarioid integer, inrolid integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_administracion.usuariorol
SET "usuariorolID"=$2, "usuarioID"=$3, "rolID"=$4
WHERE "usuariorolID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_administracion.usuariorol_editar(inusuariorolid integer,
inusuarioid integer, inrolid integer) OWNER TO postgres;
CREATE FUNCTION
esquema_administracion.usuariorol_eliminar(inusuariorolid integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_administracion.usuariorol
WHERE "usuariorolID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_administracion.usuariorol_eliminar(inusuariorolid integer)
OWNER TO postgres;
Tabla 48: Función – Insertar Rol
Tipo: Function
Nombre: esquema_administracion.rol_insertar
Descripción: Inserta valores en la tabla rol
CREATE FUNCTION
esquema_administracion.rol_buscarpornombre(innombrerol character
varying, OUT outrolid integer, OUT outnombrerol character varying,
OUT outdescripcionrol character varying, OUT outareatrabajorol
character varying) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "rolID", nombre, descripcion, "areaTrabajo"
FROM esquema_administracion.rol
where nombre Ilike '%'||$1||'%';
end;$_$;
ALTER FUNCTION
esquema_administracion.rol_buscarpornombre(innombrerol character
varying, OUT outrolid integer, OUT outnombrerol character varying,
OUT outdescripcionrol character varying, OUT outareatrabajorol
character varying) OWNER TO postgres;
CREATE FUNCTION
esquema_compra.detalle_compra_insertar(inproductoid integer,
incantidad integer, inporcentajedescuento integer, incompraid integer,
inpreciounitario double precision) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_compra.detalle_compra(
"productoID", cantidad, "porcentajeDescuento", "compraID",
"precioUnitario")
VALUES ($1, $2, $3, $4, $5);
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_compra.detalle_compra_insertar(inproductoid integer,
incantidad integer, inporcentajedescuento integer, incompraid integer,
inpreciounitario double precision) OWNER TO postgres;
Tabla 60: Función – Buscar Detalle-compra por ID
Tipo: Function
Nombre: esquema_compra.detalle_compra_buscarporid
Descripción: Busca valores de detalle compra por un identificador
CREATE FUNCTION
esquema_compra.detalle_compra_buscarporid(indetallecid integer,
OUT outdetallecid integer, OUT outproductoid integer, OUT outcantidad
integer, OUT outpreciounitario money, OUT outporcentajedescuento
integer, OUT outcompraid integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "detalleCID", "productoID", cantidad, "precioUnitario",
"porcentajeDescuento", "compraID"
FROM esquema_compra.detalle_compra
where "detalleCID"=$1;
end;$_$;
ALTER FUNCTION
esquema_compra.detalle_compra_buscarporid(indetallecid integer,
OUT outdetallecid integer, OUT outproductoid integer, OUT outcantidad
integer, OUT outpreciounitario money, OUT outporcentajedescuento
integer, OUT outcompraid integer) OWNER TO postgres;
CREATE FUNCTION
esquema_compra.detalle_compra_eliminar(indetallecid integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_compra.detalle_compra
WHERE "detalleCID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_compra.detalle_compra_eliminar(indetallecid integer)
OWNER TO postgres;
Tabla 64: Función – Insertar Proveedor
Tipo: Function
Nombre: esquema_compra.proveedor_insertar
Descripción: Inserta valores en la tabla proveedor.
CREATE FUNCTION
esquema_compra.proveedor_insertar(innombrecomercial character
varying, inrazonsocial character varying, indireccion character varying,
inciudad character varying, inprovincia character varying, intelefono
character varying, incodigopostal character varying, incorreo character
varying, inpaginaweb character varying, inestadoestablecimiento
character varying, inruc character varying, inactividadeconomica
character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_compra.proveedor(
"nombreComercial", "razonSocial", direccion, ciudad, provincia,
telefono, "codigoPostal", correo, "paginaWeb",
"estadoEstablecimiento", ruc, "actividadEconomica")
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12);
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_compra.proveedor_insertar(innombrecomercial character
varying, inrazonsocial character varying, indireccion character varying,
inciudad character varying, inprovincia character varying, intelefono
character varying, incodigopostal character varying, incorreo character
varying, inpaginaweb character varying, inestadoestablecimiento
character varying, inruc character varying, inactividadeconomica
character varying) OWNER TO postgres;
Tabla 65: Función – Buscar Proveedor por ID
Tipo: Function
Nombre: esquema_compra.proveedor_buscarporid
Descripción: Busca valores de proveedor por un identificador.
CREATE FUNCTION
esquema_compra.proveedor_buscarporid(inproveedorid integer, OUT
outproveedorid integer, OUT outnombrecomercial character varying,
OUT outrazonsocial character varying, OUT outdireccion character
varying, OUT outciudad character varying, OUT outprovincia character
varying, OUT outtelefono character varying, OUT outcodigopostal
character varying, OUT outcorreo character varying, OUT outpaginaweb
character varying, OUT outestadoestablecimiento character varying,
OUT outruc character varying, OUT outactividadeconomica character
varying) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "proveedorID", "nombreComercial", "razonSocial", direccion,
ciudad, provincia, telefono, "codigoPostal", correo, "paginaWeb",
"estadoEstablecimiento", ruc, "actividadEconomica"
FROM esquema_compra.proveedor
where "proveedorID"=$1;
end;$_$;
ALTER FUNCTION
esquema_compra.proveedor_buscarporid(inproveedorid integer, OUT
outproveedorid integer, OUT outnombrecomercial character varying,
OUT outrazonsocial character varying, OUT outdireccion character
varying, OUT outciudad character varying, OUT outprovincia character
varying, OUT outtelefono character varying, OUT outcodigopostal
character varying, OUT outcorreo character varying, OUT outpaginaweb
character varying, OUT outestadoestablecimiento character varying,
OUT outruc character varying, OUT outactividadeconomica character
varying) OWNER TO postgres;
Tabla 66: Función – Buscar Proveedor por Nombre
Tipo: Function
Nombre: esquema_compra.proveedor_buscarpornombre
Descripción: Busca valores de proveedor por nombre
CREATE FUNCTION
esquema_compra.proveedor_buscarpornombre(innombrecomercial
character varying, OUT outproveedorid integer, OUT
outnombrecomercial character varying, OUT outrazonsocial character
varying, OUT outdireccion character varying, OUT outciudad character
varying, OUT outprovincia character varying, OUT outtelefono character
varying, OUT outcodigopostal character varying, OUT outcorreo
character varying, OUT outpaginaweb character varying, OUT
outestadoestablecimiento character varying, OUT outruc character
varying, OUT outactividadeconomica character varying) RETURNS SETOF
record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "proveedorID", "nombreComercial", "razonSocial", direccion,
ciudad, provincia, telefono, "codigoPostal", correo, "paginaWeb",
"estadoEstablecimiento", ruc, "actividadEconomica"
FROM esquema_compra.proveedor
where "nombreComercial" Ilike '%'+$1+'%';
end;$_$;
ALTER FUNCTION
esquema_compra.proveedor_buscarpornombre(innombrecomercial
character varying, OUT outproveedorid integer, OUT
outnombrecomercial character varying, OUT outrazonsocial character
varying, OUT outdireccion character varying, OUT outciudad character
varying, OUT outprovincia character varying, OUT outtelefono character
varying, OUT outcodigopostal character varying, OUT outcorreo
character varying, OUT outpaginaweb character varying, OUT
outestadoestablecimiento character varying, OUT outruc character
varying, OUT outactividadeconomica character varying) OWNER TO
postgres;
Tabla 67: Función – Buscar listado de proveedor
Tipo: Function
Nombre: esquema_compra.proveedor_buscartodo
Descripción: Busca valores de proveedor y muestra un listado
end;$$;
CREATE FUNCTION
esquema_compra.proveedor_eliminar(inproveedorid integer) RETURNS
boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_compra.proveedor
WHERE "proveedorID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_compra.proveedor_eliminar(inproveedorid
integer) OWNER TO postgres;
ATE FUNCTION
esquema_inventario.producto_buscarporid(inproductoid integer, OUT
outproductoid integer, OUT outcategoriaid integer, OUT outnombre
character varying, OUT outdescripcion character varying, OUT
outpreciounitario integer, OUT outunidadesorden integer, OUT
outporcentajeorden integer, OUT outdiscontinuacion boolean, OUT
outimagen character varying, OUT outstock real) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "productoID", "categoriaID", nombre, descripcion,
"precioUnitario", "unidadesOrden", "porcentajeOrden",
discontinuacion, imagen, stock
FROM esquema_inventario.producto
where "productoID"=$1;
end;$_$;
ALTER FUNCTION
esquema_inventario.producto_buscarporid(inproductoid integer, OUT
outproductoid integer, OUT outcategoriaid integer, OUT outnombre
character varying, OUT outdescripcion character varying, OUT
outpreciounitario integer, OUT outunidadesorden integer, OUT
outporcentajeorden integer, OUT outdiscontinuacion boolean, OUT
outimagen character varying, OUT outstock real) OWNER TO postgres;
Tabla 72: Función – Buscar listado de Producto
Tipo: Function
Nombre: esquema_inventario.producto_buscartodo
Descripción: Busca valores de producto y muestra en un listado.
CREATE FUNCTION
esquema_inventario.detalleproducto_insertar(indetalleproductoid
integer, inunidadstock integer, invalorunitario double precision)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_inventario."detalleProducto"(
"detalleProductoID", "unidadStock", "valorUnitario")
VALUES ($1, $2, $3);
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_inventario.detalleproducto_insertar(indetalleproductoid
integer, inunidadstock integer, invalorunitario double precision) OWNER
TO postgres;
CREATE FUNCTION
esquema_inventario.detalleproducto_buscarporid(indetalleproductoid
integer, OUT outdetalleproductoid integer, OUT outunidadstock integer,
OUT outvalorunitario money) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "detalleProductoID", "unidadStock", "valorUnitario"
FROM esquema_inventario."detalleProducto"
where "detalleProductoID"=$1;
end;$_$;
ALTER FUNCTION
esquema_inventario.detalleproducto_buscarporid(indetalleproductoid
integer, OUT outdetalleproductoid integer, OUT outunidadstock integer,
OUT outvalorunitario money) OWNER TO postgres;
Tabla 77: Función – Buscar listado de Detalle-Producto
Tipo: Function
Nombre: esquema_inventario.detalleproducto_buscartodo
Descripción: Buscar valores de detalle producto y muestra en listado
CREATE FUNCTION
esquema_inventario.detalleproducto_buscartodo(OUT
outdetalleproductoid integer, OUT outunidadstock integer, OUT
outvalorunitario money) RETURNS SETOF record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "detalleProductoID", "unidadStock", "valorUnitario"
FROM esquema_inventario."detalleProducto";
end;$$;
ALTER FUNCTION
esquema_inventario.detalleproducto_buscartodo(OUT
outdetalleproductoid integer, OUT outunidadstock integer, OUT
outvalorunitario money) OWNER TO postgres;
CREATE FUNCTION
esquema_inventario.detalleproducto_editar(indetalleproductoid
integer, inunidadstock integer, invalorunitario double precision)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_inventario."detalleProducto"
SET "detalleProductoID"=$1, "unidadStock"=$2, "valorUnitario"=$3
WHERE "detalleProductoID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_inventario.detalleproducto_editar(indetalleproductoid
integer, inunidadstock integer, invalorunitario double precision) OWNER
TO postgres;
Tabla 79: Función – Eliminar Detalle-Producto
Tipo: Function
Nombre: esquema_inventario.detalleproducto_eliminar
Descripción: Elimina los valores de detalle producto.
CREATE FUNCTION
esquema_inventario.detalleproducto_eliminar(indetalleproductoid
integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_inventario."detalleProducto"
WHERE "detalleProductoID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_inventario.detalleproducto_eliminar(indetalleproductoid
integer) OWNER TO postgres;
CREATE FUNCTION
esquema_inventario.categoria_buscarporid(incategoriaid integer, OUT
outcategoriaid integer, OUT outnombre character varying, OUT
outdescripcion character varying, OUT outsubcategoriaid integer)
RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "categoriaID", nombre, descripcion, "subCategoriaID"
FROM esquema_inventario.categoria
where "categoriaID"=$1;
end;$_$;
ALTER FUNCTION
esquema_inventario.categoria_buscarporid(incategoriaid integer, OUT
outcategoriaid integer, OUT outnombre character varying, OUT
outdescripcion character varying, OUT outsubcategoriaid integer)
OWNER TO postgres;
CREATE FUNCTION
esquema_inventario.subcategoria_insertar(innombre character varying,
indescripcion character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_inventario."subCategoria"(
nombre, descripcion)
VALUES ($1, $2);
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_inventario.subcategoria_insertar(innombre
character varying, indescripcion character varying) OWNER TO postgres;
Tabla 87: Función – Buscar Subcategoria or ID
Tipo: Function
Nombre: esquema_inventario.subcategoria_buscarporid
Descripción: Busca valores de subcategoría por una identificación.
REATE FUNCTION
esquema_inventario.subcategoria_buscarporid(insubcategoriaid
integer, OUT outsubcategoriaid integer, OUT outnombre character
varying, OUT outdescripcion character varying) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "subCategoriaID", nombre, descripcion
FROM esquema_inventario."subCategoria"
where "subCategoriaID"=$1;
end;$_$;
ALTER FUNCTION
esquema_inventario.subcategoria_buscarporid(insubcategoriaid
integer, OUT outsubcategoriaid integer, OUT outnombre character
varying, OUT outdescripcion character varying) OWNER TO postgres;
CREATE FUNCTION
esquema_inventario.subcategoria_editar(insubcategoriaid integer,
innombre character varying, indescripcion character varying) RETURNS
boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_inventario."subCategoria"
SET "subCategoriaID"=$1, nombre=$2, descripcion=$3
WHERE "subCategoriaID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_inventario.subcategoria_editar(insubcategoriaid integer,
innombre character varying, indescripcion character varying) OWNER TO
postgres;
CREATE FUNCTION
esquema_inventario.subcategoria_eliminar(insubcategoriaid integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_inventario."subCategoria"
WHERE "subCategoriaID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_inventario.subcategoria_eliminar(insubcategoriaid integer)
OWNER TO postgres;