Descargar

Propuesta de un rediseño de base de datos en postgresql


  1. Resumen
  2. Introducción
  3. Situación problémica
  4. Desarrollo
  5. Propuesta de Diseño
  6. Conclusiones
  7. Recomendaciones
  8. Bibliografía
  9. Glosario de Términos
  10. Anexos

Resumen

La universidad de la Isla de la Juventud (UIJ) "Jesús Montané Oropesa", es una institución muy nueva en el desempeño de las ciencias informáticas y la producción de software. En su primera tarea asignada por el Ministerio de Educación Superior (MES), se abre paso con empeño y responsabilidad. Solucionar las dificultades presentadas con el sistema de gestión bibliográfico usado para el control y la manipulación de la literatura docente de las universidades es un reto que se va venciendo y a la vez, se gana en experiencia y formación profesional de los estudiantes y trabajadores del instituto. El presente trabajo aborda el análisis de una propuesta de solución basada en eliminación de las dificultades detectadas, dando salida a la estrategia de migración al software libre en el país, con el objetivo de brindar una solución eficaz y rápida.

Introducción

Las bases de datos son una parte fundamental de cualquier aplicación, pues en ellas se almacenan información trascendental para el buen desempeño de las mismas. Con el desarrollo de los distintos sistemas de gestión de bases de datos (SGBD), algunos de ellos fueron ganando en preferencia para los diferentes usuarios; por sus características de seguridad, configuración, conectividad, etc. (Bobrowski 2002)

PostgreSQL ha demostrado ser un SGBD óptimo para cualquier situación y circunstancia, mejorando cada vez en las nuevas versiones, en las cuales incorpora nuevas opciones y servicios que facilitan el trabajo de quien lo usa y colocándose entre los cuatro SGBD más utilizados por todo tipo de usuarios incluyendo empresas. (Group 2010)

Sus características de base de datos relacional y otras de orientadas a objetos como es la herencia de tablas unido a la gran cantidad de aplicaciones complementarias que se han desarrollado para la administración, diseño, migración, monitoreo, etc., ser soportado por los principales sistemas operativos (SO), publicado bajo licencia BSD, de código abierto y desarrollado un por una amplia comunidad que brinda soporte y actualización constantemente, lo convierte hoy en día en el SGBD por excelencia. (Group 2010)

Hoy nuestro país lleva un una política de migración en la cual se trata de implementar en software libre los SO y las aplicaciones que interviene en el desarrollo del mismo, entre la que se encuentra el TEXTSOL, un sistema de gestión que gestiona la bibliografía de las universidades del país y permite el control desde el Ministerio de Educación Superior (MES) como organismo rector de este proceso.

Situación problémica

La situación problémica está dada porque el servidor de Base de Datos de la aplicación esta implementado en MySQL Server y los clientes en Microsoft Office Access, estando obligado a tener en las estaciones de trabajo, Windows instalado. Conociendo también por un estudio realizado, que la base de datos del sistema no está bien estructurada, lo cual hace engorroso el trabajo de los operadores del sistema.

Problema a resolver

Se define como problema a resolver que los operadores del sistema están desorientados al interactuar con el mismo, no haciendo un uso correcto de este y que el sistema, además de estar implementado en más de un SGBD innecesariamente, se desempeñe mediante software propietario.

Objetivo

El objetivo del presente trabajo es rediseñar la aplicación en el SGBD PostgreSQL haciendo uso de sus bondades, ganando en estabilidad, uniformidad y eficacia, dando salida a su vez, a la política de migración del país.

Aportes prácticos

Con el rediseño propuesto se esperan los siguientes aportes prácticos:

  • Correcta estructuración, unificación y organización de la base de datos del sistema.

  • Simplicidad y fluidez del operador del sistema al interactuar con una interfaz intuitiva.

  • Optimización de la aplicación al reducir entorpecimientos en el trabajo.

  • Consolidar la estrategia de migración del país.

Estructura del contenido

  • Breve reseña de los SGBD.

  • Características de los principales SGBD.

  • PostgreSQL como SGBD del proyecto.

  • Propuesta de Diseño.

  • Resultados esperados.

Desarrollo

Sistemas de Gestión de Bases de Datos.

Los sistemas de gestión de bases son determinados software que organizan el almacenamiento de datos, los cuales son de características muy específicas que hacen de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan, controlando la creación, mantenimiento y uso de las estructuras de base de datos existentes en él. (Mato García 2010)

Una gran parte de la ingeniería interna de un SGBD es independiente del modelo de datos, y se ocupa de la gestión de factores como el rendimiento, la simultaneidad, la integridad y la recuperación de fallos del hardware. (Bobrowski 2002)

Principales tareas que debe realizar un SGBD:

  • Gestionar con seguridad el acceso compartido a una base de datos sencilla entre varios usuarios simultáneos.

  • Utilizar prudentemente los recursos de computadora, de modo que un gran número de usuarios de aplicaciones pueden trabajar con tiempos de respuesta cortos para lograr una productividad máxima.

  • Protege la información de la base de datos, de tal manera que pueda reconstruir el trabajo perdido debido a cualquier contingencia, desde un simple corte en el fluido eléctrico hasta un desastre catastrófico en la ubicación.

Modelos de datos

Un modelo de base de datos es una teoría o en las especificaciones que describen, cómo una base de datos se estructura y se usa.

Incluye los siguientes modelos:

  • Modelo jerárquico

  • Modelo de red

  • Modelo Relacional

  • Entidad-relación

  • Modelo objeto relacional

  • Modelo de objetos

Existen disímiles técnicas a utilizar para modelar la estructura de datos. De forma general, los sistemas de bases de datos están formados en torno a un modelo particular de datos, aunque los productos complementarios disponen hoy en día de varios modelos de diseño.

Para un modelo lógico pueden ser posibles diversas implementaciones físicas, y la mayoría de los productos ofrecen al usuario un rango de control de ajuste en la realización física, ya que las decisiones que se hacen tienen un efecto significativo en el rendimiento. (Bobrowski 2002)

Características de los principales SGBD.

Hoy en día existen diferentes SGBD, pero los más usados dado sus características y funcionalidades son: (Hernán Ruiz 2002)

  • MS Office Access.

  • MS SQL Server.

  • Oracle Data Server.

  • MySQL Server.

  • PostgreSQL.

De ellos, los tres primeros son propietarios, MySQL Server tiene licencia Dual, con limitaciones en su versión libre, el equivalente de MS SQL Server Express y PostgreSQL es totalmente libre con licencia BSD.

MS office Access

Es un SGBD integrado al paquete de ofimática que desarrolla la Microsoft, también propietaria del SO Windows, el más difundido y utilizado de los SO. Este SGBD es muy eficaz para bases de datos para uso personal en pequeñas organizaciones y usuarios de escritorio, permite crear y generar formularios para insertar y modificar datos fácilmente, así como la generación de reportes y diagramas de relaciones, gracias a una completa interfaz visual que permite administrar todo lo necesario. (Hernán Ruiz 2002)

En Access 2007, se introdujo un nuevo formato de base de datos: ACCDB. El cual soporta los tipos de datos más complejos, como archivos adjuntos y campos con múltiples valores. Estos nuevos tipos de campos son esencialmente de registros y permiten el almacenamiento de múltiples valores en un campo.

Entre sus mayores inconvenientes figuran que no es multiplataforma y su uso es inadecuado para grandes proyectos de software que requieren tiempos de respuesta críticos.

MS SQL Server

Es un SGBD producido por Microsoft, permite trabajar en modo clienteservidor, alojando la información en el servidor y accediendo a estos a través de los clientes. Soporta transacciones, procedimientos almacenados e incluye un entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. Microsoft también una distribución de forma gratuita para las versiones 2005 y 2008, SQL Express Edition. Presenta varias ventajas y desventajas, pero el mayor inconveniente, al igual que Access, es que solo está implementado para Windows. (Martin 2001)

Oracle Data Server

Producido por Oracle Corporation, un potente SGBD objeto-relacional que presenta una gran cantidad de funciones incluyendo procesamiento de transacciones en línea, sistema de tomas de decisiones y grandes almacenes de datos, hecho que lo convirtió en un servidor de bases de datos polivalente para todo tipo de aplicaciones comerciales. (Bobrowski 2002)

Presenta características tales como:

  • Particionado de datos.

  • Los tipos de objetos.

  • Los métodos

  • Tipos de datos Objetos grandes (LOB, Large Objects).

  • La gestión de contraseñas.

  • La utilidad Recovery Manager, etc.

Es un SGBD multiplataforma, tenía prácticamente el dominio en el mercado de servidores empresariales hasta que recientemente SGBD como Microsoft SQL Server, PostgreSQL, MySQL o Firebird le están haciendo competencia. A partir de la versión 10g Release 2, cuenta con 6 ediciones:

  • Oracle Database Enterprise Edition (EE).

  • Oracle Database Standard Edition (SE).

  • Oracle Database Standard Edition One (SE1).

  • Oracle Database Express Edition (XE).

  • Oracle Database Personal Edition (PE).

  • Oracle Database Lite Edition (LE).

De estas ediciones la Express Edition es la única gratuita, la cual es compatible con las demás ediciones de Oracle Database 10g R2 y Oracle Database 11g, pero las restantes ediciones son de alto pago de licencia de uso.

MySQL

Es un sistema de gestión de bases de datos relacional, multihilo y multiusuario. Es el más popular de los SGBD de código abierto. Se creó como una alternativa de mSQL, el cual no cumplió con los requerimientos de velocidad y flexibilidad que necesitaban sus creadores. (Garcia González 2006)

Sus principales características son:

  • Multiplataforma.

  • Procedimientos almacenados.

  • Soporte X/Open XA de transacciones distribuidas.

  • Motores de almacenamiento independientes.

  • SSL.

  • Sub-SELECTs

  • Réplica con un maestro por esclavo.

  • Insert delayed.

  • Insert Ignored.

  • Select …Limit.

  • Operador REGEXP.

  • Create table …like.

  • Match, Against.

  • Indexing, etc.

MySQL es patrocinada por Oracle Corporation desde abril del 2009 se desarrolla como software libre en un esquema de licenciamiento dual, donde se ofrece bajo la licencia GNU GPL para cualquier uso compatible con esta, pero para incorporarlo en productos privativos, deben comprar a la empresa una licencia específica que les permita este uso.

PostgreSQL

PostgreSQL es un SGBD objeto relacional basado en POSTGRES, versión 4.2, desarrollado por el departamento de informática de la Universidad de California en Berkeley. Es de código abierto bajo licencia BSD, por lo que puede ser utilizado, modificado y distribuido por cualquiera y para cualquier propósito libre pago. (Group 2010)

PostgreSQL soporta gran parte de SQL estándar y posee muchas características modernas tales como:

  • Consultas complejas.

  • Llaves foráneas.

  • Disparadores.

  • Vistas.

  • Integridad transaccional.

  • Control de concurrencia de multiversión, etc.

También puede ser extendido por el usuario de diversas maneras, como son:

  • Tipos de datos.

  • Funciones.

  • Operadores.

  • Funciones agregadas.

  • Métodos indexados.

  • Lenguajes procedurales.

Sin dudas hoy en día, PostgreSQL es el SGBD de código abierto más avanzada que existe.

PostgreSQL como SGBD del proyecto.

Indudablemente las características de PostgreSQL nos incitan a tenerlo en cuenta para cualquier proyecto. No solo porque es el SGBD de código abierto más avanzado, sino que cuenta con gran número de desarrolladores que se encargan de dar soporte y documentación la cual es muy amplia y que cada día tratan de perfeccionarlo haciéndolo más eficaz y funcional.

Características como las enunciamos a continuación son las que nos motivan a utilizar a PostgreSQL como SGBD para presente proyecto:

  • Costos mínimos.

  • Multiplataforma.

  • Código abierto bajo licencia BSD.

  • Herencia entre tablas.

  • Soporte de SSL.

  • Extensible.

  • Drivers para ODBC, JDBC, .Net, etc.

  • Múltiples lenguajes procedurales.

  • Bases de datos, registros por tablas e índices por tablas ILIMITADOS.

  • Tamaño de Tabla, Registro, Campos 32 TB, 1.6 TB y 1 GB respectivamente.

  • Métodos de almacenamiento de índices: 4 (B-tree, R-tree, Hash y GisT).

  • Etc.

Muchas son las bondades ofrecidas por este SGBD que facilitan el trabajo con alta disponibilidad, seguridad y rendimiento.

Propuesta de Diseño

Buscando una forma de organizar la base de datos de manera que facilite el proceso de diseño de la aplicación, logrando rapidez, eficiencia y gran flexibilidad a los usuarios se determinó:

  • Implementar el sistema sobre un solo SGBD (PostgreSQL).

  • Garantizar la independencia de los datos y la aplicación.

  • Minimizar la redundancia y eliminar datos innecesarios para el proceso.

  • Utilizar herramientas complementarias al SGBD en cuestión.

La aplicación actual, está implementada en dos SGBD, MySQL Server como servidor central y MS Access para los clientes, donde el servidor solo aloja los datos en las tablas, las cuales no tienen relación alguna, ya que las mismas se gestionan a nivel de aplicaciones clientes.

En vista de que cada CES deberá gestionar su bibliografía de forma independiente y que el MES deberá llevar un control estadístico de la información bibliográfica de cada CES, pudiendo reorganizar y/o redistribuir bibliografía según las necesidades de las carreras, facultades y CES, se implementará en cada CES un servidor Master que harán una replica a un único servidor esclavo en el MES, desde donde se podrá generar los reportes de orientación para el movimiento de bibliografía de un CES a otro según se necesite.

Después de haber realizado el análisis correspondiente, se concluyó en el siguiente esquema como propuesta inicial:

edu.red

La aplicación estará desplegada de la siguiente forma:

edu.red

Con este trabajo se espera alcanzar lo siguiente:

  • Mayor organización de la información.

  • Mejor rendimiento y funcionalidad.

  • Centralización de la información en un único SGBD.

  • Mayor seguridad e integridad de los datos.

  • Organización de las tareas por responsabilidad.

  • Garantizar la disponibilidad para diferentes plataformas.

  • Garantizar la estrategia de migración a software libre del país.

El empleo de un solo SGBD garantiza mayor rapidez y eficacia en el proceso de la aplicación, eliminando operaciones extras para lograr la comunicación entre dos o mas SGBD.

Por ello, el rendimiento y la funcionalidad del sistema implementado debe ser mayor, garantizando la uniformidad de la estructura y la máxima compatibilidad de esta.

También, facilita la gestión de la seguridad, ya que las medidas y normas a seguir son orientadas a un solo SGBD.

El uso de un SGBD multiplataforma, garantiza la futura migración o implantación del sistema en diferentes plataformas de ser necesario, con el mínimo de costos y pocos o casi ningún cambio.

El uso de software libre nos brinda la posibilidad de implementar sistemas para cualquier propósito y uso, libre de pagos de licencia de usos.

Conclusiones

Tras la realización de un análisis para una posible solución al problema planteado, con vistas al logro de una mayor optimización, es posible concluir que:

La utilización de tecnologías basadas en software libre para la implementación de bases de datos, nos brinda facilidades tan ricas y potenciales como cualquier herramienta privativa de este tipo, implementando sistemas seguros, robustos y poco costosos.

Se considera que el nuevo diseño erradique o disminuya las ineficiencias detectadas en la aplicación actual, logrando un incremento del rendimiento de la esta, así como ganar en organización y fluidez del proceso de la misma, cumpliendo a su vez, con los objetivos planteados en el trabajo.

Recomendaciones

Recomendamos estudiar la posibilidad de utilizar PostgreSQL tanto para la creación de nuevos sistemas, como la migración de sistemas existentes en correspondencia a la estrategia del país.

Bibliografía

Garcia González, C. (2006). Programando con MySQL 5. GIGA. Cuba, COPEXTEL: 96.

Group, T. P. G. D. (2010). PostgreSQL 9.0.1 Documentation: 2435.

Hernán Ruiz, M. (2002). Programación WEB avanzada. Buenos Aires, Argentina, MP Ediciones.

Martin, R. (2001). Designing SQL Server 2000 Databases for .NET Enterprise Servers, Syngress Publishing, Inc.: 753.

Mato García, R. M. (2010). Sistemas de Bases de Datos. La Habana, Editorial Felix Varela.

Bobrowski, S. (2002). Oracle 8i para Linux.

Glosario de Términos

SGBD: Sistemas Gestores de Bases de Datos.

Bases de Datos Relacionales: Es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas.

Bases de Datos Orientadas: La información se representa mediante objetos como los presentes en la programación orientada a objetos, proporcionando costes de desarrollo más bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el programa escrito en un lenguaje de programación orientado a objetos.

Aplicación: Es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo.

Estaciones de trabajo: Es una computadora que facilita a los usuarios el acceso a los servidores y periféricos de la red.

Licencia BSD: Es la licencia de software otorgada principalmente para los sistemas BSD (Berkeley Software Distribution). Es una licencia de software libre que permite el uso del código fuente en software no libre.

DDL: Lenguaje de definición de datos es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.

DML: Lenguaje de Manipulación de Datos es un lenguaje proporcionado por el SGBD que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.

Código abierto: Es el término con el que se conoce al software distribuido y desarrollado libremente.

Anexos

edu.red

 

 

Autor:

Ing. Nivaildo Polanco Martínez

Departamento de Informática

Facultad de Ciencias Económicas e informáticas

edu.red

Isla de la Juventud

Noviembre, 2011