martes, 5 de abril de 2016
5.1.4 Elección del SGBD y el Lenguaje de Programación
En nuestro caso utilizaremos el manejador de base de datos PostgreSQL,
dado que es un manejador del tipo fuente abierta, es decir gratuito y que
permite la modificación al código. Ofrece las características generales que cualquier manejador comercial y es un
manejador robusto para una gran cantidad de información como ya se mencionó en
la introducción, así mismo ofrece gran seguridad y un buen soporte por parte de
la comunidad PostgreSQL, por lo que nos será de gran ayuda, es muy fácil de
instalar así como de usar.
El lenguaje de programación, que vemos como mejor opción es
PHP, porque es más fácil de utilizar. Por
eso decidimos usar este lenguaje (PHP), para poder realizar el sistema.
5.1.3 Lenguajes de programación
C++: es un lenguaje de programación diseñado
a mediados de los años 1980 por Bjarne Stroustrup.
La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos
que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos,
el C++ es un lenguaje híbrido.
DELPHI: es una potente herramienta de
desarrollo de programas que permite la creación de aplicaciones para
Windows 3.x, Windows 95 y Windows NT. Dispone de un compilador
muy rápido, y potentes herramientas para la creación visual de aplicaciones de
completas herramientas para la creación y manejo de bases de datos,
aplicaciones multimedia, enlace DDE, creación de DLLs,
VBX,etc.
JAVA: orientado a objetos desarrollado
por Sun Microsystems, el lenguaje Java se diseñó para ser pequeño ,
sencillo y portátil a través de plataformas y sistemas operativos, tanto
a nivel de código fuente como binario, pueden ejecutarse en cualquier
computadora que tenga instalada una máquina virtual de Java.
PHP: es un lenguaje de programación interpretado, diseñado
originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del
lado del servidor (server-side scripting)
pero actualmente puede ser utilizado desde una interfaz de línea de comandos o
en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando
las bibliotecas Qt o GTK+.
5.1.2 Cuadro comparativo
MYSQL
|
POSTGRESQL
|
ORACLE
|
|
PROCESOS
|
Puede
manejar grandes base de datos.
|
PostreSQL
ha mostrado ser bastante capaz y confiable, tiene buenas características de
rendimiento. Es un manejador multiplataforma
|
El
servidor Oracle tiene todas las características de un DBMS y que tiene un
soporte amplio para entornos sofisticados cliente/servidor.
|
COMPATIBILIDAD
|
Puede
correr sobre una variedad de sistemas operativos incluyendo Unix, Linux,
Windows, QS/2, Solaris y MacOS y también puede correr en diferentes
arquitecturas.
|
Corre
en UNIX, pero es capaz de correr en sistemas como Linux, freeBSD, y Mac OS X,
también funciona en sistemas Windows NT/2000/2003 Server, o incluso en
sistemas Windows XP.
|
Corre
en sistemas operativos como Solaris, Linux, A|X y Windows.
|
VENTAJAS
|
Puede
ser accesado desde cualquier lugar en Internet y múltiples usuarios pueden
accesar a las base de datos.
|
Control
de concurrencia de múltiples versiones
|
Están
diseñadas para proveer una alta disponibilidad, máximo rendimiento, seguridad
y un uso eficiente de los de los recursos del cliente.
|
SEGURIDAD
|
MySQL
incluye un poderoso sistema de control de acceso a los datos. El sistema
utiliza una estructura basada en el anfitrión(host) y el usuario que controla
quien puede accesar a la información específica y el nivel de acceso a esa
información
|
Llaves
externas con integridad referencial
Bloqueo
sofisticado. · Tipos de usuarios definidos.
|
Permite
la capacidad de almacenar bloques de PL/SQL como objetos dentro de la base de
datos en forma de procedimientos almacenados, funciones, y paquetes de la
base de datos.
|
TIEMPO DE RESPUESTA
|
El
monto de tiempo que toma a las bases de datos MySQL responder una petición de
datos es tan rápido o más rápido que muchos de los otros DBMS comerciales.
|
Esta
separación entre el cliente y el servidor permiten que las aplicaciones sean
de tipo distribuidos. Se puede utilizar la red para poder realizar la separación
de los 16 clientes de tu servidor y desarrollar aplicaciones de cliente en un
entorno que se ajuste a las necesidades de los usuarios.
|
Está diseñado
específicamente para procesos clientes/servidor en los que se activa un
programa para bloquear la lógica que contiene la aplicación así como los
enunciados que serán enviados al servidor en una sola petición.
|
INSTALACIÓN
|
MySQL
es fácil de instalar e implementar. Un usuario puede tener una instalación
MySQL lista y corriendo
|
El
rendimiento de PostgreSQL ha sido mejorado en cada lanzamiento, y las últimas
pruebas de rendimiento contra otras marcas, muestran que, en algunas
circunstancias, se compara muy bien contra los productos comerciales.
|
Es
fácil de instalar e implementar en los sistemas operativos compatibles.
|
LICENCIA
|
MySQL
hace que el código fuente de MySQL esté disponible para cualquier persona
para descargarlo y ocuparlo.
|
No hay costo asociado a
la licencia del software
|
Existe
la edición gratuita, pero también es pagada para otras extensiones.
|
5.1.1 Sistemas de manejadores de bases de datos
La
mayoría de las bases de datos reposan en un sistema de administración de bases
de datos para administrar los datos almacenados dentro del sistema de base de
datos y hacer los datos disponibles para los usuarios quienes necesitan acceder
a tipos específicos de información. Un DBMS (Sistemas de administración de
bases de datos) está hecho de un completo arreglo de herramientas
cliente-servidor que ayudan con varias tareas administrativas relacionadas con
los datos. La mayoría de los DBMS proveen de algún tipo de herramienta que
permite al cliente interactuar directamente con los datos almacenados en la
base de datos. Un DBMS debe almacenar datos y permitir que estos sean
recuperados y modificados de manera que se protejan los datos contra
operaciones que pudieran causar inconsistencias en la base o corromper los
datos. En general la mayoría de los DBMS
completos proveen los siguientes tipos de funcionalidad:
·
Mantenimiento de la seguridad
·
Mantenimiento de los metadatos
·
Administración de las transacciones
·
Apoyo en la conectividad
·
Optimización del rendimiento
·
Proveer mecanismos de respaldo y recuperación
·
Procesar peticiones de recuperación y
modificaciones
Al evolucionar los modelos de bases de datos, también lo hacen los productos DBMS que soportan varios tipos de bases de datos. Por ejemplo MySQL es un sistema de este tipo, como lo son Oracle, DB2, SQL Server y PostgreSQL. Estos productos, como cualquier DBMS, permiten acceder y manipular datos dentro de las bases de datos, protegerlos de la corrupción e inconsistencias, y mantener los metadatos necesarios para definir donde los datos que serán almacenados.
PostgreSQL
Desde la versión 6.5, PostgreSQL se ha vuelto bastante estable, con cada gran serie de pruebas de regresión para asegurar una estabilidad muy superior en cada lanzamiento. A partir del lanzamiento 7.x se ha llegado a un acercamiento mayor que en ningún otro hacia lo que es el lenguaje SQL92 y una restricción en el tamaño de las filas que fue removido. En lanzamiento de la versión 8 se han agregado características tales como:
· Versión nativa de Microsoft Windows
· Espacios de la tabla
· Habilidad para alterar los tipos de columna
· Recuperación en tiempo de punto
PostgreSQL ha demostrado su confiabilidad en el uso. Cada lanzamiento ha sido controlado muy cuidadosamente, y los lanzamientos beta han sido sujetos de prueba al menos una vez al mes. Con una comunidad de usuarios más grande, con acceso al código fuente, los errores y problemas en el funcionamiento son reparados muy rápidamente. El rendimiento de PostgreSQL ha sido mejorado en cada lanzamiento, y las últimas pruebas de rendimiento contra otras marcas, muestran que, en algunas circunstancias, se compara muy bien contra los productos comerciales. Una de las fortalezas de PostgreSQL radica en su arquitectura, y es que es debido a esta, que se puede manejar en un entorno cliente/ servidor, el cual beneficia tanto a los desarrolladores como a los usuarios. El corazón de PostgreSQL radica en las instalaciones de bases de datos en los procesos de servidor. El cual corre en un solo servidor. Las aplicaciones que necesitan acceder a los datos almacenados dentro de la base de datos que requieren hacer vía el proceso de bases de datos. Los programas de tipo cliente no pueden acceder a los datos directamente, incluso si están corriendo en la misma máquina como el proceso servidor.
Oracle
Al evolucionar los modelos de bases de datos, también lo hacen los productos DBMS que soportan varios tipos de bases de datos. Por ejemplo MySQL es un sistema de este tipo, como lo son Oracle, DB2, SQL Server y PostgreSQL. Estos productos, como cualquier DBMS, permiten acceder y manipular datos dentro de las bases de datos, protegerlos de la corrupción e inconsistencias, y mantener los metadatos necesarios para definir donde los datos que serán almacenados.
MySQL
Surgiendo
como uno de los más grandes jugadores en el mercado de los DBMS está MySQL. Que
como otros productos DBMS, MySQL provee un amplio conjunto de características
que soportan un ambiente seguro para almacenar, mantener y acceder a los datos.
MySQL es rápido, confiable y una alternativa escalable de los muchos DBMS
comerciales que existen en la actualidad. A continuación se mencionan de manera
general algunas de las características que se encuentran en MySQL:
· Escalabilidad: MySQL
puede manejar grandes bases de datos, lo cual se ha demostrado con sus
implementaciones en organizaciones como Yahoo!, Cox Communications, Google,
Cisco, Texas Instruments, UPS, Sabre Holdings, HP y la prensa asociada. Incluso
en la NASA y en los censos de Estados Unidos se han implementado soluciones
MySQL. De acuerdo a la documentación MySQL, algunas de las soluciones empleadas
por MySQL AB, la compañía creadora de MySQL, contiene más de 50 millones de
registros, y algunos usuarios de MySQL han reportado que sus bases de datos
contienen 60,00 tablas y 5 mil millones de columnas.
· Portabilidad: MySQL
corre sobre una variedad de sistemas operativos, incluyendo Unix, Linux,
Windows, QS/2, Solaris y MacOS, MySQL puede también correr sobre diferentes
arquitecturas, desde las PC de escritorio hasta los grandes Mainframes.
· Conectividad: MySQL
está totalmente orientado a las redes, soporta sockets TCP/IP, sockets Unix y
las llamadas pipes. En adición, MySQL puede ser accesado desde cualquier lugar
en internet, y múltiples usuarios pueden accesar a las bases de datos MySQL
simultáneamente. MySQL además provee una gran variedad de interfaces para
distintas aplicaciones de programación (APIs) para soportar la conectividad
desde distintas aplicaciones escritas en lenguajes tales como C, C++, Perl,
PHP, Java y Python.
· Seguridad: MySQL
incluye un poderoso sistema de control de acceso a los datos. El sistema
utiliza una estructura basada en el anfitrión(host) y el usuario que controla
quien puede accesar a la información específica y el nivel de acceso a esa
información. MySQL también soporta el protocolo de capa segura de sockets (SSL)
para poder permitir conexiones encriptadas.
· Velocidad: MySQL
fue desarrollado con la velocidad en mente. El monto de tiempo que toma a las
bases de datos MySQL responder una petición de datos están rápido o más rápido
que muchos de los otros DBMS comerciales. El sitio
· Facilidad
de uso: MySQL es fácil de instalar e implementar. Un usuario puede
tener una instalación MySQL lista y corriendo, minutos después de descargar los
archivos. Incluso en un nivel administrativo, MySQL es relativamente fácil de
optimizar, especialmente comparado con otros productos DBMS
· Código
de fuente abierta: MySQL hace que el código fuente de MySQL esté
disponible para cualquier persona para descargarlo y ocuparlo. La filosofía 13
de código fuente abierto permite a una audiencia global participar en la
revisión, pruebas y desarrollo del código.
PostgreSQL
Es un
DBMS que incorpora el modelo relacional para sus bases de datos y que se basa
en el lenguaje estándar SQL. PostreSQL ha mostrado ser bastante capaz y
confiable, tiene buenas características de rendimiento. Es un manejador
multiplataforma, nativamente corre en UNIX, pero es capaz de correr en sistemas
como Linux, freeBSD, y Mac OS X, también funciona en sistemas Windows
NT/2000/2003 Server, o incluso en sistemas Windows XP. Además utiliza un código
de fuente libre. PostreSQL puede ser comparado favorablemente contra otros
DBMS, pues contiene las mismas características que los demás DBMS comerciales,
además de algunos extras que no se encontrarán en otros lados.
Las
características de PostreSQL incluyen:
· Transacciones
· Subselecciones
· Vistas
· Llaves externas con integridad referencial
· Bloqueo sofisticado · Tipos de usuarios definidos
· Herencia
· Reglas
· Control de concurrencia de múltiples versiones
· Transacciones
· Subselecciones
· Vistas
· Llaves externas con integridad referencial
· Bloqueo sofisticado · Tipos de usuarios definidos
· Herencia
· Reglas
· Control de concurrencia de múltiples versiones
Desde la versión 6.5, PostgreSQL se ha vuelto bastante estable, con cada gran serie de pruebas de regresión para asegurar una estabilidad muy superior en cada lanzamiento. A partir del lanzamiento 7.x se ha llegado a un acercamiento mayor que en ningún otro hacia lo que es el lenguaje SQL92 y una restricción en el tamaño de las filas que fue removido. En lanzamiento de la versión 8 se han agregado características tales como:
· Versión nativa de Microsoft Windows
· Espacios de la tabla
· Habilidad para alterar los tipos de columna
· Recuperación en tiempo de punto
PostgreSQL ha demostrado su confiabilidad en el uso. Cada lanzamiento ha sido controlado muy cuidadosamente, y los lanzamientos beta han sido sujetos de prueba al menos una vez al mes. Con una comunidad de usuarios más grande, con acceso al código fuente, los errores y problemas en el funcionamiento son reparados muy rápidamente. El rendimiento de PostgreSQL ha sido mejorado en cada lanzamiento, y las últimas pruebas de rendimiento contra otras marcas, muestran que, en algunas circunstancias, se compara muy bien contra los productos comerciales. Una de las fortalezas de PostgreSQL radica en su arquitectura, y es que es debido a esta, que se puede manejar en un entorno cliente/ servidor, el cual beneficia tanto a los desarrolladores como a los usuarios. El corazón de PostgreSQL radica en las instalaciones de bases de datos en los procesos de servidor. El cual corre en un solo servidor. Las aplicaciones que necesitan acceder a los datos almacenados dentro de la base de datos que requieren hacer vía el proceso de bases de datos. Los programas de tipo cliente no pueden acceder a los datos directamente, incluso si están corriendo en la misma máquina como el proceso servidor.
Esta
separación entre el cliente y el servidor permiten que las aplicaciones sean de
tipo distribuidos. Se puede utilizar la red para poder realizar la separación
de los 16 clientes de tu servidor y desarrollar aplicaciones de cliente en un
entorno que se ajuste a las necesidades de los usuarios.
Oracle
El
servidor Oracle tiene todas las características de un DBMS y que tiene un
soporte amplio para entornos sofisticados cliente/servidor. Muchas de las
características internas de Oracle están diseñadas para proveer una alta
disponibilidad, máximo rendimiento, seguridad y un uso eficiente de los de los
recursos del cliente. Aunque estas características son arquitectónicamente
importantes para un servidor de base de datos, Oracle también incluye
características basadas en el lenguaje que aceleran el desarrollo y mejoran el
rendimiento del lado del servidor.
· Lenguaje
PL/SQL: Un gran componente de Oracle es su máquina de
procesamiento (Lenguaje de Procedimientos). PL/SQL está diseñado
específicamente para procesos clientes/servidor en los que se activa un
programa para bloquear la lógica que contiene la aplicación así como los
enunciados que serán enviados al servidor en una sola petición.
· Procedimientos
almacenados: Oracle permite la capacidad de almacenar
bloques de PL/SQL como objetos dentro de la base de datos en forma de
procedimientos almacenados, funciones, y paquetes de la base de datos. Las
porciones lógicas de la aplicación, especialmente aquellas que requieren acceso
a la base de datos, pueden residir en donde son procesadas (en el servidor).
Usar procedimientos almacenados incrementa la eficiencia de los sistemas
cliente/servidor significativamente.
· Activadores
de la base de datos: Los activadores de la base de datos re
ensamblan los procedimientos almacenados que residen en los bloques PL/SQL de
la base de datos; la diferencia entre los dos radica en que los activadores son
disparados automáticamente por el kernel de la RDBMS en respuesta a que se
cumpla un evento del tiempo (como alguna operación update, delete o insert)
· Integridad
declarativa: Cuando se define una tabla en Oracle, se puede
incluir una restricción de integridad como parte de la definición de la tabla.
Las restricciones son forzadas por el servidor cuando se insertan, actualizan o
borran registros. En adición a las restricciones integrales referenciales que
fuerzan las relaciones entre las llaves primarias y foráneas, también se pueden
definir las propias restricciones del usuario para controlar los valores del
dominio de las columnas individuales de la tabla.
· Funciones
definidas por el usuario: También se encontrarán bloques PL/SQL de
funciones definidas por el usuario. Estas son similares a los procedimientos
almacenados y también reducen el monto de codificación de la porción del
cliente en la aplicación. Estas funciones no solo se pueden llamar desde
PL/SQL, sino que también se pueden extender al set estándar de las funciones
Oracle SQL. Se pueden colocar funciones definidas por el usuario dentro de
sentencias SQL justo como cualquier otra función de Oracle SQL.
5.1 MARCO TEÓRICO
Base
de datos: Es frecuente pensar en una base de datos como una variedad de
productos y sistemas en los cuales se puede almacenar cualquier cosa, desde una
colección de archivos hasta estructuras complejas para interfaces de usuarios.
En vez de pensar en el tipo de datos que se pueden contener dentro de esta, la
cantidad de registros que se puede almacenar, como se utilizará o bien un
número de elementos que intervienen en una base de datos, la definición resulta
más simple, una base de datos es una colección de datos que se relacionan entre
sí de alguna forma. Aunque una base de datos es más que simplemente varios
datos relacionados. Los datos deben estar organizados y clasificados en un
formato estructurado conocido como metadato, el cual es un tipo de datos que
describe los datos que serán almacenados. En otras palabras, el metadato indica
la forma en la que serán almacenados los datos dentro de la base de datos. De
esta forma, los datos junto con el metadato proveen de un entorno lógico que
organiza la forma en la cual se podrán acceder y mantener los datos de manera eficiente.
4. Objetivos
Objetivo
Diseñar un software para llevar el control de las compras y ventas del inventario en la tienda la casita.
Objetivo especifico
- cuantificar los productos en existencia
- localizarlos con una mayor precisión y fluidez
- controlar los productos en mal estado o caduco
- saber cuándo y cuánto pedir de productos con el proveedor
- utilizando un módulo de búsqueda, a partir del periodo Febrero-Julio 2016
3. Planteamiento del Problema
Dulcería “La
Casita” es una pequeño negocio surge
hace ya algunos años, donde la dueña del negocio surtía en mayor cantidad
dulces típicos de la región a muchos negocios. Entonces
el negocio fue de menos a más y eso le permitió tener buenas ganancias e
incluso comenzó a distribuir sus productos a escuelas.
El
negocio ha tenido variedades de dulces y, para las personas que vienen de fuera
e incluso las que vivimos aquí, es de agrado probar los distintos dulces que en
esta parte se hacen.
La Dulcería “La Casita” se encuentra en constante
crecimiento, por ello ha contratado nuestros servicios, ya que requiere un
control de ventas y los clientes frecuentes en una base de datos centralizada,
optimizar el uso de recursos, compartir servicios e información pero que no
todo el personal tenga acceso a los mismos servicios delimitándolos así por
áreas de trabajo o simplemente por equipos teniendo así una mejor seguridad en
la manipulación de la información, ya que su manejo es solo para personal
autorizado
Problemas que tiene en la actualidad
·
Mala distribución de los productos en
el inventario.
·
No tener previsto cuánto y cuándo se va
a pedir con el proveedor.
·
No se lleva un buen control de entradas
y salidas en el inventario.
·
No hay un bueno control con las compras
y ventas de los productos.
2. Introducción
El equipo ha decido desarrollar un sistema de control de inventario en la tienta La Casita, ya que es una tienda dedicada a la compra y venta de productos regionales, con dicho sistema se lograra un mejor control de los productos así como aumentar la calidad de atención a nuestros clientes.
Algunas de las actividades que realiza son las siguientes:
- Compra de materiales y herramientas para la elaboración de los productos.
- Compra de ingredientes para la elaboración de los productos.
- Venta de dulces regionales.
- Compra de dulces regionales.
- Elaboración de los productos.
- Distribución del producto a otros negocios.
- Control de las pérdidas y ganancias.
Suscribirse a:
Comentarios (Atom)

