You are on page 1of 85

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA EN SISTEMAS Y COMPUTACIÓN

DISEÑO DE LA BASE DE DATOS

DATOS INFORMATIVOS

JHON MAXIMILIANO LOZA MARTINEZ 35697


ANDRES ISRAEL OROZCO CONDOR 33471
1. Introducción

La base de datos es uno de los principales elementos de nuestro sistema de gestión de


inventarios, para garantizar su correcta ejecución y trabajo se realizó el diseño preliminar
de la misma que consta de los modelos lógico, físico, diccionario de datos y el script
correspondiente.
Ya que al tener la respectiva base de datos podemos tener como guía cuando se desee
realizar cual modificación a la misma y así saber desde donde empezar.

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

Diseñar la base de datos para el sistema de gestión de control inventarios.

2.2 Objetivos Específicos

 Realizar el diseño conceptual de la base de datos del sistema de gestión de


inventarios, mediante el modelo entidad relación (DER) de la base.
 Realizar el diseño lógico de la base de datos del sistema de gestión de
inventarios, mediante el modelo relacional.
 Realizar el diseño físico de la base de datos del sistema de gestión de
inventarios, mediante el diccionario de datos y la generación del script para
la construcción de la misma.
3. Desarrollo

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.

En contexto al momento de realizar lo que es el esquema previo antes del diseño


podremos darnos cuenta para tomar varias consideraciones como algunos campos
especiales o el nombramiento de los mismo para una mejor identificación también
las tablas a las que debemos tener muy en cuenta también al momento de su
identifacion ya que llegaremos a un punto de confusión y nuestra base de datos se
puede echar a perder, también otras de las consideraciones es te siempre hacer los
respectivos backup los necesarios como sea factible ya que puede exisistir alguna
perdida de información pero estaremos tranquilos al tener nuestro respaldos.

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

3.3.1 Diccionario de Datos

Tabla 1: Cliente

Campo Tipo Tamaño Descripción


clienteID Numérico Clave del cliente
nombre Carácter 100 Nombre del cliente
apellido Carácter 100 Apellido del cliente
direccion Carácter 100 Dirección del cliente
ciudad Carácter 100 Ciudad del cliente
provincia Carácter 100 Provincia del cliente
correo Carácter 100 Correo del cliente
cedula Carácter 11 Cédula de identidad del cliente
ocupacion Numérico Clave de ocupación
Relaciones: Campos Clave:
ocupacion con el campo ocupacionID clienteID,

Tabla 2: Ocupación

Campo Tipo Tamaño Descripción


ocupacionID Numérico Clave de ocupación
nombre Carácter 25 Nombre de la ocupación
Relaciones: Campos clave:
Ninguna ocupacionID

Tabla 3: Teléfono

Campo Tipo Tamaño Descripción


telefonoID Numérico Clave de teléfono
clienteID Numérico Clave del cliente
prefijoArea Carácter 6 Código de área según ciudad
numero Carácter 9 Número de teléfono
Relaciones: Campos Clave:
clienteID con el campo clienteID telefonoID, clienteID
Tabla 4: Venta

Campo Tipo Tamaño Descripción


ventaID Numérico Clave de la venta
fechaVenta Formato fecha DD/MM/AAAA Fecha de venta
fechaEmision Formato fecha DD/MM/AAAA Fecha que se emite la venta
correoDeEnvio Carácter 100 Correo para envío de la venta
fechaEnvioCorreo Fecha de envío de correo de
venta
estadoFacturacion Carácter 50
sucursalID Numérico Clave de sucursal donde fue la
venta
clienteID Carácter 11 Clave del cliente
impuestoAgregado Numérico Impuesto de la venta
Relaciones: Campos Clave:
sucursalID con el campo sucursalID ventaID, sucursalID, clienteID
clienteID con el campo clienteID

Tabla 5: Detalle-Venta

Campo Tipo Tamaño Descripción


datalleVID Numérico Clave del detalle -venta
productoID Numérico Clave del producto a venta
cantidad Numérico Apellido del cliente
ventaID Numérico Dirección del cliente
ciudad Carácter 100 Ciudad del cliente
provincia Carácter 100 Provincia del cliente
Relaciones: Campos Clave:
productoID con el campo productoID detalleVID, productoID, ventaID
ventaID con el campo ventaID

Tabla 6: Empresa

Campo Tipo Tamaño Descripción


empresaID Numérico Clave de la empresa
razonSocial Carácter 150 Denominación de la empresa
representanteLegal Carácter 100 Representante de la empresa
SectorActividad Carácter 100 Conjunto de actividades económicas de la
empresa
objetivoNegocio Carácter 500 Metas y objetivos de la empresa
Relaciones: Campos Clave:
Ninguna empresaID
Tabla 7: Sucursal

Campo Tipo Tamaño Descripción


sucursalID Numérico Clave de la sucursal
nombreSucursal Carácter 150 Denominación de la sucursal
Representante Carácter 100 Representante de la sucursal
direccion Carácter 100 Lugar donde se ubica la sucursal

ciudad Carácter 500 Lugar de ubicación de la sucursal


provincia Carácter 100 Provincia donde queda ubicada la sucursal
empresaID Numérico Clave de la empresa
telefono Carácter 10 Teléfono de la empresa
correo Carácter 100 Correo de la empresa
Relaciones: Campos Clave:
empresaID con el campo empresaID sucursalID, empresaID

Tabla 8: Usuario

Campo Tipo Tamaño Descripción


usuarioID Numérico Clave del usuario
nombre Carácter 150 Nombre del usuario
apellido Carácter 100 Apellido del usuario
documentoIdentidad Carácter 11 Identificación del usuario
telefono Carácter 10 Teléfono de la empresa
domicilio carácter 150 Ubicación del usuario
ciudad carácter 150 Ubicación del usuario
fechaIngreso Formato 10 Fecha de ingreso del usuario
fecha
fechaSalida Formato 10 Fecha de salida del usuario
fecha
horario carácter 200 Tiempo de trabajo del usuario
sucursalID Numérico Clave de la sucursal
contrasena carácter 25 Contraseña del usuario
Relaciones: Campos Clave:
sucursalID con el campo sucursalID usuarioID, sucursalID
Tabla 9: Usuario-Rol

Campo Tipo Tamaño Descripción


usuariorolID Numérico Clave de usuario-rol
usuarioID Numérico Clave de usuario
rolID Numérico Clave del rol
Relaciones: Campos Clave:
usuarioID con el campo usuarioID usuariorolID, usuarioID, rolID
rolID con el campo rolID

Tabla 10: Rol

Campo Tipo Tamaño Descripción


rolID Numérico Clave del rol
nombre Carácter 150 Nombre de rol a desarrollar
descripción Carácter 500 Descripción del rol
areaTrabajo Carácter 100 Denominación del área del trabajo
Relaciones: Campos Clave:
Ninguno rolID

Tabla 11: Compra

Campo Tipo Tamaño Descripción


compraID Numérico Clave de compra
proveedorID Numérico Clave de proveedor
fechaCompra Formato 10 Fecha de compra realizada
fecha
fechaEmision Formato 10 Fecha de emison de la compra
fecha
correoFacturcion Carácter 100 Correo para poder enviar facturas
fechaEnvioCorreo Formato 10 Fecha en que se envío el correo
fecha
estadoCompra carácter 100 Estado de la compra

sucursalID numero 10 Clave de sucursal


Relaciones: Campos Clave:
proveedorID con el campo proveedorID compraID, proveedorID, sucursalID
sucursalID con el campo sucursalID
Tabla 12: Detalle-compra

Campo Tipo Tamaño Descripción


detalleID Numérico Clave del detalle-compra

productoID Numérico Clave de producto


cantiadad Numérico Cantidad
porcentajeDescuenrto Numérico Valores de porcentaje de descuento
compraID Numérico Clave de compra
precioUnitario real 0.00 Precio individual del producto en la
compra
Relaciones: Campo Clave:
productoID con el campo productoID detalleID, productoID, compraID
compraID con el campo compraID

Tabla 13: Proveedor

Campo Tipo Tamaño Descripción


proveedorID Numérico Clave de proveedor
nombreComercial Carácter 250 Nombre del proveedor
razonSocial Carácter 150 Denominación del proveedor
direccion Carácter 200 Dirección del proveedor
ciudad Carácter 100 Ciudad del proveedor
provincia Carácter 100 Provincia del proveedor
telefono Carácter 10 Teléfono del proveedor
Codigo postal Carácter 6 Código postal del proveedor
correo Carácter 100 Correo del proveedor

paginaWeb Carácter 300 Página web del proveedor

estadoEstablecimiento Carácter 50 Estado del lugar del proveedor

ruc Carácter 13 Identificación del proveedor

actividadEconomica Carácter 200 Actividad económica del proveedor

Relaciones: Campos Clave:


Ninguna proveedorID
Tabla 14: Producto

Campo Tipo Tamaño Descripción


productoID Numérico Clave de producto
categoriaID Numérico Categoría del producto
nombre Carácter 100 Nombre del producto
descripcion Carácter 300 Descripción del producto
precioUnitario Numérico Precio por unidad del producto
UnidadesOrden Numérico Unidades que ordena de producto
porcetajeOrden Numérico Porcentaje de órdenes del producto
discontinuacion carácter 20 Cuando no está el producto
imagen carácter 200 Imagen del producto

Stock real 0.00 Cantidad del producto.

Relaciones: Campos Clave


categoriaID con el campo categoriaID productoID, categoriaID

Tabla 15: Detalle – Producto

Campo Tipo Tamaño Descripción


detalleProductoID Numérico Clave de detalleProducto
unidadStock Numérico Unidades en stock
valorUnitario Numérico Valor individual del producto
Relaciones: Campos Clave:
Ninguna detalleProductoID

Tabla 16: Categoría

Campo Tipo Tamaño Descripción


categoriaID Numérico Clave de categoría
nombre Carácter 150 Nombre de la categoría
descripcion Carácter 150 Descripción dela categoría
subCategoriaID Numérico Clave subCategoria
Relaciones: Campos Clave:
subCategoriaID con el campo subCategoriaID categoriaID, subCategoriaID
Tabla 17: Subcategoria

Campo Tipo Tamaño Descripción


subCategoriaID Numérico Clave de SubCategoria
Nombre Carácter 100 Nombre de la SubCategoria
Descripcion Carácter 100 Descripción de la subcategoria
Relaciones: Campos Clave
Ninguna subCategoriaID

3.3.2 Script de Construcción – SqlServer

Tabla 1: Script Base de Datos


Tipo: Base de Datos
Nombre: Facturación
Descripción: Base de datos relacional para el sistema de gestión de
control de inventarios.
CREATE DATABASE graphdemo;
go

USE graphdemo;
go

CREATE TABLE esquema_venta.cliente (


"clienteID" integer NOT NULL,
nombre character varying(100) NOT NULL,
apellido character varying(100) NOT NULL,
direccion character varying(100) NOT NULL,
ciudad character varying(100) NOT NULL,
provincia character varying(100) NOT NULL,
correo character varying(100),
cedula character varying(11) NOT NULL,
ocupacion integer
);

ALTER TABLE esquema_venta.cliente OWNER TO postgres;

--
-- 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;

ALTER TABLE esquema_venta."cliente_clienteID_seq" OWNER TO


postgres;

--
-- TOC entry 2494 (class 0 OID 0)
-- Dependencies: 207
-- Name: cliente_clienteID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_venta; Owner: postgres
--

ALTER SEQUENCE esquema_venta."cliente_clienteID_seq" OWNED BY


esquema_venta.cliente."clienteID";

--
-- TOC entry 208 (class 1259 OID 16480)
-- Name: detalle_venta; Type: TABLE; Schema: esquema_venta; Owner:
postgres

CREATE TABLE esquema_venta.ocupacion (


"ocupacionID" integer NOT NULL,
nombre character varying(25) NOT NULL
);

ALTER TABLE esquema_venta.ocupacion OWNER TO postgres;

--
-- TOC entry 211 (class 1259 OID 16488)
-- Name: ocupacion_ocupacionID_seq; Type: SEQUENCE; Schema:
esquema_venta; Owner: postgres
--

CREATE SEQUENCE esquema_venta."ocupacion_ocupacionID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_venta."ocupacion_ocupacionID_seq" OWNER TO


postgres;

--
-- TOC entry 2496 (class 0 OID 0)
-- Dependencies: 211
-- Name: ocupacion_ocupacionID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_venta; Owner: postgres
--

ALTER SEQUENCE esquema_venta."ocupacion_ocupacionID_seq"


OWNED BY esquema_venta.ocupacion."ocupacionID";

--
-- TOC entry 212 (class 1259 OID 16490)
-- Name: telefono; Type: TABLE; Schema: esquema_venta; Owner:
postgres

CREATE TABLE esquema_venta.telefono (


"telefonoID" bigint NOT NULL,
"clienteID" integer NOT NULL,
"prefijoArea" character varying(6) NOT NULL,
numero character varying(9) NOT NULL
);

ALTER TABLE esquema_venta.telefono OWNER TO postgres;

--
-- TOC entry 213 (class 1259 OID 16493)
-- Name: telefono_telefonoID_seq; Type: SEQUENCE; Schema:
esquema_venta; Owner: postgres
--

CREATE SEQUENCE esquema_venta."telefono_telefonoID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_venta."telefono_telefonoID_seq" OWNER TO


postgres;

--
-- TOC entry 2497 (class 0 OID 0)
-- Dependencies: 213
-- Name: telefono_telefonoID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_venta; Owner: postgres
--

ALTER SEQUENCE esquema_venta."telefono_telefonoID_seq" OWNED


BY esquema_venta.telefono."telefonoID";

--
-- TOC entry 214 (class 1259 OID 16495)
-- Name: venta; Type: TABLE; Schema: esquema_venta; Owner: postgres

CREATE TABLE esquema_venta.venta (


"ventaID" bigint NOT NULL,
"fechaVenta" date,
"fechaEmision" date,
"correoDeEnvio" character varying(100),
"fechaEnvioCorreo" date,
"estadoFacturacion" character varying(50),
"sucursalID" integer,
"clienteID" integer,
"impuestoAgregado" integer
);

ALTER TABLE esquema_venta.venta OWNER TO postgres;

CREATE TABLE esquema_venta.detalle_venta (


"detalleVID" bigint NOT NULL,
"productoID" integer,
cantidad integer,
"ventaID" integer,
"porcentajeDescuento" double precision,
"precioUnitario" double precision
);

ALTER TABLE esquema_venta.detalle_venta OWNER TO postgres;

--
-- TOC entry 209 (class 1259 OID 16483)
-- Name: detalle_Venta_detalleVID_seq; Type: SEQUENCE; Schema:
esquema_venta; Owner: postgres
--

CREATE SEQUENCE esquema_venta."detalle_Venta_detalleVID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_venta."detalle_Venta_detalleVID_seq" OWNER


TO postgres;

--
-- TOC entry 2495 (class 0 OID 0)
-- Dependencies: 209
-- Name: detalle_Venta_detalleVID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_venta; Owner: postgres
--

ALTER SEQUENCE esquema_venta."detalle_Venta_detalleVID_seq"


OWNED BY esquema_venta.detalle_venta."detalleVID";

--
-- 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)
);

ALTER TABLE esquema_empresa.empresa OWNER TO postgres;

--
-- TOC entry 197 (class 1259 OID 16439)
-- Name: empresa_empresaID_seq; Type: SEQUENCE; Schema:
esquema_empresa; Owner: postgres
--

CREATE SEQUENCE esquema_empresa."empresa_empresaID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_empresa."empresa_empresaID_seq" OWNER TO


postgres;

--
-- TOC entry 2489 (class 0 OID 0)
-- Dependencies: 197
-- Name: empresa_empresaID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_empresa; Owner: postgres
--

ALTER SEQUENCE esquema_empresa."empresa_empresaID_seq"


OWNED BY esquema_empresa.empresa."empresaID";

--
-- 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)
);

ALTER TABLE esquema_empresa.sucursal OWNER TO postgres;

--
-- TOC entry 199 (class 1259 OID 16447)
-- Name: sucursal_sucursalID_seq; Type: SEQUENCE; Schema:
esquema_empresa; Owner: postgres
--

CREATE SEQUENCE esquema_empresa."sucursal_sucursalID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_empresa."sucursal_sucursalID_seq" OWNER TO


postgres;

--
-- TOC entry 2490 (class 0 OID 0)
-- Dependencies: 199
-- Name: sucursal_sucursalID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_empresa; Owner: postgres
--

ALTER SEQUENCE esquema_empresa."sucursal_sucursalID_seq"


OWNED BY esquema_empresa.sucursal."sucursalID";
--
-- TOC entry 200 (class 1259 OID 16449)
-- Name: categoria; Type: TABLE; Schema: esquema_inventario; Owner:
postgres

CREATE TABLE esquema_administracion.usuario (


"usuarioID" integer NOT NULL,
nombre character varying(150),
apellido character varying(150),
"documentoIdentidad" character varying(11),
telefono character varying(10),
domicilio character varying(150),
ciudad character varying(100),
"fechaIngreso" date,
"fechaSalida" date,
horario character varying(200),
"sucursalID" integer,
contrasena character varying(25)
);

ALTER TABLE esquema_administracion.usuario OWNER TO postgres;

--
-- TOC entry 215 (class 1259 OID 40991)
-- Name: usuario_usuarioID_seq; Type: SEQUENCE; Schema:
esquema_administracion; Owner: postgres
--

CREATE SEQUENCE esquema_administracion."usuario_usuarioID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_administracion."usuario_usuarioID_seq"


OWNER TO postgres;

--
-- TOC entry 2484 (class 0 OID 0)
-- Dependencies: 215
-- Name: usuario_usuarioID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_administracion; Owner: postgres
--

ALTER SEQUENCE esquema_administracion."usuario_usuarioID_seq"


OWNED BY esquema_administracion.usuario."usuarioID";

--
-- TOC entry 221 (class 1259 OID 139275)
-- Name: usuariorol; Type: TABLE; Schema: esquema_administracion;
Owner: postgres

CREATE TABLE esquema_administracion.usuariorol (


"usuariorolID" bigint NOT NULL,
"usuarioID" integer,
"rolID" integer
);

ALTER TABLE esquema_administracion.usuariorol OWNER TO 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;

ALTER TABLE esquema_administracion."usuariorol_usuariorolID_seq"


OWNER TO postgres;

--
-- 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

CREATE TABLE esquema_administracion.rol (


"rolID" integer NOT NULL,
nombre character varying(100),
descripcion character varying(500),
"areaTrabajo" character varying(100)
);

ALTER TABLE esquema_administracion.rol OWNER TO postgres;

--
-- TOC entry 191 (class 1259 OID 16405)
-- Name: rol_rolID_seq; Type: SEQUENCE; Schema:
esquema_administracion; Owner: postgres
--

CREATE SEQUENCE esquema_administracion."rol_rolID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_administracion."rol_rolID_seq" OWNER TO


postgres;

--
-- TOC entry 2483 (class 0 OID 0)
-- Dependencies: 191
-- Name: rol_rolID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_administracion; Owner: postgres
--

ALTER SEQUENCE esquema_administracion."rol_rolID_seq" OWNED BY


esquema_administracion.rol."rolID";

--
-- TOC entry 216 (class 1259 OID 40993)
-- Name: usuario; Type: TABLE; Schema: esquema_administracion;
Owner: postgres

CREATE TABLE esquema_compra.compra (


"compraID" bigint NOT NULL,
"proveedorID" integer,
"fechaCompra" date NOT NULL,
"fechaEmision" date NOT NULL,
"correFacturacion" character varying(100) NOT NULL,
"fechaEnvioCorreo" date NOT NULL,
"estadoCompra" character varying(100),
"sucursalID" integer
);

ALTER TABLE esquema_compra.compra OWNER TO postgres;

--
-- TOC entry 193 (class 1259 OID 16418)
-- Name: compra_compraID_seq; Type: SEQUENCE; Schema:
esquema_compra; Owner: postgres
--

CREATE SEQUENCE esquema_compra."compra_compraID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE esquema_compra."compra_compraID_seq" OWNER TO
postgres;

--
-- TOC entry 2486 (class 0 OID 0)
-- Dependencies: 193
-- Name: compra_compraID_seq; Type: SEQUENCE OWNED BY; Schema:
esquema_compra; Owner: postgres
--

ALTER SEQUENCE esquema_compra."compra_compraID_seq" OWNED


BY esquema_compra.compra."compraID";

--
-- TOC entry 194 (class 1259 OID 16420)
-- Name: detalle_compra; Type: TABLE; Schema: esquema_compra;
Owner: postgres

CREATE TABLE esquema_compra.detalle_compra (


"detalleCID" bigint NOT NULL,
"productoID" integer,
cantidad integer,
"porcentajeDescuento" integer NOT NULL,
"compraID" integer,
"precioUnitario" double precision
);

ALTER TABLE esquema_compra.detalle_compra OWNER TO postgres;

--
-- TOC entry 195 (class 1259 OID 16423)
-- Name: detalle_compra_detalleCID_seq; Type: SEQUENCE; Schema:
esquema_compra; Owner: postgres
--

CREATE SEQUENCE esquema_compra."detalle_compra_detalleCID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE esquema_compra."detalle_compra_detalleCID_seq"
OWNER TO postgres;

--
-- TOC entry 2487 (class 0 OID 0)
-- Dependencies: 195
-- Name: detalle_compra_detalleCID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_compra; Owner: postgres
--

ALTER SEQUENCE esquema_compra."detalle_compra_detalleCID_seq"


OWNED BY esquema_compra.detalle_compra."detalleCID";

--
-- TOC entry 218 (class 1259 OID 57369)
-- Name: proveedor; Type: TABLE; Schema: esquema_compra; Owner:
postgres

CREATE TABLE esquema_compra.proveedor (


"proveedorID" bigint NOT NULL,
"nombreComercial" character varying(250),
"razonSocial" character varying(150),
direccion character varying(200),
ciudad character varying(100),
provincia character varying(100),
telefono character varying(10),
"codigoPostal" character varying(6),
correo character varying(100),
"paginaWeb" character varying(300),
"estadoEstablecimiento" character varying(50),
ruc character varying(13),
"actividadEconomica" character varying(200)
);

ALTER TABLE esquema_compra.proveedor OWNER TO postgres;

--
-- TOC entry 217 (class 1259 OID 57367)
-- Name: proveedor_proveedorID_seq; Type: SEQUENCE; Schema:
esquema_compra; Owner: postgres
--

CREATE SEQUENCE esquema_compra."proveedor_proveedorID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_compra."proveedor_proveedorID_seq" OWNER


TO postgres;

--
-- TOC entry 2488 (class 0 OID 0)
-- Dependencies: 217
-- Name: proveedor_proveedorID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_compra; Owner: postgres
--

ALTER SEQUENCE esquema_compra."proveedor_proveedorID_seq"


OWNED BY esquema_compra.proveedor."proveedorID";

--
-- TOC entry 196 (class 1259 OID 16433)
-- Name: empresa; Type: TABLE; Schema: esquema_empresa; Owner:
postgres

CREATE TABLE esquema_inventario.producto (


"productoID" bigint NOT NULL,
"categoriaID" integer,
nombre character varying(100) NOT NULL,
descripcion character varying(300) NOT NULL,
"precioUnitario" integer,
"unidadesOrden" integer NOT NULL,
"porcentajeOrden" integer NOT NULL,
discontinuacion character varying(20) NOT NULL,
imagen character varying(200) NOT NULL,
stock double precision
);
ALTER TABLE esquema_inventario.producto OWNER TO postgres;

--
-- TOC entry 203 (class 1259 OID 16465)
-- Name: producto_productoID_seq; Type: SEQUENCE; Schema:
esquema_inventario; Owner: postgres
--

CREATE SEQUENCE esquema_inventario."producto_productoID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_inventario."producto_productoID_seq" OWNER


TO postgres;

--
-- TOC entry 2492 (class 0 OID 0)
-- Dependencies: 203
-- Name: producto_productoID_seq; Type: SEQUENCE OWNED BY;
Schema: esquema_inventario; Owner: postgres
--

ALTER SEQUENCE esquema_inventario."producto_productoID_seq"


OWNED BY esquema_inventario.producto."productoID";

--
-- TOC entry 204 (class 1259 OID 16467)
-- Name: subCategoria; Type: TABLE; Schema: esquema_inventario;
Owner: postgres

CREATE TABLE esquema_inventario."detalleProducto" (


"detalleProductoID" integer NOT NULL,
"unidadStock" integer,
"valorUnitario" double precision
);
ALTER TABLE esquema_inventario."detalleProducto" OWNER TO
postgres;

--
-- TOC entry 202 (class 1259 OID 16459)
-- Name: producto; Type: TABLE; Schema: esquema_inventario; Owner:
postgres

CREATE TABLE esquema_inventario.categoria (


"categoriaID" integer NOT NULL,
nombre character varying(150) NOT NULL,
descripcion character varying(300) NOT NULL,
"subCategoriaID" integer
);

ALTER TABLE esquema_inventario.categoria OWNER TO postgres;

--
-- TOC entry 201 (class 1259 OID 16452)
-- Name: categoria_categoriaID_seq; Type: SEQUENCE; Schema:
esquema_inventario; Owner: postgres
--

CREATE SEQUENCE esquema_inventario."categoria_categoriaID_seq"


START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;

ALTER TABLE esquema_inventario."categoria_categoriaID_seq" OWNER


TO 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

CREATE TABLE esquema_inventario."subCategoria" (


"subCategoriaID" integer NOT NULL,
nombre character varying(100),
descripcion character varying(100)
);

ALTER TABLE esquema_inventario."subCategoria" OWNER TO 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;

ALTER TABLE esquema_inventario."subCategoria_subCategoriaID_seq"


OWNER TO postgres;

--
-- 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
--

Tabla 1: Función – Insertar Cliente


Tipo: Function
Nombre: esquema_venta.cliente_insertar
Descripción: Inserta valores en la tabla cliente
CREATE FUNCTION esquema_venta.cliente_insertar(innombre character
varying, inapellido character varying, indireccion character varying,
inciudad character varying, inprovincia character varying, incorreo
character varying, incedula character varying, inocupacion integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_venta.cliente(
nombre, apellido, direccion, ciudad, provincia, correo, cedula,
ocupacion)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.cliente_insertar(innombre character


varying, inapellido character varying, indireccion character varying,
inciudad character varying, inprovincia character varying, incorreo
character varying, incedula character varying, inocupacion integer)
OWNER TO postgres;
Tabla 2: Función – Buscar Cliente por Id
Tipo: Function
Nombre: esquema_venta.cliente_buscarporid
Descripción: Busqueda de cliente por identidad
CREATE FUNCTION esquema_venta.cliente_buscarporid(inclienteid
integer, OUT outclienteid integer, OUT outnombre character varying,
OUT outapellido character varying, OUT outdireccion character varying,
OUT outciudad character varying, OUT outprovincia character varying,
OUT outcorreo character varying, OUT outcedula character varying, OUT
outocupacion integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "clienteID", nombre, apellido, direccion, ciudad, provincia,
correo, cedula, ocupacion
FROM esquema_venta.cliente
where "clienteID"=$1;
end;$_$;

ALTER FUNCTION esquema_venta.cliente_buscarporid(inclienteid


integer, OUT outclienteid integer, OUT outnombre character varying,
OUT outapellido character varying, OUT outdireccion character varying,
OUT outciudad character varying, OUT outprovincia character varying,
OUT outcorreo character varying, OUT outcedula character varying, OUT
outocupacion integer) OWNER TO postgres;

Tabla 3: Función – Buscar Cliente por nombre


Tipo: Function
Nombre: esquema_venta.cliente_buscarpornombre
Descripción: Búsqueda de cliente por nombre
CREATE FUNCTION esquema_venta.cliente_buscarpornombre(innombre
character varying, OUT outclienteid integer, OUT outnombre character
varying, OUT outapellido character varying, OUT outdireccion character
varying, OUT outciudad character varying, OUT outprovincia character
varying, OUT outcorreo character varying, OUT outcedula character
varying, OUT outocupacion integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "clienteID", nombre, apellido, direccion, ciudad, provincia,
correo, cedula, ocupacion
FROM esquema_venta.cliente
where nombre ilike '%'+$1+'%';
end;$_$;

ALTER FUNCTION esquema_venta.cliente_buscarpornombre(innombre


character varying, OUT outclienteid integer, OUT outnombre character
varying, OUT outapellido character varying, OUT outdireccion character
varying, OUT outciudad character varying, OUT outprovincia character
varying, OUT outcorreo character varying, OUT outcedula character
varying, OUT outocupacion integer) OWNER TO postgres;

Tabla 4: Función – Buscar listado de cliente


Tipo: Function
Nombre: esquema_venta.cliente_buscartodo
Descripción: Busqueda de cliente mostrando listado

CREATE FUNCTION esquema_venta.cliente_buscartodo(OUT


outclienteid integer, OUT outnombre character varying, OUT outapellido
character varying, OUT outdireccion character varying, OUT outciudad
character varying, OUT outprovincia character varying, OUT outcorreo
character varying, OUT outcedula character varying, OUT outocupacion
integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "clienteID", nombre, apellido, direccion, ciudad, provincia,
correo, cedula, ocupacion
FROM esquema_venta.cliente;
end;$$;

ALTER FUNCTION esquema_venta.cliente_buscartodo(OUT outclienteid


integer, OUT outnombre character varying, OUT outapellido character
varying, OUT outdireccion character varying, OUT outciudad character
varying, OUT outprovincia character varying, OUT outcorreo character
varying, OUT outcedula character varying, OUT outocupacion integer)
OWNER TO postgres;
Tabla 5: Función – Editar CLiente
Tipo: Function
Nombre: esquema_venta.cliente_editar
Descripción: Editar los valores del cliente
CREATE FUNCTION esquema_venta.cliente_editar(inclienteid integer,
innombre character varying, inapellido character varying, indireccion
character varying, inciudad character varying, inprovincia character
varying, incorreo character varying, incedula character varying,
inocupacion integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_venta.cliente
SET "clienteID"=$1, nombre=$2, apellido=$3, direccion=$4,
ciudad=$5, provincia=$6, correo=$7, cedula=$8, ocupacion=$9
WHERE "clienteID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.cliente_editar(inclienteid integer,


innombre character varying, inapellido character varying, indireccion
character varying, inciudad character varying, inprovincia character
varying, incorreo character varying, incedula character varying,
inocupacion integer) OWNER TO postgres;

Tabla 6: Función – Eliminar CLiente


Tipo: Function
Nombre: esquema_venta.cliente_eliminar
Descripción: Elimina los valores del cliente
CREATE FUNCTION esquema_venta.cliente_eliminar(inclienteid integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_venta.cliente
WHERE "clienteID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_venta.cliente_eliminar(inclienteid integer)
OWNER TO postgres;
Tabla 7: Función – Insertar Ocupación
Tipo: Function
Nombre: esquema_venta.ocupacion_insertar
Descripción: Inserta valores en la tabla ocupacion
CREATE FUNCTION esquema_venta.ocupacion_insertar(innombre
character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_venta.ocupacion(
nombre)
VALUES ($1);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.ocupacion_insertar(innombre


character varying) OWNER TO postgres;

Tabla 8: Función – Buscar Ocupación por ID


Tipo: Function
Nombre: esquema_venta.ocupacion_buscarporID
Descripción: Busca los valores de ocupacion por una identificacion
CREATE FUNCTION
esquema_venta.ocupacion_buscarporid(inocupacionid integer, OUT
outocupacionid integer, OUT outnombre character varying) RETURNS
SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "ocupacionID", nombre
FROM esquema_venta.ocupacion
where "ocupacionID"=$1;
end;$_$;

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;

Tabla 10: Función – Buscar listado de ocupación.


Tipo: Function
Nombre: esquema_venta.ocupacion_buscartodo
Descripción: Busca todos los valores de ocupacion y lo tenemos en listas
CREATE FUNCTION esquema_venta.ocupacion_buscartodo(OUT
outocupacionid integer, OUT outnombre character varying) RETURNS
SETOF record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "ocupacionID", nombre
FROM esquema_venta.ocupacion;
end;$$;

ALTER FUNCTION esquema_venta.ocupacion_buscartodo(OUT


outocupacionid integer, OUT outnombre character varying) OWNER TO
postgres;
Tabla 11: Función – Editar Ocupación
Tipo: Function
Nombre: esquema_venta.ocupacion_editar
Descripción: Modificar los valores de ocupacion.
CREATE FUNCTION esquema_venta.ocupacion_editar(inocupacionid
integer, innombre character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_venta.ocupacion
SET "ocupacionID"=$1, nombre=$2
WHERE "ocupacionID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.ocupacion_editar(inocupacionid


integer, innombre character varying) OWNER TO postgres;

Tabla 12: Función – Insertar Telefono


Tipo: Function
Nombre: esquema_venta.telefono_insertar
Descripción: Inserta valores en la tabla telefono
CREATE FUNCTION esquema_venta.telefono_insertar(inclienteid
integer, inprefijoarea character varying, innumero character varying)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_venta.telefono(
"clienteID", "prefijoArea", numero)
VALUES ($1, $2, $3);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.telefono_insertar(inclienteid integer,


inprefijoarea character varying, innumero character varying) OWNER TO
postgres;
Tabla 13: Función – Buscar teléfono por id
Tipo: Function
Nombre: esquema_venta.telefono_buscarporid
Descripción: Busca teléfono por una identificación
CREATE FUNCTION esquema_venta.telefono_buscarporid(intelefonoid
integer, OUT outtelefonoid integer, OUT outclienteid integer, OUT
outprefijoarea character varying, OUT outnumero character varying)
RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "telefonoID", "clienteID", "prefijoArea", numero
FROM esquema_venta.telefono
where "telefonoID"=$1;
end;$_$;

ALTER FUNCTION esquema_venta.telefono_buscarporid(intelefonoid


integer, OUT outtelefonoid integer, OUT outclienteid integer, OUT
outprefijoarea character varying, OUT outnumero character varying)
OWNER TO postgres;

Tabla 14: Función – Buscar listado por teléfono


Tipo: Function
Nombre: esquema_venta.telefono_buscartodo
Descripción: Buscar todos los valore de teléfonos en la base.
CREATE FUNCTION esquema_venta.telefono_buscartodo(OUT
outtelefonoid integer, OUT outclienteid integer, OUT outprefijoarea
character varying, OUT outnumero character varying) RETURNS SETOF
record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "telefonoID", "clienteID", "prefijoArea", numero
FROM esquema_venta.telefono;
end;$$;

ALTER FUNCTION esquema_venta.telefono_buscartodo(OUT


outtelefonoid integer, OUT outclienteid integer, OUT outprefijoarea
character varying, OUT outnumero character varying) OWNER TO
postgres;
Tabla 15: Función – Editar Teléfono
Tipo: Function
Nombre: esquema_venta.telefno_editar
Descripción: Modificación de los valores de telefono.
CREATE FUNCTION esquema_venta.telefono_editar(intelefonoid
integer, inclienteid integer, inprefijoarea character varying, innumero
character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_venta.telefono
SET "telefonoID"=$1, "clienteID"=$2, "prefijoArea"=$3, numero=$4
WHERE "telefonoID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.telefono_editar(intelefonoid integer,


inclienteid integer, inprefijoarea character varying, innumero character
varying) OWNER TO postgres;

Tabla 16: Función – Eliminar Telefono


Tipo: Function
Nombre: esquema_venta.telefono_eliminar
Descripción: Elimina los valores de la tabla teléfono.

CREATE FUNCTION esquema_venta.telefono_eliminar(intelefonoid


integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_venta.telefono
WHERE "telefonoID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.telefono_eliminar(intelefonoid


integer) OWNER TO postgres;
Tabla 17: Función – Insertar Venta
Tipo: Function
Nombre: esquema_venta.venta_insertar
Descripción: Inserta valores en la tabla venta

CREATE FUNCTION esquema_venta.venta_insertar(inventaid bigint,


infechaventa date, infechaemision date, incorreodeenvio character
varying, infechaenviocorreo date, inestadofacturacion character varying,
insucursalid integer, inclienteid integer, inimpuestoagregado integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_venta.venta(
"ventaID", "fechaVenta", "fechaEmision", "correoDeEnvio",
"fechaEnvioCorreo", "estadoFacturacion", "sucursalID", "clienteID",
"impuestoAgregado")
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.venta_insertar(inventaid bigint,


infechaventa date, infechaemision date, incorreodeenvio character
varying, infechaenviocorreo date, inestadofacturacion character varying,
insucursalid integer, inclienteid integer, inimpuestoagregado integer)
OWNER TO postgres;

Tabla 18: Función – Buscar Venta por ID


Tipo: Function
Nombre: esquema_venta.venta_buscarpotid
Descripción: Buscar venta por un identificador.
CREATE FUNCTION esquema_venta.venta_buscarporid(inventaid
integer, OUT outventaid bigint, OUT outfechaventa date, OUT
outfechaemision date, OUT outcorreodeenvio character varying, OUT
outfechaenviocorreo date, OUT outestadofacturacion character varying,
OUT outsucursalid integer, OUT outclienteid integer, OUT
outimpuestoagregado integer) RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "ventaID", "fechaVenta", "fechaEmision", "correoDeEnvio",
"fechaEnvioCorreo", "estadoFacturacion", "sucursalID", "clienteID",
"impuestoAgregado"
FROM esquema_venta.venta
where "ventaID"=$1;
end;$_$;

ALTER FUNCTION esquema_venta.venta_buscarporid(inventaid integer,


OUT outventaid bigint, OUT outfechaventa date, OUT outfechaemision
date, OUT outcorreodeenvio character varying, OUT
outfechaenviocorreo date, OUT outestadofacturacion character varying,
OUT outsucursalid integer, OUT outclienteid integer, OUT
outimpuestoagregado integer) OWNER TO postgres;

Tabla 19: Función – Buscar listado de ventas


Tipo: Function
Nombre: esquema_venta.venta_buscartodo
Descripción: Busqueda y muestra listado de ventas.

CREATE FUNCTION esquema_venta.venta_buscartodo(OUT outventaid


bigint, OUT outfechaventa date, OUT outfechaemision date, OUT
outcorreodeenvio character varying, OUT outfechaenviocorreo date,
OUT outestadofacturacion character varying, OUT outsucursalid integer,
OUT outclienteid integer, OUT outimpuestoagregado integer) RETURNS
SETOF record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "ventaID", "fechaVenta", "fechaEmision", "correoDeEnvio",
"fechaEnvioCorreo", "estadoFacturacion", "sucursalID", "clienteID",
"impuestoAgregado"
FROM esquema_venta.venta;
end;$$;

ALTER FUNCTION esquema_venta.venta_buscartodo(OUT outventaid


bigint, OUT outfechaventa date, OUT outfechaemision date, OUT
outcorreodeenvio character varying, OUT outfechaenviocorreo date,
OUT outestadofacturacion character varying, OUT outsucursalid integer,
OUT outclienteid integer, OUT outimpuestoagregado integer) OWNER
TO postgres;
Tabla 20: Función – Editar Venta
Tipo: Function
Nombre: esquema_venta.venta_editar
Descripción: Modificación de valores de venta.
CREATE FUNCTION esquema_venta.venta_editar(inventaid bigint,
infechaventa date, infechaemision date, incorreodeenvio character
varying, infechaenviocorreo date, inestadofacturacion character varying,
insucursalid integer, inclienteid integer, inimpuestoagregado integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_venta.venta
SET "ventaID"=$1, "fechaVenta"=$2, "fechaEmision"=$3,
"correoDeEnvio"=$4, "fechaEnvioCorreo"=$5, "estadoFacturacion"=$6,
"sucursalID"=$7, "clienteID"=$8, "impuestoAgregado"=$9
WHERE "ventaID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_venta.venta_editar(inventaid bigint,
infechaventa date, infechaemision date, incorreodeenvio character
varying, infechaenviocorreo date, inestadofacturacion character varying,
insucursalid integer, inclienteid integer, inimpuestoagregado integer)
OWNER TO postgres;

Tabla 21: Función – Eliminar Venta


Tipo: Function
Nombre: esquema_venta.venta_eliminar
Descripción: Elimina los valores en la tabla venta
CREATE FUNCTION esquema_venta.venta_eliminar(inventaid integer)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_venta.venta
WHERE "ventaID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_venta.venta_eliminar(inventaid integer)
OWNER TO postgres;
Tabla 22: Función – Insertar Detalla Venta
Tipo: Function
Nombre: esquema_venta.detalle_venta_inserta
Descripción: Inserta valores en la tabla detalle venta

CREATE FUNCTION esquema_venta.detalle_venta_insertar(inproductoid


integer, incantidad integer, inventaid integer, inporcentajedescuento
double precision, inpreciounitario double precision) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_venta.detalle_venta(
"productoID", cantidad, "ventaID", "porcentajeDescuento",
"precioUnitario")
VALUES ($1, $2, $3, $4, $5);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_venta.detalle_venta_insertar(inproductoid


integer, incantidad integer, inventaid integer, inporcentajedescuento
double precision, inpreciounitario double precision) OWNER TO
postgres;

Tabla 33: Función – Buscar Detalle Venta por ID


Tipo: Function
Nombre: esquema_venta.detalle_venta_buscarpoid
Descripción: Buscar detalle venta por identificacion

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;

Tabla 24: Función – Buscar listado de Detalle Venta


Tipo: Function
Nombre: esquema_venta.detalle_venta_buscartodo
Descripción: Buscar detalle venta y muestra todo los valores

CREATE FUNCTION esquema_venta.detalle_venta_buscartodo(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;
end;$$;

ALTER FUNCTION esquema_venta.detalle_venta_buscartodo(OUT


outdetallevid integer, OUT outproductoid integer, OUT outcantidad
integer, OUT outpreciounitario money, OUT outporcentajedescuento
real, OUT outventaid integer) OWNER TO postgres;
Tabla 25: Función – Editar Detalle Venta
Tipo: Function
Nombre: esquema_venta.detalle_venta_editar
Descripción: Modifica los valores de detalle venta

CREATE FUNCTION esquema_venta.detalle_venta_editar(indetallevid


integer, inproductoid integer, incantidad integer, inventaid integer,
inporcentajedescuento double precision, inpreciounitario double
precision) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_venta.detalle_venta
SET "detalleVID"=$1, "productoID"=$2, cantidad=$3, "ventaID"=$4,
"porcentajeDescuento"=$5, "precioUnitario"=$6
WHERE "detalleVID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_venta.detalle_venta_editar(indetallevid
integer, inproductoid integer, incantidad integer, inventaid integer,
inporcentajedescuento double precision, inpreciounitario double
precision) OWNER TO postgres;

Tabla 26: Función – Eliminar Detalle Venta


Tipo: Function
Nombre: esquema_venta.detalle_venta_eliminar
Descripción: Elimina los valores de detalle venta

CREATE FUNCTION esquema_venta.detalle_venta_eliminar(indetallevid


integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_venta.detalle_venta
WHERE "detalleVID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_venta.detalle_venta_eliminar(indetallevid
integer) OWNER TO postgres;
Tabla 27: Función – Insertar Empresa
Tipo: Function
Nombre: esquema_empresa.empresa_insertar
Descripción: Inserta valores en la tabla empresa

CREATE FUNCTION esquema_empresa.empresa_insertar(inrazonsocial


character varying, inrepresentantelegal character varying,
insectoractividad character varying, inobjetivonegocio character varying)
RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_empresa.empresa(
"razonSocial", "representanteLegal", "sectorActividad",
"objetivoNegocio")
VALUES ($1, $2, $3, $4);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_empresa.empresa_insertar(inrazonsocial


character varying, inrepresentantelegal character varying,
insectoractividad character varying, inobjetivonegocio character varying)
OWNER TO postgres;

Tabla 28: Función – Buscar Empresa por ID


Tipo: Function
Nombre: esquema_empresa.empresa_buscarporid
Descripción: Busca los valores de empresa por una identificación

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;$_$;

ALTER 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) OWNER TO postgres;

Tabla 29: Función – Buscar Empresa por Nombre


Tipo: Function
Nombre: esquema_empresa.empresa_buscarpornombre
Descripción: Busca valores de empresa por nombre

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;

Tabla 31: Función – Editar Empresa


Tipo: Function
Nombre: esquema_empresa.empresa_editar
Descripción: Modifica los valores de empresa
CREATE FUNCTION esquema_empresa.empresa_editar(inempresaid
integer, inrazonsocial character varying, inrepresentantelegal character
varying, insectoractividad character varying, inobjetivonegocio character
varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_empresa.empresa
SET "empresaID"=$1, "razonSocial"=$2, "representanteLegal"=$3,
"sectorActividad"=$4, "objetivoNegocio"=$5 WHERE "empresaID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_empresa.empresa_editar(inempresaid
integer, inrazonsocial character varying, inrepresentantelegal character
varying, insectoractividad character varying, inobjetivonegocio character
varying) OWNER TO postgres;
Tabla 32: Función – Eliminar Empresa
Tipo: Function
Nombre: esquema_empresa.empresa_eliminar
Descripción: Elimina valores de la tabla empresa

CREATE FUNCTION esquema_empresa.empresa_eliminar(inempresaid


integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_empresa.empresa
WHERE "empresaID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_empresa.empresa_eliminar(inempresaid


integer) OWNER TO postgres;

Tabla 33: Función – Insertar Sucursal


Tipo: Function
Nombre: esquema_empresa.sucursal_insertar
Descripción: Inserta valores en la tabla sucursal
CREATE FUNCTION
esquema_empresa.sucursal_insertar(innombresucursal character varying,
inrepresentante character varying, indireccion character varying, inciudad
character varying, inprovincia character varying, inempresaid integer,
intelefono character varying, incorreo character varying) RETURNS
boolean
LANGUAGE plpgsql
AS $_$
declare band boolean;
begin
INSERT INTO esquema_empresa.sucursal(
"nombreSucursal", representante, direccion, ciudad, provincia,
"empresaID", telefono, correo)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8);
band=true;
return band;
end;$_$;
ALTER FUNCTION
esquema_empresa.sucursal_insertar(innombresucursal character
varying, inrepresentante character varying, indireccion character
varying, inciudad character varying, inprovincia character varying,
inempresaid integer, intelefono character varying, incorreo character
varying) OWNER TO postgres;

Tabla 34: Función – Buscar Sucursal por ID


Tipo: Function
Nombre: esquema_empresa.sucursal_buscarporid
Descripción: Busca valores de sucursal por identificación

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;

Tabla 38: Función – Eliminar Sucursal


Tipo: Function
Nombre: esquema_empresa.sucursal_eliminar
Descripción: Elimina los valores de sucursal

CREATE FUNCTION esquema_empresa.sucursal_eliminar(insucursalid


integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_empresa.sucursal
WHERE "sucursalID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_empresa.sucursal_eliminar(insucursalid
integer) OWNER TO postgres;
Tabla 39: Función – Insertar Usuario
Tipo: Function
Nombre: esquema_administracion.usuario_insertar
Descripción: Inserta valores en la tabla usuario

CREATE FUNCTION esquema_administracion.usuario_insertar(innombre


character varying, inapellido character varying, indocumentoidentidad
character varying, intelefono character varying, indomicilio character
varying, inciudad character varying, infechaingreso date, infechasalida
date, inhorario character varying, insucursalid integer, incontrasena
character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_administracion.usuario(
nombre, apellido, "documentoIdentidad", telefono, domicilio,
ciudad, "fechaIngreso", "fechaSalida", horario, "sucursalID", contrasena)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_administracion.usuario_insertar(innombre


character varying, inapellido character varying, indocumentoidentidad
character varying, intelefono character varying, indomicilio character
varying, inciudad character varying, infechaingreso date, infechasalida
date, inhorario character varying, insucursalid integer, incontrasena
character varying) OWNER TO postgres;
Tabla 40: Función – Buscar Uusario por ID
Tipo: Function
Nombre: esquema_administracion.usuario_buscarporid
Descripción: Busca valores de usuario por identificación

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_buscartodo(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;
end;$$;

ALTER FUNCTION esquema_administracion.usuario_buscartodo(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 42: Función – Buscar Usuario por Nombre
Tipo: Function
Nombre: esquema_administracion.usuario_buscarpornombre
Descripción: Busca valores de usuario por nombre

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_editar(inusuarioid


integer, innombre character varying, inapellido character varying,
indocumentoidentidad character varying, intelefono character varying,
indomicilio character varying, inciudad character varying, infechaingreso
date, infechasalida date, inhorario character varying, insucursalid
integer, incontrasena character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_administracion.usuario
SET "usuarioID"=$1, nombre=$2, apellido=$3,
"documentoIdentidad"=$4, telefono=$5, domicilio=$6, ciudad=$7,
"fechaIngreso"=$8, "fechaSalida"=$9, horario=$10, "sucursalID"=$11,
contrasena=$12
WHERE "usuarioID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_administracion.usuario_editar(inusuarioid


integer, innombre character varying, inapellido character varying,
indocumentoidentidad character varying, intelefono character varying,
indomicilio character varying, inciudad character varying, infechaingreso
date, infechasalida date, inhorario character varying, insucursalid
integer, incontrasena character varying) OWNER TO postgres;
Tabla 44: Función – Eliminar Usuario
Tipo: Function
Nombre: esquema_administracion.usuario_eliminar
Descripción: Elimina valores del 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;

Tabla 45: Función – Insertar Usuario-Rol


Tipo: Function
Nombre: esquema_administracion.usuariorol_insertar
Descripción: Inserta valores en la tabla usuario rol

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;

Tabla 47: Función – Eliminar Usuario-Rol


Tipo: Function
Nombre: esquema_administracion.usuariorol_eliminar
Descripción: Elimina valores de usuario rol.

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_insertar(innombrerol


character varying, indescripcionrol character varying, inareatrabajorol
character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_administracion.rol(
nombre, descripcion, "areaTrabajo")
VALUES ($1, $2, $3);
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_administracion.rol_insertar(innombrerol


character varying, indescripcionrol character varying, inareatrabajorol
character varying) OWNER TO postgres;

Tabla 49: Función – Buscar Rol por ID


Tipo: Function
Nombre: esquema_administracion.rol_buscarporid
Descripción: Busca el rol por identificación.

CREATE FUNCTION esquema_administracion.rol_buscarporid(inrolid


integer, 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 rolID=$1;
end;$_$;
ALTER FUNCTION esquema_administracion.rol_buscarporid(inrolid
integer, OUT outrolid integer, OUT outnombrerol character varying, OUT
outdescripcionrol character varying, OUT outareatrabajorol character
varying) OWNER TO postgres;
Tabla 50: Función – Buscar Rol por nombre
Tipo: Function
Nombre: esquema_administracion.rol_buscarporid
Descripción: Busca valores de rol por nombre.

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;

Tabla 51: Función – Buscar listado de Rol


Tipo: Function
Nombre: esquema_administracion.rol_buscartodo
Descripción: Busca valores de rol y muestra un listado.

CREATE FUNCTION esquema_administracion.rol_buscartodo(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;
end;$$;
ALTER FUNCTION esquema_administracion.rol_buscartodo(OUT
outrolid integer, OUT outnombrerol character varying, OUT
outdescripcionrol character varying, OUT outareatrabajorol character
varying) OWNER TO postgres;
Tabla 52: Función – Editar Rol
Tipo: Function
Nombre: esquema_administracion.rol_editar
Descripción: Edita los valores de rol.

CREATE FUNCTION esquema_administracion.rol_editar(inrolid integer,


innombrerol character varying, indescripcionrol character varying,
inareatrabajorol character varying) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_administracion.rol
SET "rolID"=$1, nombre=$2, descripcion=$3, "areaTrabajo"=$4
WHERE "rolID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_administracion.rol_editar(inrolid integer,


innombrerol character varying, indescripcionrol character varying,
inareatrabajorol character varying) OWNER TO postgres;

Tabla 53: Función – Eliminar Rol


Tipo: Function
Nombre: esquema_administracion.rol_eliminar
Descripción: Elimina los valores de rol

CREATE FUNCTION esquema_administracion.rol_eliminar(inrolid


integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_administracion.rol
WHERE "rolID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_administracion.rol_eliminar(inrolid integer)


OWNER TO postgres;
Tabla 54: Función – Insertar Compra
Tipo: Function
Nombre: esquema_compra.compra_insertar
Descripción: Inserta valores en la tabla compra

CREATE FUNCTION esquema_compra.compra_insertar(inproveedorid


integer, infechacompra date, infechaemision date, incorrefacturacion
character varying, infechaenviocorreo date, inestadocompra character
varying, insucursalid integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_compra.compra(
"proveedorID", "fechaCompra", "fechaEmision",
"correFacturacion", "fechaEnvioCorreo", "estadoCompra", "sucursalID")
VALUES ($1, $2, $3, $4, $5, $6, $7);
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_compra.compra_insertar(inproveedorid
integer, infechacompra date, infechaemision date, incorrefacturacion
character varying, infechaenviocorreo date, inestadocompra character
varying, insucursalid integer) OWNER TO postgres;

Tabla 55: Función – Buscar Compra por ID


Tipo: Function
Nombre: esquema_compra.compra_buscarporid
Descripción: Busca los valores de compra por identificación.

CREATE FUNCTION esquema_compra.compra_buscarporid(incompraid


integer, OUT outcompraid integer, OUT outproveedorid integer, OUT
outfechacompra date, OUT outfechaemision date, OUT
outcorrefacturacion character varying, OUT outfechaenviocorreo date,
OUT outestadocompra character varying, OUT outsucursalid integer)
RETURNS SETOF record
LANGUAGE plpgsql
AS $_$begin
return query
SELECT "compraID", "proveedorID", "fechaCompra", "fechaEmision",
"correFacturacion", "fechaEnvioCorreo", "estadoCompra", "sucursalID"
FROM esquema_compra.compra
where "compraID"=$1;
end;$_$;
ALTER FUNCTION esquema_compra.compra_buscarporid(incompraid
integer, OUT outcompraid integer, OUT outproveedorid integer, OUT
outfechacompra date, OUT outfechaemision date, OUT
outcorrefacturacion character varying, OUT outfechaenviocorreo date,
OUT outestadocompra character varying, OUT outsucursalid integer)
OWNER TO postgres;

Tabla 56: Función – Buscar listado de Compra


Tipo: Function
Nombre: esquema_compra.compra_buscartodo
Descripción: Busca valores de compra y muestra un listado.

CREATE FUNCTION esquema_compra.compra_buscartodo(OUT


outcompraid integer, OUT outproveedorid integer, OUT
outfechacompra date, OUT outfechaemision date, OUT
outcorrefacturacion character varying, OUT outfechaenviocorreo date,
OUT outestadocompra character varying, OUT outsucursalid integer)
RETURNS SETOF record
LANGUAGE plpgsql
AS $$begin
return query
SELECT "compraID", "proveedorID", "fechaCompra", "fechaEmision",
"correFacturacion", "fechaEnvioCorreo", "estadoCompra", "sucursalID"
FROM esquema_compra.compra;
end;$$;

ALTER FUNCTION esquema_compra.compra_buscartodo(OUT


outcompraid integer, OUT outproveedorid integer, OUT
outfechacompra date, OUT outfechaemision date, OUT
outcorrefacturacion character varying, OUT outfechaenviocorreo date,
OUT outestadocompra character varying, OUT outsucursalid integer)
OWNER TO postgres;
Tabla 57: Función – Editar Compra
Tipo: Function
Nombre: esquema_compra.compra_editar
Descripción: Modifica los valores de compra

CREATE FUNCTION esquema_compra.compra_editar(incompraid


integer, inproveedorid integer, infechacompra date, infechaemision
date, incorrefacturacion character varying, infechaenviocorreo date,
inestadocompra character varying, insucursalid integer) RETURNS
boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_compra.compra
SET "compraID"=$1, "proveedorID"=$2, "fechaCompra"=$3,
"fechaEmision"=$4, "correFacturacion"=$5, "fechaEnvioCorreo"=$6,
"estadoCompra"=$7, "sucursalID"=$8
WHERE "compraID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_compra.compra_editar(incompraid integer,


inproveedorid integer, infechacompra date, infechaemision date,
incorrefacturacion character varying, infechaenviocorreo date,
inestadocompra character varying, insucursalid integer) OWNER TO
postgres;
Tabla 58: Función – Eliminar Compra
Tipo: Function
Nombre: esquema_compra.compra_eliminar
Descripción: Elimina los valores de compra.

CREATE FUNCTION esquema_compra.compra_eliminar(incompraid


integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_compra.compra
WHERE "compraID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_compra.compra_eliminar(incompraid


integer) OWNER TO postgres;

Tabla 59: Función – Insertar Detalle-Compra


Tipo: Function
Nombre: esquema_compra.detalle_compra_insertar
Descripción: Inserta valores en la tabla detalle compra

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;

Tabla 61: Función – Buscar listado de Detalle-compra


Tipo: Function
Nombre: esquema_compra.detalle_compra_buscartodo
Descripción: Busca valores de detalle compra y muestra un listado.

CREATE FUNCTION esquema_compra.detalle_compra_buscartodo(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;
end;$$;
ALTER FUNCTION esquema_compra.detalle_compra_buscartodo(OUT
outdetallecid integer, OUT outproductoid integer, OUT outcantidad
integer, OUT outpreciounitario money, OUT outporcentajedescuento
integer, OUT outcompraid integer) OWNER TO postgres;
Tabla 62: Función – Editar Detalle-compra
Tipo: Function
Nombre: esquema_compra.detalle_compra_editar
Descripción: Modificar los valores de detalle compra
CREATE FUNCTION
esquema_compra.detalle_compra_editar(indetallecid integer,
inproductoid integer, incantidad integer, inporcentajedescuento integer,
incompraid integer, inpreciounitario double precision) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_compra.detalle_compra
SET "detalleCID"=$1, "productoID"=$2, cantidad=$3,
"porcentajeDescuento"=$4, "compraID"=$5, "precioUnitario"=$6
WHERE "detalleCID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_compra.detalle_compra_editar(indetallecid
integer, inproductoid integer, incantidad integer, inporcentajedescuento
integer, incompraid integer, inpreciounitario double precision) OWNER
TO postgres;

Tabla 63: Función – Eliminar Detalle-compra


Tipo: Function
Nombre: esquema_compra.detalle_compra_eliminar
Descripción: Elimina los valores de detalle compra.

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

CREATE FUNCTION esquema_compra.proveedor_buscartodos(OUT


outproveedorid bigint, 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;

end;$$;

ALTER FUNCTION esquema_compra.proveedor_buscartodos(OUT


outproveedorid bigint, 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 68: Función – Editar Proveedor
Tipo: Function
Nombre: esquema_compra.proveedor_editar
Descripción: Modifica los valores de proveedor.

CREATE FUNCTION esquema_compra.proveedor_editar(inproveedorid


bigint, 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
UPDATE esquema_compra.proveedor
SET "proveedorID"=$1, "nombreComercial"=$2, "razonSocial"=$3,
direccion=$4, ciudad=$5, provincia=$6, telefono=$7, "codigoPostal"=$8,
correo=$9, "paginaWeb"=$10, "estadoEstablecimiento"=$11, ruc=$12,
"actividadEconomica"=$13
WHERE "proveedorID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_compra.proveedor_editar(inproveedorid


bigint, 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 69: Función – Eliminar Proveedor
Tipo: Function
Nombre: esquema_compra.proveedor_eliminar
Descripción: Elimina los valores de proveedor.

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;

Tabla 70: Función – Insertar Producto


Tipo: Function
Nombre: esquema_inventario.producto_insertar
Descripción: Inserta valores en la tabla producto.

CREATE FUNCTION esquema_inventario.producto_insertar(incategoriaid


integer, innombre character varying, indescripcion character varying,
inpreciounitario integer, inunidadesorden integer, inporcentajeorden
integer, indiscontinuacion character varying, inimagen character
varying, instock double precision) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_inventario.producto(
"categoriaID", nombre, descripcion, "precioUnitario",
"unidadesOrden", "porcentajeOrden", discontinuacion, imagen, stock)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9);
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_inventario.producto_insertar(incategoriaid
integer, innombre character varying, indescripcion character varying,
inpreciounitario integer, inunidadesorden integer, inporcentajeorden
integer, indiscontinuacion character varying, inimagen character
varying, instock double precision) OWNER TO postgres;
Tabla 71: Función – Buscar Producto por ID
Tipo: Function
Nombre: esquema_inventario.producto_buscarporid
Descripción: Busca valores de producto por un identificador

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.producto_buscartodo(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;
end;$$;

ALTER FUNCTION esquema_inventario.producto_buscartodo(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 73: Función – Editar Producto
Tipo: Function
Nombre: esquema_inventario.producto_editar
Descripción: Modificar los valores de producto.

CREATE FUNCTION esquema_inventario.producto_editar(inproductoid


integer, incategoriaid integer, innombre character varying, indescripcion
character varying, inpreciounitario integer, inunidadesorden integer,
inporcentajeorden integer, indiscontinuacion character varying,
inimagen character varying, instock double precision) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_inventario.producto
SET "productoID"=$1, "categoriaID"=$2, nombre=$3,
descripcion=$4, "precioUnitario"=$5, "unidadesOrden"=$6,
"porcentajeOrden"=$7, discontinuacion=$8, imagen=$9, stock=$10
WHERE "productoID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_inventario.producto_editar(inproductoid
integer, incategoriaid integer, innombre character varying, indescripcion
character varying, inpreciounitario integer, inunidadesorden integer,
inporcentajeorden integer, indiscontinuacion character varying,
inimagen character varying, instock double precision) OWNER TO
postgres;

Tabla 74: Función – Eliminar Producto


Tipo: Function
Nombre: esquema_inventario.producto_eliminar
Descripción: Elimina los valores de producto.
CREATE FUNCTION esquema_inventario.producto_eliminar(inproductoid
integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_inventario.producto
WHERE "productoID"=$1;
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_inventario.producto_eliminar(inproductoid
integer) OWNER TO postgres;
Tabla 75: Función – Insertar Detalle-Producto
Tipo: Function
Nombre: esquema_inventario.detalleproducto_insertar
Descripción: Inserta valores en la tabla detalle producto

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;

Tabla 76: Función – Buscar Detalle-Producto por ID


Tipo: Function
Nombre: esquema_inventario.detalleproducto_buscarporid
Descripción: Busca valores de detalle producto por un identificador.

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;

Tabla 78: Función – Editar Detalle-Producto


Tipo: Function
Nombre: esquema_inventario.detalleproducto_editar
Descripción: Modificación de los valores de detalle producto.

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;

Tabla 80: Función – Insertar Categoría


Tipo: Function
Nombre: esquema_inventario.categoria_insertar
Descripción: Inserta valores en la tabla categoría.
CREATE FUNCTION esquema_inventario.categoria_insertar(innombre
character varying, indescripcion character varying, insubcategoriaid
integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
INSERT INTO esquema_inventario.categoria(
nombre, descripcion, "subCategoriaID")
VALUES ($1, $2, $3);
band=true;
return band;
end;$_$;
ALTER FUNCTION esquema_inventario.categoria_insertar(innombre
character varying, indescripcion character varying, insubcategoriaid
integer) OWNER TO postgres;
Tabla 81: Función – Buscar Categoría por ID
Tipo: Function
Nombre: esquema_inventario.categoria_buscarporid
Descripción: Busca los valores de categoría por un identificador.

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;

Tabla 82: Función – Buscar Categoría por Nombre


Tipo: Function
Nombre: esquema_inventario.categoria_buscarpornombre
Descripción: Busca valores de categoría por nombre.
CREATE FUNCTION
esquema_inventario.categoria_buscarpornombre(innombre character
varying, 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 nombre ilike '%'+$1+'%';
end;$_$;
ALTER FUNCTION
esquema_inventario.categoria_buscarpornombre(innombre character
varying, OUT outcategoriaid integer, OUT outnombre character varying,
OUT outdescripcion character varying, OUT outsubcategoriaid integer)
OWNER TO postgres;
Tabla 83: Función – Buscar listado por Categoría
Tipo: Function
Nombre: esquema_inventario.categoria_buscartodo
Descripción: Busca valores de categoría y muestra en listado.

CREATE FUNCTION esquema_inventario.categoria_buscartodo(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;
end;$$;
ALTER FUNCTION esquema_inventario.categoria_buscartodo(OUT
outcategoriaid integer, OUT outnombre character varying, OUT
outdescripcion character varying, OUT outsubcategoriaid integer)
OWNER TO postgres;

Tabla 84: Función – Editar Categoría


Tipo: Function
Nombre: esquema_inventario.categoria_editar
Descripción: Modificiacion de valores de categoría.

CREATE FUNCTION esquema_inventario.categoria_editar(incategoriaid


integer, innombre character varying, indescripcion character varying,
insubcategoriaid integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
UPDATE esquema_inventario.categoria
SET "categoriaID"=$1, nombre=$2, descripcion=$3,
"subCategoriaID"=$4
WHERE "categoriaID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_inventario.categoria_editar(incategoriaid


integer, innombre character varying, indescripcion character varying,
insubcategoriaid integer) OWNER TO postgres;
Tabla 85: Función – Eliminar Categoría
Tipo: Function
Nombre: esquema_inventario.categoria_eliminar
Descripción: Elimina los valores de categoría.

ATE FUNCTION esquema_inventario.categoria_eliminar(incategoriaid


integer) RETURNS boolean
LANGUAGE plpgsql
AS $_$declare band boolean;
begin
DELETE FROM esquema_inventario.categoria
WHERE "categoriaID"=$1;
band=true;
return band;
end;$_$;

ALTER FUNCTION esquema_inventario.categoria_eliminar(incategoriaid


integer) OWNER TO postgres;

Tabla 86: Función – Insertar Subcategoria


Tipo: Function
Nombre: esquema_inventario.subcategoria_insertar
Descripción: Inserta valores en la tabla subcategoría.

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;

Tabla 88: Función – Buscar listado de Subcategoria


Tipo: Function
Nombre: esquema_inventario.subcategoria_buscartodo
Descripción: Busca valores de subcategoría y muestra un listado.

CREATE FUNCTION esquema_inventario.subcategoria_buscartodo(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";
end;$$;
ALTER FUNCTION esquema_inventario.subcategoria_buscartodo(OUT
outsubcategoriaid integer, OUT outnombre character varying, OUT
outdescripcion character varying) OWNER TO postgres;
Tabla 89: Función – Editar Subcategoria
Tipo: Function
Nombre: esquema_inventario.subcategoria_editar
Descripción: Modificación de los valores de subcategoría.

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;

Tabla 90: Función – Eliminar Subcategoria


Tipo: Function
Nombre: esquema_inventario.subcategoria_eliminar
Descripción: Elimina los valores de subcategoría.

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;

You might also like