UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES”
FACULTAD DE: Sistemas Mercantiles
CARRERA: Sistemas
PROYECTO DE EXAMEN COMPLEXIVO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERIO EN SISTEMAS E INFORMATICA
TEMA: Aplicación web para el control de las ventas y cobranzas en el “Almacén Carmita”
AUTOR: Alex Geovanny Toledo Brahan
TUTOR: Lic. Luis Albarracín Zambrano, Mgs.
Quevedo- Ecuador
DEDICATORIA
Dedico esta tesis a Dios por haberme permitido llegar hasta este punto y haberme dado salud para lograr mis objetivos, además de su infinita bondad y amor. y a mis padres; Dolores del Carmen Brahan Peralta y Miguel Geovanny Toledo Montaño que siempre han estado para apoyarme incondicionalmente en la parte moral y económica para cumplir una meta más de mi vida profesional
AGRADECIMIENTO
Le agradezco a dios por haberme acompañado y guiado a lo largo de mi carrera, por ser mi fortaleza en los momentos de debilidad y por brindarme una vida llena de aprendizajes, experiencias y sobre todo felicidad.
Le doy gracias a mis padres Carmen y Geovanny por apoyarme en todo momento, por los valores que me han inculcado, y por haberme dado la oportunidad de tener una excelente educación en el transcurso de mi vida. Sobre todo por ser un excelente ejemplo de vida a seguir
A mis hermanos por ser parte importante de mi vida y presentar la unidad familiar. A Josue por ser un ejemplo de desarrollo profesional a seguir, a Nayelli por llenar mi vida de alegrías y amor cuando más lo he necesitado.
A Karen por ser una parte muy importante de mi vida, por haberme apoyado en las buenas y en las malas, sobre todo por su paciencia y amor incondicional.
RESUMEN EJECUTIVO
En la actualidad las aplicaciones web se han vuelto necesarias para el manejo de la información en una organización convirtiéndose en una herramienta muy eficiente que permite al usuario acceder y utilizar un sistema informático permitiendo un mejor manejo y organización de su información. Para lo cual se planteó el “Desarrollo de una aplicación web para el control de las ventas y cobranzas en el “Almacén Carmita”, como una manera de contribuir con el mejoramiento del control de las ventas y cobranzas.
Los tipos de investigaciones con sus métodos permitieron identificar y puntualizar requerimientos funcionales y no funcionales para el desarrollo del software, sin descartar a la técnica más usada por todo investigador: la observación que permitió analizar y sintetizar muchos comportamientos de los procesos internos que se dan en el diario vivir comercial.
ABSTRACT
Currently web applications have become necessary for the management of information in an organization becoming a very efficient tool that allows the user to access and use a computer system allowing better management and organization of their information. For which the "Development of a web application for the control of sales and collections in the" Carmita Store "was proposed, as a way to contribute with the improvement of the control of sales and collections.
The types of research with their methods allowed to identify and specify functional and non-functional requirements for software development, without ruling out the most used technique by all researchers: the observation that allowed analyzing and synthesizing many behaviors of the internal processes that occur in the daily commercial life.
ÍNDICE
CERTIFICACIÓN DEL TUTOR ... ¡Error! Marcador no definido. CERTIFICACIÓN DE AUTORIA ... ¡Error! Marcador no definido. DEDICATORIA ... V AGRADECIMIENTO ... VI RESUMEN EJECUTIVO ... VII EXECUTIVE SUMMARY ... ¡Error! Marcador no definido. ÍNDICE ... IX ÍNDICE DE TABLAS ... XI ÍNDICE DE ILUSTRACIONES ... XII
Tema ... 1
Problema de Investigación ... 1
Formulación del problema ... 1
Línea de investigación ... 1
Justificación de la Necesidad, Actualidad e Importancia ... 1
Objetivos ... 2
Objetivo general ... 2
Objetivos específicos ... 2
Fundamentación teórica y conceptual... 2
Sitio web ... 2
Web ... 3
Características de aplicaciones web... 3
Cliente – Servidor ... 4
Servidores Web ... 4
Apache Web ... 5
¿Qué es PHP? ... 5
Métodos de transferencia de datos en formularios ... 6
CSS ... 6
Diferencias entre extensiones mysql, mysqli y PDO ... 7
Ajax ... 7
HTML ... 8
Tipos de gestores de base de datos ... 8
Dominio ... 9
Tipos de dominios ... 9
Hosting ... 10
Tipos de hosting ... 11
Hosting compartido ... 11
Hosting dedicado ... 11
Servidor local ... 11
Que es empresa ... 12
Que es microempresas... 12
Venta ... 13
Venta Directa ... 13
Venta Indirecta ... 13
Venta a distancia ... 13
Ventas multinivel ... 14
Control de ventas ... 14
Créditos y cobranzas ... 14
Antecedentes relacionados con la investigación a desarrollar ... 15
METODOLOGIA ... 17
Tipo de Investigación ... 17
Población y Muestra ... 17
Método Analítico – Sintético ... 17
Método sistémico ... 17
Método de la modelación ... 18
Método Inductivo... 18
Método Deductivo ... 18
METODOLOGÍA INFORMÁTICA ... 19
Propuesta ... 21
Tema ... 21
Antecedentes de la Empresa ... 21
Objetivo ... 21
Modelado de Gestión ... 22
Caso de Uso ... 24
Modelo conceptual ... 25
Modelo Lógico ... 26
Modelo Fisco ... 27
Script de la base de datos ... 27
Diccionario de Datos ... 33
Diagrama de Navegabilidad ... 41
Diseño de Interfaz ... 42
Resultados Finales de la Aplicación... 44
Conclusiones ... 48
Recomendaciones ... 49
Referencias Bibliográficas ... 50
ÍNDICE DE TABLAS
Tabla 1: Población y Muestra ... 17Tabla 2: Requerimiento 1 ... 22
Tabla 3: Requerimiento 2 ... 22
Tabla 4: Requerimiento 3 ... 22
Tabla 5: Requerimiento 4 ... 22
Tabla 6: Requerimiento 5 ... 23
Tabla 7: Requerimiento 6 ... 23
Tabla 8: Requerimiento 7 ... 23
Tabla 9: Requerimiento 8 ... 23
Tabla 10: Requerimiento 9 ... 24
Tabla 11: Requerimiento 10 ... 24
Tabla 12: Categorías de la base de datos de la aplicación web ... 33
Tabla 13: Índice de tabla de Categorías ... 34
Tabla 14: Cliente de la base de datos de la aplicación web ... 34
Tabla 15: Índice de tabla de Cliente ... 34
Tabla 16: Compras de la base de datos de la aplicación web ... 35
Tabla 17: Índice de tabla de Compras ... 35
Tabla 18: Factura de Compra de la base de datos de la aplicación web ... 35
Tabla 19: Índice de tabla de Factura de Compra ... 35
Tabla 21: Índice de tabla de Factura de venta ... 36
Tabla 22: Marcas de la base de datos de la aplicación web ... 36
Tabla 23: Índice de tabla de Marcas ... 36
Tabla 24: Numero de Contrato de la base de datos de la aplicación web ... 37
Tabla 25: Índice de tabla de Numero de Contrato ... 37
Tabla 26: Pagos de la base de datos de la aplicación web ... 37
Tabla 27: Índice de tabla de Pagos ... 38
Tabla 28: Pago de Contrato de la base de datos de la aplicación web ... 38
Tabla 29: Índice de tabla de Pagos de Contrato ... 38
Tabla 30: Producto de la base de datos de la aplicación web ... 39
Tabla 31: Índice de tabla de Producto ... 39
Tabla 32: Temporal de la base de datos de la aplicación web ... 39
Tabla 33: Índice de tabla de Temporal ... 39
Tabla 34: Venta de la base de datos de la aplicación web ... 40
Tabla 35: Índice de tabla de Venta ... 40
Tabla 36: Ventas de Contrato de la base de datos de la aplicación web ... 40
Tabla 37: Índice de tabla de venta de contrato ... 41
ÍNDICE DE ILUSTRACIONES
Ilustración 1 Cliente/Servidor ... 4Ilustración 2: AJAX ... 7
Ilustración 3: Caso de Uso del Usuario ... 24
Ilustración 4: Caso de uso del Administrador ... 25
Ilustración 5: Modelo Conceptual ... 26
Ilustración 6: Modelo Lógico ... 26
Ilustración 7: Modelo Físico ... 27
Ilustración 8: Diagrama de navegabilidad del Administrador ... 41
Ilustración 9: Diagrama de navegabilidad del Cliente ... 42
Ilustración 10: Página Principal de la Aplicación Web ... 42
Ilustración 11: Pagina de Contacto de la Aplicación ... 43
Ilustración 12: Pagina de Iniciar Sesión ... 43
Ilustración 13: Índex de la Aplicación ... 44
Ilustración 15: Contáctenos de la Aplicación ... 45
Ilustración 16: Iniciar Sesión ... 45
Ilustración 17: Ventana Principal de la Aplicación ... 46
Ilustración 18: Formulario de Ingreso de Compras ... 46
Ilustración 19: Formulario de Ingreso de Usuarios ... 47
1
Tema
Aplicación Web para el control de las ventas y cobranzas en el “Almacén Carmita”
Problema de Investigación
El “Almacén Carmita” propiedad de MSc. Dolores del Carmen Brahan Peralta, dedicada a la comercialización de electrodomésticos, y artículos para el hogar, se encuentra ubicada en el Cantón Mocache en la calle 28 de mayo y 1 de agosto en la Provincia de los Ríos.
La empresa no cuenta con un sistema de cobranza, donde especifique los clientes deudores y no deudores, ocasionando deficiencia en el departamento financiero, también carece de Políticas crediticias en la actualidad, es necesario mencionar que el comercial tiene alto índice de morosidad.
El seguimiento no es adecuado, no realizan llamadas a los clientes, recordándoles sus obligaciones, dando como resultado incumplimientos, elevando la cartera vencida, los mecanismos utilizados no garantizan que los pagos sean en las fechas establecidas, de continuar con estos problemas el “Almacén Carmita” no podrá llevar a cabo un análisis crediticio idóneo y una correcta administración de las cobranzas.
Formulación del problema
¿Cómo contribuir con el mejoramiento del control de las ventas y cobranzas en el “Almacén Carmita”?
Línea de investigación
Desarrollo de software libre.
Justificación de la Necesidad, Actualidad e Importancia
2
Los procesos que llevan el control de un sistema, son los que mediante dispositivos programados o automatizados pueden funcionar de forma independiente o semi-independiente del control manual.
Se realizó un estudio en el Almacén Carmita donde se encontraron algunas fallas que presentan la inconformidad de los clientes al no poseer un registro de control de sus compras y pagos realizados por lo que requiere automatizar y optimizar sus actividades con el fin de mejorar los servicios que presta el almacén de electrodomésticos.
Con el desarrollo de una aplicación web el Almacén Carmita tendría una necesaria herramienta de apoyo para llevar un mejor control de los datos de los clientes, sus ventas y cobros realizados.
Objetivos
Objetivo general
Desarrollar una aplicación web para el control de las ventas y cobranzas en el “Almacén Carmita”
Objetivos específicos
Fundamentar las bases teóricas sobre el control de las ventas y cobranzas, sitios web, modelamiento.
Determinar a través de los procedimientos metodológicos para el diagnóstico del estado actual del proceso de control de las ventas y cobranzas en el “Almacén Carmita”.
Estructurar una aplicación web para el control de las ventas y cobranzas en el “Almacén Carmita”.
Fundamentación teórica y conceptual
Sitio web
3
“Cuando ejecuta una URL (Uniform Resource Locator), por ejemplo http:// .google.es, ¿qué ocurre en el navegador (Internet Explorer, Firefox, Chrome...)?
La URL se envía a un servidor Web a través de la red. Este servidor procesa lasolicitud y reenvía el flujo HTML al navegador” (Rollet, 2015, pág. 13)
Según Mora y Rollet, un sitio web no es más que un conjunto de páginas relacionadas
con la misma temática y estas pertenecen a un mismo dominio y las cuales poseen
varios tipos de recursos que permiten interactuar con los usuarios, respondiendo a
diversas interrogantes.
Web
“Los conceptos de web y de internet a menudo se confunden y se tiene a creer que son lo mismo, pero en realidad son diferentes. Internet engloba a la tecnología que hacen posible que los ordenadores ubicados en diferentes lugares del mundo se conecten entre si y puedan compartiré información, la web es solo uno de los servicios que proporciona internet” (Ramos Martín & Ramos Martín, 2014, pág. 3).
“La web es una colección de documentos que representan diferentes sitios enlazados entre sí, de modo que basta hacer clic en una palabra o imagen o sonido en particular para trasladarse rápidamente a otro sitio.” (Salkind, 1999)
En si la web no es más que una compilación de índices electrónicos vinculados entre sí,
siendo mostrados a través de un navegador web, permitiendo visualizar cualquier tipo
de archivo sean texto, imágenes, videos, entre otros. Esta estructura está compuesta por
varios computadores conectados a nivel mundial
Características de aplicaciones web
Resaltado de sintaxis: el código fuente se resalta con colores según si el texto es una palabra reservada del lenguaje, una variable, una función, una clase. Etc.
Formateo automático del código: el código se estructura de acuerdo a las normas o recomendaciones de cada lenguaje.
Autocompletado: a medida que se escribe, el editor muestra sugerencias que
4
Documentación en línea: posibilidad de consultar la documentación del lenguaje desde el propio editor (GÓMEZ, 2015, pág. 55)
Cliente – Servidor
Un sistema cliente servidor es un entramado de componentes funcionales de procesos,
el cliente quien solicita un requerimiento y el servidor lo otorga, manteniendo la idea
de resguardar todo tipo de información y luego brindarla a cada punto de conexión a
través de una línea de comunicación.
Ilustración 1 Cliente/Servidor Fuente: http://profejavaoramas.blogspot.com
Servidores Web
“Servidor web es un programa que está esperando permanentemente las solicitudes de conexión mediante el protocolo http por parte de los clientes web. En los sistemas Unix suele ser un demonio y en los sistemas Microsoft Windows un servicio. La parte servidor de las aplicaciones web está formada por paginas estáticas que siempre muestran el mismo contenido y por programas o scripts que son ejecutados por el servidor web cuando el navegador del cliente solicita algunas páginas.” (Mora, 2002)
“En un entorno Web g en una arquitectura cliente/servidor aparece la parte"servidor". Por definición, un servidor web es una aplicación informática del lado del servidor que realiza conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente generando una respuesta en cualquier lenguaje o aplicación del lado del cliente” (San Miguel, 2015, pág. 48)
De forma más explícita se concluye con que un servidor web es un programa que se
ejecuta en un ordenador master, manteniéndose a la expectativa de recibir peticiones
por parte de los clientes o usuarios para poder contestarlas de manera adecuada dando
como efecto una página web, la función base es el intercambio de información
5 Apache Web
Según lo dicho por (San Miguel, 2015) el servidor apache es el más utilizado. Su éxito se debe, principalmente, aque es multiplataforma y a Su estructura modular, esto permite emplear diversos lengua es en el lado del servidor (PHP, Pgthon g Perl, programas CGI g otros), así como incorporar características como la compresión de datos, as conexiones seguras g la utilización de URLs amigables. Aparte del mencionado tiene, además, un proyecto llamado TOMCAT, el cual implementa las especificaciones de los servvlets y de JavaServer Pages (JSPJ de Oracle Corporation (creado por Sun Microsystems y absorbida por Oracle).
Un apache quien permite otorgar servicio a las páginas web ya sean estas dinámicas o
estáticas es decir páginas cambiantes o básicas que muestran información neta.
Además del ser el más utilizado por ser multiplataforma (diferentes sistemas
operativos) lo que se convierte en la característica más destacada de él.
¿Qué es PHP?
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) al “momento es importante mencionar que se trata de un lenguaje libre y abierto que presenta una curva de aprendizaje muy baja, con una sintaxis simple, y que cumple con los estándares básicos de la programación orientada a objetos. Estos atributos le han permitido ubicarse como uno de los lenguajes del lado del servidor más utilizados alrededor del mundo” (Luna & Peña , 2018, pág. 1)
“PHP es un lenguaje de script que se ejecuta del lado del servidor; el código PHP Se incluye en una página HTML normal. Por lo tanto, se puede comparar con Otros lenguajes de script que se ejecutan según el mismo principio: ASP (Active Server Pages), JSP(lava Server Pages) o PL/SQL Server Pages (PSP)” (Heurtel, 2015, pág. 13)
PHP es un lenguaje de programación de uso general de código del lado del servidor
originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los
primeros lenguajes de programación del lado del servidor que se podían incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que
procese los datos. El código es interpretado por un servidor web con un módulo de
procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo
6
aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores
web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo.
Métodos de transferencia de datos en formularios
“Los datos que el usuario introduzca en un formulario de una página web pueden ser transferidos al servidor para su procesamiento con dos métodos diferentes:
Método GET: los datos son enviados dentro del URL de localización del
destino.
Método POST: los datos son enviados de manera invisible para el usuario,
haciendo uso del protocolo http y en un encabezado independiente.
Diferencias entre ambos métodos. Tanto GET como POST son métodos de envío de la información de los formularios válidos y ampliamente utilizados. Cada método tiene sus ventajas y sus inconvenientes y no se puede decir que uno sea mejor que otro. Elegir entre un método y otro depende de la aplicación concreta que se esté desarrollando y es algo que dentro de las empresas de desarrollos web suelen decidir los encargados del diseño de las aplicaciones” (Cobo, Gomez, Pérez, & Rocha, 2005, pág. 141).
Existen varios métodos para poder transferir datos a través de formularios de forma
visible e invisible para el usuario estos métodos ambos son para envíos de datos los
dos funcionan por igual sin dar estimación a ninguno de los dos, pero hacen en
distinta forma porque el método POST se envía atreves de formularios, mientras que
el método GET lo hace mediante URL.
CSS
“CSS significa Cascade Sty/e Sheets (también denominado como Hojas de Estilo en Cascada). Es un lenguaje de marcado que se utiliza para dar formato a las páginas web funcionando en conjunto con los archivos HTML es por ello que, para desarrollar un sitio web, es necesario conocer ambos lenguajes “ (Velazquez Perea, 2018, pág. 9)
El lenguaje CSS es una hoja de estilo, que sirve para organizar la presentación de los
navegadores web de internet y por los programadores web informáticos y aspecto de
7
programadores para elegir una multitud de opciones de presentación como colores,
tipos y tamaños de letra, entre otros.
Diferencias entre extensiones mysql, mysqli y PDO
Mysql: Es la API histórica que ofrece PHP desde varias versiones atrás. Mysqli: Esta es la nueva versión de mysql, orientada a objetos.
PDO: Es una capa de abstracción de base de datos, con soporte para MySQL y otros sistemas de gestores de base de datos
Ajax
“El Ajax une antiguas tecnologías para elaborar una técnica de desarrollo que permite crear aplicaciones web más interactivas con el usuario que las de la web 1.5” (Arias, Durango, & Socorro, Curso de Marketing Online, 2016)
El AJAX es un conjunto de técnicas nuevas, que envuelven diversas tecnologías antiguas, de entre estas: Javascript, XML, Document Object Model (DOM). De entre estas tecnologías el único elemento nuevo es el XMLHttpRequest, y aun así no es tan nuevo como parece. (Arias, Aprende a Programar con Ajax, 2014)
Con Ajax se hace posible realizar peticiones al servidor y obtener una respuesta de esta
en segundo plano y usar esos datos para a través de JavaScript, modificar los
contenidos de la página creando efectos dinámicos y rápidos
Ilustración 2: AJAX
8 HTML
“HTML son las iniciales de Hipcr Text Markup Language.
Es un conjunto o serie dc etiquetas incluidas archivos de texto que definen la estructura de un documento WWW y sus vínculos con otros documentos.
Los navegadores leen estos archivos de texto e interpretan esas etiquetas para determinar
como desplegar la página Web” (Sánchez Morales, 2012, pág. 104)
HTML es el lenguaje que se emplea para el desarrollo de páginas. Está compuesta por
una serie de etiquetas que el navegador interpreta y da forma en la pantalla, también
dispone de etiquetas para imágenes, hipervínculos que nos permiten dirigirnos a otras
páginas saltos de líneas, listas, tablas entre otras.
¿Qué es base de datos?
“Las bases de datos son repositorios que almacenan informaciones de carácter estructurado o no estructurado con sus contenidos tantos sintácticos como semánticos” (Capallo Portilla & Nieto Bernal, 2017, pág. 5)
Las de base de datos son sistemas computarizados, que registran datos, cuya finalidad
es salvaguardar la información y permitir el acceso a aquella cuando se desee.
Teniendo un lenguaje de manipulación datos SQL que puede ser utilizado en cualquier
sistema gestor de base datos, con pequeñísimas modificaciones en su estructura.
Tipos de gestores de base de datos
MySQL: Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB desarrolla MySQL como software libre en un esquema de licenciamiento dual.
Oracle: Es un sistema de gestión de base de datos relacional (o RDBMS por el
acrónimo en inglés de Relational Data Base Management System), fabricado por Oracle Corporation.
Microsoft SQL Server: Es un sistema de gestión de bases de datos relacionales
9
Microsoft Access: Es un sistema de gestión de bases de datos Relacional creado
y modificado por Microsoft (DBMS) para uso personal de pequeñas organizaciones.
Visual FoxPro: Es un lenguaje de programación orientado a objetos y
procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.
PostgreSQL. Es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
Dominio
“Un nombre de dominio es una cadena de caracteres con una sintaxis concreta que apunta a un único espacio de internet. Así, escribiendo el nombre de dominio en un navegador se accede al sitio web al que apunta. Por ejemplo, si se escribe el nombre de dominio "www.google.es" se accederá a la web del buscador Google en Español y a ninguna otra” (Celaya Luna, 2017)
“Computadora anfitriona de Internet que ejecuta el software DNS para coordinar las direcciones IP y los nombres de dominio de cada computadora conectada a la misma” (Technology, 2005, pág. 60)
En concordancia con los autores Celaya &Technology se diría que el dominio es el
nombre único que te direcciona hacia un sitio web, para poder obtener un dominio
para un sitio lo primero es identificar que ese nombre no exista. Básicamente es el
nombre con el que vas a estar alojado en la web” www.cisco.com”.
Tipos de dominios
10
Dominios.com: Son los dominios más extendidos en el mundo. Sirven para cualquier tipo de página web, temática, persona o entidad.
Dominios.net: Originalmente orientado a empresas relacionadas con Internet y la tecnología, en la actualidad se usa como alternativa a los dominios .com, y puede ser usado para cualquier tipo de página web.
Dominios.org: Diminutivo de “organización”, este tipo de dominios están orientados a organizaciones sin ánimo de lucro, asociaciones o fundaciones. Dominios.info: Se utilizan para página de información general o puntual. Se puede usar como alternativa a los .com o .net.
Dominios.es: Es un tipo de dominio territorial y se usa para páginas web que tengan alguna relación con España o la cultura española. Puede contratarlo cualquier persona o entidad sin necesidad de que tenga residencia en España. Dominios.com.es: Son los dominios más extendidos en el mundo. Sirven para cualquier tipo de página web, temática, persona o entidad.
Dominios nom.es: Al igual que los dominios.com.es, son dominios territoriales y se usan para páginas web que tengan alguna relación con España o la cultura española.
Dominios. gob: Es para las páginas de gobiernos.
Dominios .edu: Es reservado para las instituciones relativas de educación. Dominios .mil: Se utiliza para instituciones militares.
Hosting
“Es el espacio donde se aloja un sitio web en Internet. Concretamente, es el servidor web donde se guarda toda la información de nuestra página y permite a los usuarios acceder a nuestra oferta y realizar transacciones comerciales con nuestra empresa. El servicio de hosting permite que nuestra tienda esté siempre disponible, para que cualquier usuario pueda comprar a cualquier hora y desde cualquier ubicación o dispositivo con las mayores garantías” (Naranjo , 2017)
En conclusión, de lo dicho por el autor es el espacio físico- lógico donde va a alojar
el sitio, por lo general son computadores con grandes características (servidores)
que permiten conexiones de alta velocidad para la navegación, garantizan una
disponibilidad de 24 horas al día por 7 de la semana y seguridad en la información
11 Tipos de hosting
Existen varios tipos de hosting web y se seleccionan dependiendo a su seguridad
Hosting compartido
.“Este es el tipo de hosting más utilizado y resulta ser una alternativa bastante económica. El servicio consiste en que compartas el servidor con otro sitio web. Esto implica compartir el almacenamiento, recursos y gastos entre todas las webs alojadas en el servidor” (Selman, 2017)
“Muchos sitios comparten servidor. A cambio de un pequeño pago mensual, el servicio dispone de múltiples funciones, Sus principales usuarios son los particulares y las pequeñas empresas” (Poolos, 2018, pág. 35)
Un hosting compartido es aquel que comparte su almacenamiento con otras
páginas de otras empresas, utilizando el mismo servidor para abaratar costos
de requerimientos de igual manera estos servicios se encuentran con normas de
seguridad y la información esta disponibles 24/7.
Hosting dedicado
“Hosting es el de housing o colocation, que consiste en alquilar espacio físico en un centro de datos, para colocar un servidor de nuestra propiedad, que nosotros mismos instalamos, administramos y mantenemos” (Seoane Balado, 2005, pág. 130)
“El propietario dispones de todo el servidor web. Esto permite un rendimiento más rápido, ya que se tiene todos los recursos del servidor por completo, sin compartir con otros usuarios de sitios web” (Martínez Valverde & Rojas Ruiz , 2016, pág. 122)
Este tipo de hosting es aquel que nos sirve como alojamiento único para una
sola empresa o institución, y que una de las ventajas es la rapidez de
navegabilidad y el espacio de almacenamiento que posee.
Servidor local
12
probar el sitio desde un punto de vista funcional, pero sin que esté a disposición de los usuarios” (Aubry, 2012, pág. 207)
sin que esté a disposición de los usuarios. Este tipo de servidor nos emula que estamos navegando en la web, pero como su propia palabra los dice es local, que nos quiere
decir solo para una Pc´s
Que es empresa
“Que hoy en día vivimos rodeados de empresas, que son de interés por razones diferentes, ya sean de tipo productivo, por su interés financiero, relaciones contractuales, entre otros. Todas estas razones son las que consideran a la empresa como una realidad socioeconómica a estudiar dentro del ámbito de las ciencias sociales, y en particular dentro de la economía.” (Estallo M. d., 2007)
“Es un organismo formado por personas, bienes materiales, aspiraciones y realizaciones comunes para dar satisfacciones a su clientela.” (Romero, 2010)
La empresa es una entidad conformada básicamente por varias personas, que tiene una
misión, visión, una cadena de valores y objetivos institucionales a cumplir para lo cual
tienen que gestionar varias estrategias que permitan alcanzar la estabilidad de la
empresa.
Que es microempresas
“La unidad productiva más pequeña de la estructura empresarial, en términos de escala de activos físicos, ventas y números de empleados, que realiza actividades de producción, comercio o servicios en áreas rurales o urbanas.” (Lizarazo Beltran, 2009)
“Una microempresa puede ser definida como una asociación de personas que, operando en forma organizada, utiliza sus conocimientos y recursos: humanos, materiales, económicos y tecnológicos para la elaboración de productos y/o servicios que se suministran a consumidores, obteniendo un margen de utilidad luego de cubrir sus costos fijos variables y gastos de fabricación” (Monteros, 2005, pág. 15)
Una microempresa es aquella pequeña o media empresa, la cual refleja su realidad
económica, en su volumen o balance general de ganancias, por las cuales se pueden
acoger a los programas o políticas de la Unión Europea (UE) que es destina
13 Venta
No es más que la acción de intercambiar un bien o servicio con otra persona a cambio
de valor o bien común que permita generar una rentabilidad o ganancia. Se diría que
venta es una operación transfiere el dominio de ese bien por un valor pactado. Existen
diferentes tipos de ventas como: Venta Directa, Indirecta, Distancia y Ventas
Multinivel.
Venta Directa
“Se trata de ejemplos de individuos normales que hacen de la venta directa una actividad
cotidiana, una diversión , se cabe: una tarea a la que se lanzan sin que exista una
obligación o una necesidad lucrativa, sino una aspiración de índole personal” (Ongallo,
2012, pág. 7)
Es cuando durante el proceso de venta existe un contacto directo entre el
vendedor que puede llegar a ser una persona natural o empresa y el comprador
que puede ser lo mismo que el vendedor, no existen intermediarios entre ellos.
Venta Indirecta
“Es cuando el comprador adquiere el producto sin contacto ni asesoramiento del vendedor” (Escudero Serrano, Procesos de venta, 2014, pág. 28)
En relación con lo dicho por el autor Escudero no es más que cuando el comprador realiza la compra de un bien o servicio por necesidad propia y con conocimiento de causa.
Venta a distancia
“En este tipo de Venta un Contacto directo el comprador y el vendedor.
La oferta comercial y su aceptación se realizan a través de un medio de comunicación a distancia.
El sistema de contratación utilizado es también es a distancia, y lo organiza y facilita el vendedor” (Montserrat Cabrerizo , 2014, pág. 118)
14 Ventas multinivel
“Es un sistema de venta directa sus características son: los vendedores pueden tener descuentos por su volumen personal de ventas; comisiones por las ventas o compras de aquellas personas a las que han reclutado y también sobre las ventas del grupo o la red reclutada” (Escudero Serrano , Técnicas de venta y negociación, 2016, pág. 7)
En concordancia con el autor Escudero se diría que la venta multinivel son los
vendedores que tiene de bajo de ellos más vendedores y así sucesivamente por
cada persona, cada una de esas personas al realizar una venta ganan un dinero
por cada vendedor debajo de ellos y hace comisionar al que está encima de él.
Control de ventas
“Es fundamental para conocer los resultados negativos y sus causas. Se debe efectuar anualmente, así como el control de la estrategia” (Estallo M. Á., 2010, pág. 657).
“El sistema de control debe proveer al vendedor de la información básica sobre las desviaciones que va teniendo a lo largo del año en sus resultados y en su actividad, de modo que puede emprender por su propia cuenta acciones correctoras en caso necesario. Es lo que se suele conocer como autocontrol. Ahora bien, a menudo no es sencillo para el vendedor sacar por sí mismo conclusiones claras sobre qué hay que corregir y en qué dirección. Y para ello existe el control del supervisor (director comercial, jefe de ventas), el cual tiene precisamente entre sus tareas la de analizar los informes de control de cada vendedor e intervenir cuando las desviaciones son suficientemente importantes o continuadas (control por excepción)” (Belío Galindo & Sainz Andrés, 2007, pág. 53)
Para resumir lo dicho por Estallo el control de venta no es más que la forma de llevar
cuentas de lo vendido, por ítems de producto o valores, de esta manera se puede decir
que es lo que más se vende y lo que no. Además de indicar los ingresos de valores por
las ventas.
Créditos y cobranzas
15
Los negocios actuales manejan dos formas de pago una es contado y la otras es crédito,
siendo esta última más utilizada, porque permite con poco dinero y en cómoda cuotas
semanales, quincenales o mensuales se pague el objeto llevado. Entonces en ese
momento interviene la cobranza por parte del almacén.
Antecedentes relacionados con la investigación a desarrollar
Los autores Ronald Marcelo Gualán Saavedra y Diego Fabián Montúfar Cevallos, en su tesis de ingeniería en Sistemas con el título: “APLICACIÓN WEB PARA LA GESTIÓN DE MICROCRÉDITOS”, de la Universidad de Cuenca de la escuela de Informática de Ecuador dicen que:
El objetivo de esta tesis es crear una herramienta que permita gestionar los procesos necesarios para la comercialización de microcréditos. Para esto primeramente se busca desarrollar una plataforma robusta que aprovecha los beneficios de utilizar un manejo transaccional de procesos, una arquitectura modular del sistema y el empleo de tecnologías recientes en el manejo de persistencias y desarrollo de interfaces web en Java como son JPA y GWT respectivamente. Con los resultados obtenidos se pretende dar soporte a los Asesores de microcrédito que ejercen su trabajo en zonas alejadas de la ciudad, llegando a ofrecer el producto crediticio a clientes que no disponen de facilidades para obtener estos créditos por medios tradicionales.
Los microcréditos representan un medio de desarrollo y crecimiento a nivel económico para estos sectores, que generalmente son de bajos recursos. Los asesores requieren de herramientas como computadores portátiles, teléfonos inteligentes o tablets para realizar su trabajo de campo. El presente sistema tiene como objetivo funcionar sobre dichos dispositivos, especialmente sobre computadores portátiles y tablets, facilitando a los asesores la gestión de microcréditos.
16
aplicación, para así continuar con la parte del análisis, diseño e implementación de la misma. Finalmente ponemos a consideración posibles trabajos futuros y las conclusiones que se obtuvieron al terminar el proyecto.
Según la autora Peña Roja Angie Paola en su tesis de Especialista en sistema de Información con el título: “DISEÑO DE UN SISTEMA DE INFORMACION PARA LA GESION DE PEDIDOS DE VENTAS INTEGRADO ALA PLATAFORMA TECNOLOGICA DE PONCE & BENZO”, de la universidad Católica Andrés Bello de la ciudad de Caracas país Venezuela dice que:
Gracias a las nuevas tecnologías, los consumidores tienen acceso a gran cantidad de Información. El cliente no sólo es el centro de todas las acciones, sino que ha dejado el papel de receptor de información y se ha convertido en un consumidor activo que busca lo que necesita entre una oferta muy amplia. En este ámbito Ponce & Benzo es una empresa venezolana, fundada en 1921, que manufactura y distribuye productos farmacéuticos y de consumo masivo, que reconoce el rol protagónico que tiene la gerencia comercial y considerando la necesidad de automatizar sus procesos, obtener datos confiables y disminuir el tiempo de las actividades operativas, se planteó desarrollar una investigación siguiendo la modalidad de proyecto factible, con el objetivo de Diseñar un sistema de información basado en tecnología web para la gestión de pedidos de ventas integrado a la plataforma tecnológica de Ponce & Benzo, la misma abarcó cuatro fases: revisión de procesos, revisión documental, diseño de la propuesta y estudio de factibilidad, sin concretar su implementación.
17
METODOLOGIA
Tipo de Investigación
La investigación a utilizar es la cualitativa – cuantitativa, siendo la primera la que va permitir ver las acciones, normas y valores de la empresa a investigar, además de permitir extraer los requerimientos para el desarrollo de software y la segunda investigación permitió recolectar necesidades con precisión y perfilar el desarrollo.
Población y Muestra
La población del almacén Carmita es por el momento muy limitada e igual el personal con el que se labora es de 98 personas en general, por lo que no se aplica la fórmula para obtener una muestra que el valor es menos de cien.
Detalle Población Muestra
Personal que labora en el Almacén 3 3
Cartera de cliente estable 95 95
TOTAL 98
Tabla 1: Población y Muestra Fuente: Alex Toledo
Método Analítico – Sintético
“Este método estudia los hechos, partiendo de la descomposición del objeto de estudio, en cada una de sus partes para estudiarlas en forma individual (análisis), y luego se integran dichas partes para estudiarlas de manera holística e integral (síntesis).” (Torres, 2006)
Se analizó y sintetizo los pasos a seguir para realizar la aplicación web y los procesos
que ayudaría en la implementación.se utilizo para analizar información obtenida de la
técnica de la observación la cual después se sintetizó.
Método sistémico
18
Ayudó a definir los pasos a seguir para él desarrollos de la aplicación web, así como
también las relaciones de los diferentes objetos. Lo que permitió realizar el algoritmo
de funcionamiento del sistema
Método de la modelación
“Es el método que opera en forma práctica o teórica con un objeto, no en forma directa, sino utilizando cierto sistema intermedio, auxiliar, natural o artificial.” (Ocaña, 2009)
Este método fue de gran ayuda para llegar al problema de la investigación mediante
proyectos a pequeña escala. Se diseñó el sistema web de acuerdo a los datos obtenidos
de la investigación
Método Inductivo
“Consiste en basarse en enunciados singulares, tales como descripciones de los resultados de observaciones o experiencias para plantear enunciados universales, tales como hipótesis o teorías. Ello es como decir que la naturaleza se comporta siempre igual cuando se dan las mismas circunstancias, lo cual es como admitir que bajo las mismas condiciones experimentales se obtienen los mismos resultados, base de la repetitividad de las experiencias, lógicamente aceptado” (Cegarra Sánchez, 2012, pág. 82)
Este método se aplicó para realizar las conclusiones de la presente investigación,
partiendo de varios escenarios encontrados en el tiempo del desarrollo del sitio.
Método Deductivo
“Es un método de razonamiento que consiste en tomar conclusiones generales para explicaciones particulares. El método se inicia con el análisis de los postulados, teoremas, leyes, principios, etcétera, de aplicación universal y de comprobada validez, para aplicarlos a soluciones o hechos particulares.” (Torres, 2006)
Se estableció a partir de los conceptos del marco teórico para aplicarlos en la
19 METODOLOGÍA INFORMÁTICA
Se planteó utilizar el método de desarrollo rápido de aplicaciones (RAD) se tiende a comprender la usabilidad, utilidad y la rapidez de ejecución, comprende las siguientes etapas:
Modelado de gestión: En este proceso se modela el flujo de información que se va a manejar en el sistema para utilizarla como requerimientos de la Aplicación Web para el control de las ventas y cobranzas en el “Almacén Carmita”
Modelado de datos: Se contempla la definición de las características de los objetos, así como la constitución de los objetos y sus vínculos entre ellos. Y cada uno de los atributos de las entidades que se necesiten para registrar la información más relevante para gestionar, controlar y agilizar todos los procesos que se realicen.
Modelado de procesos: Describe las metodologías que manipulan los objetos, así como la comunicación entre ellos. Se utiliza para añadir, modificar, suprimir o recuperar un objeto de datos. A través del diseño de los diagramas UML, identificando los procesos que se lleven a cabo en la gestión de la aplicación web.
Diagrama de aplicación: En este diagrama nos permite presentar en forma esquematizada la información relativa e inherente el software y facilitar la construcción del programa, como el diagrama de navegación y el diseño de interfaz.
Pruebas e implementación: para la creación del software se utilizó el lenguaje de programación HTML Y PHP, para la base de datos MySQL
Software Utilizados: Para la creación del aplicativo web para el control de ventas y cobranzas en el Almacen Carmita se utilizó los siguientes software
o Power Designer: modelamiento de la base de datos
o EasyPHP: como servidor y sistema gestor de base de datos o MySQL: creación de base de datos
20 Conclusiones Parciales del Capitulo
21
Propuesta
Tema
Aplicación web para el control de las ventas y cobranzas en el Almacén “Carmita”.
Antecedentes de la Empresa
Almacén Carmita abrió sus puertas en el año 1990, sus inicios fueron con un juego de comedor de 6 sillas, que después de 4 horas se duplico, todo había sido un rotundo éxito para este pequeño almacén que recién estaba iniciando, la primera empresa en ser parte del éxito fue MAYEPSA de propiedad del señor Julio Yépez ofreciéndole artículos a consignación, al observar el éxito que tenía para vender la propietaria del Almacén Carmita la MGs. Dolores del Carmen Brahan Peralta se fueron sumando más empresas permitiéndole abrir código y crédito directo con carteras que iban subiendo mediante su nivel de venta.
Hoy en día el Almacén Carmita es líder en ventas de artículos para el hogar en el Cantón Mocache y siendo distribuidor exclusivo de varias empresas reconocidas nacionalmente como “JUAN ELJURI, MAYEPSA, SUZUKI, PARAISO CENTER, PARAISO DEL ECUADOR, CHAIDE Y CHAIDE” entre otras, Almacén Carmita cuenta con 1 sucursal en el mismo cantón, y está a próximo de abrir más sucursales a nivel de la provincia en ciudades de mayor influencia de compradores, este cuenta actualmente con 4 trabajadores entre ellos la propietaria y gerente de mencionado almacén, siendo parte de este progreso con un gran entusiasmo y liderazgo hacia sus trabajadores.
Objetivo General
Estructurar una aplicación web para el control de ventas y cobranzas del Almacén “Carmita”.
Específicos
22
Modelar la base de datos para la aplicación
Diseñar sitio web para el control de ventas y cobranzas del Almacén “Carmita”.
Modelado de Gestión
Para este modelado de gestión de la aplicación web se generó los requerimientos, a través de la entrevista realizada a la gerente del comercial “CARMITA”, y son los siguientes.
Requerimiento REQ001 Tipo Funcional
Nombre Clientes
Descripción Registrar a todas la personas que deseen adquirir o vender algún producto, y también a las personas que administran el sistema.
Prioridad Alta Adjunto
Tabla 2: Requerimiento 1
Fuente: Alex Toledo
Requerimiento REQ002 Tipo Funcional
Nombre Categorías
Descripción Registrar a todas las categorías que maneja el almacén Carmita.
Prioridad Media Adjunto
Tabla 3: Requerimiento 2 Fuente: Alex Toledo
Requerimiento REQ003 Tipo Funcional
Nombre Marcas
Descripción Registrar y saber que marcas tengo en existencia en el almacén Carmita.
Prioridad Media Adjunto
Tabla 4: Requerimiento 3 Fuente: Alex Toledo
Requerimiento REQ004 Tipo Funcional
Nombre Productos
Descripción Tener registrado todos los modelos de productos que posee el almacén Carmita.
Prioridad Alta Adjunto
23
Fuente: Alex Toledo
Requerimiento REQ005 Tipo Funcional
Nombre Compras
Descripción Registrar a todas las compras que realice el almacén Carmita.
Prioridad Alta Adjunto REQ002, REQ003,
REQ004
Tabla 6: Requerimiento 5 Fuente: Alex Toledo
Requerimiento REQ006 Tipo Funcional
Nombre Ventas
Descripción Registrar a todas las ventas que haga la empresa, para así tener un control de los productos que se venden en el almacén Carmita.
Prioridad Alta Adjunto
REQ001, REQ002, REQ003, REQ004 / REQ010
Tabla 7: Requerimiento 6 Fuente: Alex Toledo
Requerimiento REQ007 Tipo Funcional
Nombre Facturación
Descripción Entregar al cliente la factura o recibo de constancia que o los productos adquiridos en el almacén Carmita.
Prioridad Alta Adjunto
REQ001, REQ002, REQ003, REQ004, REQ006 / REQ010
Tabla 8: Requerimiento 7 Fuente: Alex Toledo
Requerimiento REQ008 Tipo Funcional
Nombre Contrato
Descripción Entregar un contrato al cliente con compre a crédito algún producto en el almacén Carmita.
Prioridad Alta Adjunto
REQ001, REQ002, REQ003, REQ004/ REQ010
24
Ilustración 3: Caso de Uso del Usuario
Requerimiento REQ009 Tipo Funcional
Nombre Pedidos de crédito
Descripción Llevar un control de los créditos que se han generado en el almacén Carmita.
Prioridad Alta Adjunto
REQ001, REQ002, REQ003, REQ004, REQ008 / REQ010
Tabla 10: Requerimiento 9 Fuente: Alex Toledo
Requerimiento REQ010 Tipo Funcional
Nombre Inventario
Descripción Llevar un control de los productos que existen o cual es el más vendido, los créditos otorgados, las ventas realizadas, entre otros.
Prioridad Alta Adjunto
REQ004, REQ006, REQ007, REQ008, REQ009
Tabla 11: Requerimiento 10 Fuente: Alex Toledo
Caso de Uso Usuario
25 Administrador
Ilustración 4: Caso de uso del Administrador Fuente: Alex Toledo
Modelado de datos
Este es el siguiente para después de tener los requerimientos se pasa a la fase de modelamiento donde se genera la base de datos con la cual la aplicación web va a trabajar, y este modelado de datos tiene la siguiente estructura:
Modelo conceptual
26
Ilustración 5: Modelo Conceptual Fuente: Alex Toledo
Modelo Lógico
Este modelo se genera después de que se haya creado el modelo conceptual, en este se va a insertar las relaciones que hay entre una u otra tabla y so obtiene la clave foránea.
27 Modelo Fisco
Luego de haber creado el modelo lógico nos queda el último modelo, donde los atributos quedan solo los nombres y desaparece el tipo de dato y las relaciones de las claves foráneas.
Ilustración 7: Modelo Físico Fuente: Alex Toledo
Script de la base de datos
Este script de base de datos, es un documento que contiene instrucciones, escritas en códigos de programación. Y esta creado para la Aplicación web del control de las ventas y cobranzas en el “Almacén Carmita”.
/*============================================================== */
/* DBMS name: MySQL 5.0 */
/* Created on: 26/11/2018 12:17:17 */
/*============================================================== */
drop table if exists bd_categoria;
drop table if exists bd_cliente;
drop table if exists bd_compras;
28
drop table if exists bd_factura_venta;
drop table if exists bd_marcas;
drop table if exists bd_numero_contrato;
drop table if exists bd_pagos;
drop table if exists bd_pagos_contrato;
drop table if exists bd_producto;
drop table if exists bd_temporal;
drop table if exists bd_venta;
drop table if exists bd_ventas_contrato;
/*============================================================== */
/* Table: bd_categoria */
/*============================================================== */
create table bd_categoria (
id_catego int not null AUTO_INCREMENT, cat_nombre varchar(50) not null,
cat_descri varchar(200), primary key (id_catego)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_cliente */
/*============================================================== */
create table bd_cliente (
id_cliente int not null AUTO_INCREMENT, cli_cedula varchar(13) not null,
cli_nombre varchar(50),
cli_apelli varchar(50) not null, cli_ciudad varchar(50) not null, cli_correo varchar(40) not null, cli_telefo varchar(15) not null, cli_direcc varchar(200) not null, cli_rango varchar(20) not null, cli_status varchar(20) not null, primary key (id_cliente)
)ENGINE=InnoDB AUTO_INCREMENT=1;
29
/* Table: bd_compras */
/*============================================================== */
create table bd_compras (
id_compra int not null AUTO_INCREMENT, id_faccom int,
id_producto int,
com_serie varchar(20) not null, com_precio decimal(7,2) not null, com_prepvp decimal(7,7) not null, primary key (id_compra)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_factura_compra */
/*============================================================== */
create table bd_factura_compra (
id_faccom int not null AUTO_INCREMENT, id_cliente int,
fac_numero varchar(17) not null, fac_fecha date not null,
primary key (id_faccom)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_factura_venta */
/*============================================================== */
create table bd_factura_venta (
id_facven int not null AUTO_INCREMENT, id_cliente int,
primary key (id_facven)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_marcas */
/*============================================================== */
create table bd_marcas (
id_marca int not null AUTO_INCREMENT, id_catego int,
mar_nombre varchar(50) not null, mar_descri varchar(100),
30 )ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_numero_contrato */
/*============================================================== */
create table bd_numero_contrato (
id_numcon int not null AUTO_INCREMENT, id_cliente int,
nuc_vended int not null, nuc_garant int not null, nuc_meses int not null, nuc_forma int not null,
nuc_observ varchar(200) not null, nuc_fecha date not null,
primary key (id_numcon)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_pagos */
/*============================================================== */
create table bd_pagos (
id_pago int not null AUTO_INCREMENT, id_facven int,
pag_total decimal(7,2) not null, primary key (id_pago)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_pagos_contrato */
/*============================================================== */
create table bd_pagos_contrato (
id_pagcon int not null AUTO_INCREMENT, id_numcon int,
pac_abono decimal(7,2) not null, pac_total decimal(7,2) not null, pac_vtotal decimal(7,2) not null, pac_cuotas decimal(7,2) not null, pac_fecha date not null,
primary key (id_pagcon)
)ENGINE=InnoDB AUTO_INCREMENT=1;
31
/* Table: bd_producto */
/*============================================================== */
create table bd_producto (
id_producto int not null AUTO_INCREMENT, id_marca int,
pro_nombre varchar(50) not null, pro_descri varchar(500) not null, pro_imagen varchar(10) not null, primary key (id_producto)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_temporal */
/*============================================================== */
create table bd_temporal (
id_tempo int not null AUTO_INCREMENT, id_producto int,
id_compra int, id_cliente int, primary key (id_tempo)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_venta */
/*============================================================== */
create table bd_venta (
id_venta int not null AUTO_INCREMENT, id_facven int,
id_compra int, id_producto int,
ven_fecha date not null, primary key (id_venta)
)ENGINE=InnoDB AUTO_INCREMENT=1;
/*============================================================== */
/* Table: bd_ventas_contrato */
/*============================================================== */
create table bd_ventas_contrato (
id_contrato int not null AUTO_INCREMENT, id_numcon int,
32 id_compra int, primary key (id_contrato) )ENGINE=InnoDB AUTO_INCREMENT=1;
alter table bd_compras add constraint fk_relationship_2 foreign key (id_faccom)
references bd_factura_compra (id_faccom) on delete restrict on update restrict;
alter table bd_compras add constraint fk_relationship_5 foreign key (id_producto)
references bd_producto (id_producto) on delete restrict on update restrict;
alter table bd_factura_compra add constraint fk_relationship_1 foreign key (id_cliente)
references bd_cliente (id_cliente) on delete restrict on update restrict;
alter table bd_factura_venta add constraint fk_relationship_11 foreign key (id_cliente)
references bd_cliente (id_cliente) on delete restrict on update restrict;
alter table bd_marcas add constraint fk_relationship_3 foreign key (id_catego)
references bd_categoria (id_catego) on delete restrict on update restrict;
alter table bd_numero_contrato add constraint fk_relationship_6 foreign key (id_cliente)
references bd_cliente (id_cliente) on delete restrict on update restrict;
alter table bd_pagos add constraint fk_relationship_16 foreign key (id_facven)
references bd_factura_venta (id_facven) on delete restrict on update restrict;
alter table bd_pagos_contrato add constraint fk_relationship_7 foreign key (id_numcon)
references bd_numero_contrato (id_numcon) on delete restrict on update restrict;
alter table bd_producto add constraint fk_relationship_4 foreign key (id_marca)
references bd_marcas (id_marca) on delete restrict on update restrict;
alter table bd_temporal add constraint fk_relationship_17 foreign key (id_producto)
references bd_producto (id_producto) on delete restrict on update restrict;
33
references bd_compras (id_compra) on delete restrict on update restrict;
alter table bd_temporal add constraint fk_relationship_19 foreign key (id_cliente)
references bd_cliente (id_cliente) on delete restrict on update restrict;
alter table bd_venta add constraint fk_relationship_12 foreign key (id_facven)
references bd_factura_venta (id_facven) on delete restrict on update restrict;
alter table bd_venta add constraint fk_relationship_13 foreign key (id_compra)
references bd_compras (id_compra) on delete restrict on update restrict;
alter table bd_venta add constraint fk_relationship_15 foreign key (id_producto)
references bd_producto (id_producto) on delete restrict on update restrict;
alter table bd_ventas_contrato add constraint fk_relationship_10 foreign key (id_compra)
references bd_compras (id_compra) on delete restrict on update restrict;
alter table bd_ventas_contrato add constraint fk_relationship_8 foreign key (id_numcon)
references bd_numero_contrato (id_numcon) on delete restrict on update restrict;
alter table bd_ventas_contrato add constraint fk_relationship_9 foreign key (id_producto)
references bd_producto (id_producto) on delete restrict on update restrict;
Diccionario de Datos
El diccionario de datos se genera desde el gestor de base de datos, donde se puede visualizar los nombres de las tablas, los atributos con sus respectivos tipos de datos.
bd_categoria
Columna Tipo Nulo Predeterminado Comentarios MIME
id_catego int(11) No
cat_nombre varchar(50) No
cat_descri varchar(200) Sí NULL
34 Índices
Nombre de la clave
Tipo Únic o Empaqueta do Colum na Cardinalid ad Cotejamie nto Nul o Comenta rio PRIMA RY BTRE
E Sí No
id_cate
go 0 A No
Tabla 13: Índice de tabla de Categorías Fuente: Alex Toledo
bd_cliente
Columna Tipo Nulo Predeterminado Comentarios MIME
id_cliente int(11) No
cli_cedula varchar(13) No
cli_nombre varchar(50) Sí NULL
cli_apelli varchar(50) No
cli_ciudad varchar(50) No cli_correo varchar(40) No
cli_telefo varchar(15) No
cli_direcc varchar(200) No
cli_rango varchar(20) No
cli_status varchar(20) No
Tabla 14: Cliente de la base de datos de la aplicación web Fuente: Alex Toledo
Índices Nombre
de la clave
Tipo Únic o Empaqueta do Colum na Cardinalid ad Cotejamie nto Nul o Comenta rio PRIMA RY BTRE
E Sí No
id_clien
te 0 A No
Tabla 15: Índice de tabla de Cliente Fuente: Alex Toledo
bd_compras
Columna Tipo Nul
o
Predeterminad
o Enlaces a
Comentario s
MIM E
id_compra int(11) No
id_faccom int(11) Sí NULL bd_factura_comp
ra -> id_faccom
35
o id_producto
com_serie varchar(20) No com_preci
o
decimal(7,2
) No
com_prepv p
decimal(7,7
) No
Tabla 16: Compras de la base de datos de la aplicación web Fuente: Alex Toledo
Índices Nombre de
la clave Tipo Úni co Empaquet ado Column a Cardinali dad Cotejamie nto Nul o Comenta rio
PRIMARY BTR
EE Sí No
id_comp
ra 0 A No
fk_relationsh ip_2
BTR
EE No No
id_facco
m 0 A Sí
fk_relationsh ip_5
BTR
EE No No
id_produ
cto 0 A Sí
Tabla 17: Índice de tabla de Compras Fuente: Alex Toledo
bd_factura_compra
Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME
id_faccom int(11) No
id_cliente int(11) Sí NULL bd_cliente ->
id_cliente fac_numero varchar(17) No
fac_fecha date No
Tabla 18: Factura de Compra de la base de datos de la aplicación web Fuente: Alex Toledo
Índices Nombre de
la clave Tipo Úni co Empaquet ado Colum na Cardinali dad Cotejamie nto Nul o Comenta rio
PRIMARY BTR
EE Sí No
id_facc
om 0 A No
fk_relationsh ip_1
BTR
EE No No
id_clien
te 0 A Sí
36 bd_factura_venta
Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME
id_facven int(11) No
id_cliente int(11) Sí NULL bd_cliente ->
id_cliente
Tabla 20: Factura de Venta de la base de datos de la aplicación web Fuente: Alex Toledo
Índices Nombre de la
clave Tipo Úni co Empaquet ado Colum na Cardinali dad Cotejamie nto Nul o Comenta rio
PRIMARY BTR
EE Sí No
id_facv
en 0 A No
fk_relationshi p_11
BTR
EE No No
id_clie
nte 0 A Sí
Tabla 21: Índice de tabla de Factura de venta Fuente: Alex Toledo
bd_marcas
Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME
id_marca int(11) No
id_catego int(11) Sí NULL bd_categoria
-> id_catego mar_nombre varchar(50) No
mar_descri varchar(100) Sí NULL
Tabla 22: Marcas de la base de datos de la aplicación web Fuente: Alex Toledo
Índices Nombre de
la clave Tipo Úni co Empaquet ado Colum na Cardinali dad Cotejamie nto Nul o Comenta rio
PRIMARY BTR
EE Sí No
id_mar
ca 0 A No
fk_relationsh ip_3
BTR
EE No No
id_cate
go 0 A Sí