Universidad Yacambú

Especialización en Gerencia, Mención: Sistemas de Información

SISTEMAS DE INFORMACION GERENCIAL
RESUMEN TRABAJO 4

Autores:

Rusmary Duran

Fabiola Vera

Roberto J. López

 

Diseño de Sistemas de Información usando Postgres

 

INTRODUCCION

1-. ¿Qué es software Libre?

2-. ¿Cuál es la diferencia entre Postgre y ORACLE?

3-. Fortalezas y  Debilidades Postgre.

4-. Ubuntu, Apache. Características.

5-. Postgre con Linux. Características.

6-. ¿Cómo sería el análisis y diseño de un sistema de información usando Postgre?

7-. Elaborar un plan de migración de Oracle a Postgre para una empresa administrativa

8-. Caso Práctico: Suponga que a usted lo contratan como Asesor para elaborar un sistema de información de Ventas de Ticket vía Web usando Postgre para un Stadium de Béisbol. ¿Cuáles serian sus recomendaciones y pasos a seguir?

9.- Recomendaciones

10.- Infografía

 

Introducción

Software libre brinda libertad a los usuarios sobre su producto adquirido y por tanto, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. Lo importante no es su acceso gratuito  sino su libertad de uso para modificarlo y adaptarlo a las necesidades que tengamos. A continuación  se estudiara, sus características,  conjuntamente con algunas bases de datos como Postgres y Oracles, servidores  Apache, y  sus distintas posibilidades de uso  en la WEB.

Software Libre

Según la Free Software Foundation s/f: ``Software Libre'' se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:

·                La libertad de usar el programa, con cualquier propósito (libertad 0).

·                La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.

·                La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).

·                La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.

Software libre es la denominación del software que brinda libertad a los usuarios sobre su producto adquirido y por tanto, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente.

 

 

 

 

 

 

 

 

 

 

 

Extracto: Inicio
 

 

 


Diferencia entre Postgres y ORACLE

 

 

 

·        Postgre es un servidor de base de datos relacional orientada a objetos de software libre.

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

 

*                 Oracle requiere comprar software adicional y no puedes desarrollar tus propios tipos.

 

 

*      Oracle no tiene la infraestructura OR y la simula con productos adicionales.

*      Oracle tiene consultas en paralelo, que PostgreSQL aún no tiene.

 

 

 

*      Oracle simula parcialmente el comportamiento proveyendo paquetes, pero no tienen el alcance de PostgreSQL.

 

 

Fortalezas y  Debilidades Postgres

Fortalezas

Debilidades

Seguridad en el acceso a la Base de Datos, a nivel de red.

Consume bastantes recursos y carga más el sistema

Servidor de base de datos relacional orientada a objeto publicado bajo licencia libre BSD

Postgre no soporta consultas en paralelo.

Tiene cinco lenguajes de programación procedurales

No posee muchas herramientas en el mercado

Es posible desarrollar tus propios tipos de datos

Por su arquitectura de diseño se necesita aumentar el número de CPU's y la cantidad de RAM.

Presenta mejores ventajas (innovación y libertad ante todo)

Número de lenguajes en los que se puede programar funciones: aproximadamente 10 (pl/pgsql, pl/java,pl/perl, pl/python, tcl, pl/php, C, C++, Ruby, etc.).

Bajo Costo Total de Operación

 

Mínimos requerimientos de administración.

Instalación ilimitada

No existe la posibilidad de ser auditado para verificar cumplimiento de licencia en ningún momento.

Conformancia a Estándares ANSI

Flexibilidad para hacer investigación y desarrollo sin necesidad de incurrir en costos adicionales de licenciamiento.

 

Extracto: InicioUbuntu, Apache. Características.

Ubuntu

Ubuntu es un sistema operativo de código abierto desarrollado en torno al kernel Linux. La filosofía Ubuntu se basa en los siguientes principios: que el software debe ser gratuito, que la gente debe poder usar el software en su lengua materna y debe poder hacerlo independientemente de cualquiera sean sus limitaciones; además, la gente debe ser libre de personalizar o modificar el software del modo que crea más conveniente.

Por esas razones:

Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad de uso, la libertad de uso, los lanzamientos regulares (cada 6 meses) y la facilidad en la instalación. Ubuntu pretende crear una distribución que proporcione un sistema GNU/Linux actualizado y coherente para la informática de escritorio y servidores Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el empresario sudafricano Mark Shuttleworth.

A diferencia de la mayoría de las distribuciones, que vienen con una enorme cantidad de software que pueden o no ser de utilidad, la lista de paquetes de Ubuntu se ha reducido para incluir solo aplicaciones importantes y de alta calidad.

Características

·        Basada en la distribución Debian.

·        Disponible en 4 arquitecturas: Intel x86, AMD64, PowerPC, SPARC (para esta última sólo existe la versión servidor).

·        Al igual que casi cualquier distribución basada en Linux, Ubuntu es capaz de actualizar a la misma vez todas las aplicaciones instaladas en la máquina a través de repositorios, al contrario de otros sistemas operativos comerciales, donde esto no es posible.

·        Esta distribución ha sido y está siendo traducida a numerosos idiomas, y cada usuario es capaz de aportar voluntariamente a esta causa, a través de Internet.[]

·        Posee una gran colección de aplicaciones útiles y sencillas para la configuración de todo el sistema, a través de una interfaz gráfica útil para usuarios que se inician en Linux.

·        Cualquier usuario que conozca el idioma inglés y tenga una conexión a Internet, es capaz de presentar sus ideas para las futuras versiones de Ubuntu en la página wiki oficial de la comunidad del proyecto.

·        Las versiones estables se liberan cada 6 meses y se mantienen actualizadas en materia de seguridad hasta 18 meses después de su lanzamiento.

·        La nomenclatura de las versiones no obedece principalmente a un orden de desarrollo, se compone del dígito del año de emisión y del mes en que esto ocurre. La versión 4.10 es de octubre de 2004, la 5.04 es de abril de 2005, la 5.10 de octubre de 2005, la 6.06 es de junio de 2006, la 6.10 es de octubre de 2006, la 7.04 es de abril de 2007 y la 7.10 es de octubre de 2007.

·        El entorno de escritorio oficial es Gnome y se sincronizan con sus liberaciones. Existen versiones con KDE y otros escritorios, que pueden añadirse una vez instalado el Ubuntu oficial con Gnome.

·        Para centrarse en solucionar rápidamente los bugs, conflictos de paquetes, etc. se decidió eliminar ciertos paquetes del componente main, ya que no son populares o simplemente se escogieron de forma arbitraria por gusto o sus bases de apoyo al software libre. Por tales motivos inicialmente KDE no se encontraba con más soporte de lo que entregaban los mantenedores de Debian en sus repositorios, razón por la que se sumó la comunidad de KDE distribuyendo la distro llamada Kubuntu.

·        El navegador web oficial es Mozilla Firefox.

·        El sistema incluye funciones avanzadas de seguridad y entre sus políticas se encuentra el no activar, de forma predeterminada, procesos latentes al momento de instalarse. Por eso mismo, no hay un firewall predeterminado, ya que no existen servicios que puedan atentar a la seguridad del sistema.

·        Para labores/tareas administrativas en terminal incluye una herramienta llamada sudo (similar al Mac OS X), con la que se evita el uso del usuario root (administrador).

·        Mejora la accesibilidad y la internacionalización, de modo que el software está disponible para tanta gente como sea posible. En la versión 5.04, el UTF-8 es la codificación de caracteres en forma predeterminada.

·        Ubuntu no cobra honorarios por la suscripción de mejoras de la "Edición Enterprise".

Extracto: Inicio
 


Apache

El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1.

La historia de Apache se remonta a febrero de 1995,  donde empieza el proyecto del grupo Apache, el cual esta basado en el servidor Apache httpd de la aplicación original de NCSA. El desarrollo de esta aplicación original se estancó por algún tiempo tras la marcha de Rob McCool por lo que varios webmaster siguieron creando sus parches para sus servidores web hasta que se contactaron vía email para seguir en conjunto el mantenimiento del servidor web, fue ahí cuando formaron el grupo Apache.

Fueron Brian Behlendorf y Cliff Skolnick quienes a través de una lista de correo coordinaron el trabajo y lograron establecer un espacio compartido de libre acceso para los desarrolladores.

Fue así como fue creciendo el grupo Apache, hasta lo que es hoy :) Aquella primera versión y sus sucesivas evoluciones y mejoras alcanzaron una gran implantación como software de servidor inicialmente solo para sistemas operativos UNIX y fruto de esa evolución es la versión para Windows.

Apache es una muestra, al igual que el sistema operativo Linux (un Unix desarrollado inicialmente para PC), de que el trabajo voluntario y cooperativo dentro de Internet es capaz de producir aplicaciones de calidad profesional difíciles de igualar.

La licencia Apache es una descendiente de la licencias BSD, no es GPL. Esta licencia te permite hacer lo que quieras con el código fuente (incluso forks y productos propietarios) siempre que les reconozcas su trabajo.

Características

·        Es multiplataforma, aunque idealmente está preparado para funcionar bajo linux.

·        Muy sencillo de configurar.

·        Corre en una multitud de Sistemas Operativos, lo que lo hace prácticamente universal.

·        Es Open-source.

·        Muy útil para proveedores de Servicios de Internet que requieran miles de sitios pequeños con páginas estáticas

·        Amplias librerías de PHP y Perl a disposición de los programadores.

·        Posee diversos módulos que permiten incorporarle nuevas funcionalidades, estos son muy simples de cargar.

·        Apache trabaja con gran cantidad de Perl, PHP, TCL, Phython y otros lenguajes de script. Perl destaca en el mundo del script y Apache utiliza su parte del pastel de Perl tanto con soporte CGI como con soporte mod perl. También trabaja con Java y páginas jsp. Teniendo todo el soporte que se necesita para tener páginas dinámicas.

 

Postgres con Linux. Características

Extracto: Inicio

 

 

 


            PostgreSQL es una base de datos relacional, distribuida bajo licencia BSD y con su código fuente disponible libremente. Es el motor de bases de datos de código abierto más potente del momento y en sus últimas versiones empieza a no tener que envidiarle nada a otras bases de datos comerciales.

            Sus características técnicas la hacen una de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzó hace más de 15 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de administración e implementación de estándares han sido las características que más se han tenido en cuenta durante su desarrollo. En los últimos años se han concentrado mucho en la velocidad de proceso y en características demandadas en el mundo empresarial.

            PostgreSQL es ampliamente considerado como una de las alternativas de sistema de bases de datos de código abierto

            La última serie de producción es la 8.2, siendo la última versión disponible en el momento de escribir este artículo la 8.2.4. PostgreSQL se puede ejecutar en la gran mayoría de sistemas operativos existentes en la actualidad, entre ellos Linux y UNIX en todas sus variantes (AIX,

BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows. Las características más importantes y soportadas son:

            Otra característica muy a tener en cuenta es lo bien que PostgreSQL funciona con grandes cantidades de datos y una alta concurrencia, con muchos usuarios accediendo a la vez el sistema. En un futuro escribiremos un artículo sobre esto.

            PostgreSQL está disponible en cualquiera de las principales distribuciones de Linux. Existen paquetes RPM og DEB, que se distribuyen con estas distribuciones y que se pueden instalar de la manera por defecto típica en cada distribución.

 

Extracto: InicioHistoria de Postgres

·        Ingres (1977-1985) Universidad de Berkeley

·        Postgres (1986–1994) Posterior a Ingres, Michael Stonebraker

·        Postgres95 (1995) Andrew Yu & Jolly Chen publican el código en Internet.

·         PostgreSQL 6 (1996–1999) PostgreSQL Global Development Group

·        PostgreSQL 7 (1999–2004) Foreing Key, mejoras en el rendimiento, etc.

·        PostgreSQL 8 (2005)

Ventajas

Diseñado para ambientes de alto volumen:

·        PostgreSQL usa una estrategia de almacenamiento de filas llamada MVCC para conseguir una mejor respuesta en ambientes de grandes volúmenes.

·        Los principales proveedores de sistemas de bases de datos comerciales usan también esta tecnología, por las mismas razones.

 

Herramientas gráficas de diseño y administración de BD

 

Existen varias herramientas gráficas de alta calidad para administrar las bases de datos (pgAdmin , pgAccess) y para hacer diseño de bases de datos (Tora , Data Architect).

 

Soporte SQL92/SQL99

 

PostgreSQL implementa un subconjunto extendido de los estándares SQL92 y SQL99

 

 Transacciones

 

Permiten el paso entre dos estados consistentes manteniendo la integridad de los datos.

 

BEGIN WORK;

.......

Sentencias SQL;

.......

COMMIT WORK;

 

Integridad referencial

 

PostgreSQL soporta integridad referencial, la cual es utilizada para garantizar la validez de los datos de la base de datos PK y FK

 

Bloqueos de tabla y filas

 

Postgres ofrece varios modos de bloqueo para controlar el acceso concurrente a los datos en tablas.

 

Algunos de estos modos de bloqueo los adquiere PostgreSQL automáticamente antes de la ejecución de una declaración, mientras que otros son proporcionados para ser usados por las aplicaciones.

 

Constraints y triggers

 

Tienen la función de mantener la integridad y consistencia en la BD.

 

Ejecución de acciones antes o después de un evento de BD.

 

Múltiples tipos de datos predefinidos

 

Como todos los manejadores de bases de datos, PostgreSQL implementa los tipos de datos definidos para el estándar SQL3 y aumenta algunos otros.

Soporte de tipos y funciones de usuario

 

PostgreSQL soporta operadores, funciones métodos de acceso y tipos de datos definidos por el usuario.

 

Incorpora una estructura de datos Array.

 

Conectividad TCP/IP, JDBC y ODBC

 

Interfaz con diversos lenguajes

Extracto: Inicio
 


C, C++, Java, Delphi, Python, Perl, PHP, Bash

 

Análisis y diseño de un sistema de información usando Postgres

 

            El análisis y diseño de sistemas se refiere al proceso de examinar la situación de una empresa con el propósito de mejorar con métodos y procedimientos más adecuados, Es el proceso de clasificación e interpretación de hechos, diagnostico de problemas y empleo de la información para recomendar mejoras al sistema. Se debe  analizar los requisitos tecnológicos y funcionales, considerando la elección de una plataforma tecnológica que tenga la capacidad de dar una respuesta inmediata a sus futuros usuarios además de ser estable, con visión de futuro y con una alta operatividad.

            Sin embargo, la elección de la plataforma tecnológica no afecta esta primera fase, ya que aquí se utilizan metodologías estándares como el Lenguaje de Modelado Unificado (UML), el cual incluye una serie de diagramas (casos de uso, actividades, colaboración, etc.) que muestran las entidades que componen el sistema, además permite modelar el comportamiento del sistema, las diferentes funciones que realiza y las representaciones del papel que cumple el usuario dentro del sistema.

 

            Postgre es seleccionado para un sistema de información  que requieran un manejador de Base de Datos GNU, robusto, estable, un motor con soporte para transacciones, soporte de triggers y procedimientos almacenados, lenguaje procedimental (PL/SQL), y una alta disponibilidad y recuperación de fallas.

 

Extracto: InicioPlan de migración de ORACLE a Postgres para una empresa administrativa

 

            Antes de realizar un plan de migración se deben considerar las siguientes actividades, aunque debería analizarse  la factibilidad de la migración antes de proceder:

 

1. Analizar la estructura de la Base de Datos actual.

2. Respaldar la Base de Datos actual

3. Creación de Estructuras de Base de datos nueva.

4.  Planificación de las rutinas de migración.

5.  Restaurar los datos de la base de datos anterior en la nueva base de datos.

6.  Verificar la consistencia de datos antes de eliminar las estructuras anteriores.

7.  Realizar pruebas de los sistemas con las bases de datos a fin de certificar la funcionalidad.

 

            En el Proceso de Migración se debe manejar una aplicación en el medio de las dos bases, como por ejemplo  Powerbuilder que tiene unos objetos pipeline que copian directamente de una base de datos a otra, por supuesto hay que crear el pipeline y configurarlo para que copie de la base A a la base B y que haga commit cada x cantidad de filas.

 

            De otra manera también se podría usar cualquier lenguaje de programación para realizar los algoritmos de traspaso de datos de una base a otra.

            Seria una aplicación con dos conexiones a dos bases, una origen A y una destino B, vía ODBC o con drivers nativos, en donde vas a ir haciendo Select en A e Insert en B.

            Se puede programar por niveles a la migración es decir, primero pasar de una base a otra las tablas de dominio y después las tablas que tienen relaciones.

 

            En cuanto a los procedimientos y triggers (Mysql no tiene) no queda mas remedio q reprogramarlos

 

Para realizar una migración de Oracle a Postgre también se plantean dos formas:

 

      -Crear archivos planos con cada una de tus tablas, delimitando cada campo con un carácter o un tab. Luego cargar las tablas en Postgre con el comando \copy.

 

                   - Haz un dump de tus datos, de tal manera que generes el esquema de tu BDi (creación de tablas, índices, constrains, etc.). Carga tu dump en postgre con el comando \i.

 

 

Caso Práctico: Suponga que a usted lo contratan como Asesor para elaborar un sistema de información de Ventas de Tickets vía WEB usando Postgres para un Stadium de Béisbol. Cuales serian sus recomendaciones y pasos a seguir.

        Para Comenzar a desarrollar un Sistema de Información, se deben considerar las siguientes fases:

·        Adecuación y Puesta en marcha del servidor de datos y aplicaciones

o      Selección de las necesidades del usuario respecto al sistema

                  .-Recopilación y Análisis de los Requerimientos

.-Estudio de Factibilidad del sistema. (Factibilidad Técnica, Operativa y Económica)

o      Diseñar el sistema

.-Diseño Conceptual de la Base de Datos

.-Diseño Lógico de la Base de Datos

.-Sistemas de seguridad a implementar.

o       Creación del banco que servirá al sistema

o      Implantación Física del sistema servidor: instalación de las aplicaciones y herramientas necesarias para que el sistema funcione.

·        Implantación del Acceso al Sistema por parte de los usuarios inmediatos (puesta en marcha de la internet)

·        Creación del Portal de entrada WEB a la información

Extracto: Inicio 


Recomendaciones:

-         Buscar toda la información necesaria para poder realizar el diseño de la base de datos, ya que se debería normalizar para que no existan campos redundantes.

-         Se debería implantar en una maquina que posee buen espacio en disco,  ya que PostgreSQL es una base de datos, y como cualquier base de datos, los requerimientos crecerán a medida que incremente el uso de PostgreSQL.

-         Sobre una máquina, Linux media, necesitará aproximadamente 50 MB de disco duro para desempaquetar el código fuente, y otros 60 MB para compilarlo. Si selecciona ejecutar los test de regresión, necesitará 30 MB adicionales. Dependiendo de las opciones de configuración que elija, PostgreSQL puede tomar de 8 a 15 MB de espacio en disco, una vez instalado.

-         Planificar con anticipación la cantidad de datos que va a almacenar.

-         Antes de instalar PostgreSQL, se recomienda que compruebe su sistema de archivos para asegurarse de que tiene suficiente espacio en disco en la partición sobre la cual pretende instalar

-         Este sistema es vía WEB por lo tanto se debe tener un servidor Web como apache el cual debe ser configurado de acuerdo a los requerimientos del usuario.

 

Los Módulos con los cuales contará el sistema son los siguientes:

·        Módulo de Usuarios / Clientes: En este módulo se tiene un perfil de los usuarios que están registrados en el sistema y sus datos principales como: nombre y apellido, cedula de identidad, teléfonos, dirección, E-mail, Tipo de Tarjeta de Crédito, número de tarjeta de crédito, vencimiento de tarjeta de crédito y código de seguridad de la Tarjeta de Crédito.

·        Módulo de Reservas En este modulo los clientes registrados pueden reservar sus entradas a las localidades del estadio utilizando igualmente el modulo del plano del estadio en donde se podrá ver las localidades disponibles, se recomienda igualmente que el tiempo de reservación de las localidades sea de un lapso determinado.

·        Módulo de Compras: La integración con el medio de pago seguro se procedería a la generación del cargo en la cuenta asociada determinada por el cliente a fin de autorizar la generación de la compra del cliente y su posterior envío a través de Modulo de envío de compras el cual estará relacionado con algún sistema de envíos personalizados local con el que realice convenio, también pudiese manejarse que el cliente adquiera su boletería directamente por taquilla por lo que se podría manejar el pago en efectivo.

·         Módulo de Reportes:  Desde este módulo se pueden diseñar y producir listados o reportes basados en las diferentes tablas de la base de datos. Los reportes, además proporcionara  información específica sobre cada área, también pueden utilizarse como estadísticas para la toma de decisiones.

·        Modulo de Respaldo y mantenimiento: diariamente se prepararía una copia de respaldo de la base de datos además funcionaria  un Módulo de mantenimiento preventivo y correctivo de las bases de datos del sistema.

Extracto: Inicio
 


Infografía

www.gnu.org/philosophy/free-sw.es.htm  este link muestra la definición  de Software libre.

www.es.wikipedia.org/wiki/Apache_http_server  a través de este link encontramos lo relacionado con el servidor APACHE.

www.mailxmail.com/curso/informatica/configuracionapache/capitulo1.htm   Apache es un servidor web gratuito, potente y que nos ofrece un servicio estable y sencillo de mantener y configurar.

www.ubuntu-es.org/   Distribución basada en Debian. Noticias, tutoriales, consejos, descargas y foro

www.linux-es.org/node 

Introducción a PostgreSQL - Instalación e inicialización | El ... PostgreSQL se puede ejecutar en la gran mayoría de sistemas operativos existentes en la actualidad, entre ellos Linux y UNIX en todas sus ...

Extracto: Inicio
 

Hosted by www.Geocities.ws

1