Monografias.com > Computación
Descargar Imprimir Comentar Ver trabajos relacionados

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:

Monografias.com

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

Monografias.com

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

Monografias.com

 

 

Autor:

Ing. Nivaildo Polanco
Martínez

Departamento de
Informática

Facultad de Ciencias Económicas e
informáticas

Monografias.com

Isla de la Juventud

Noviembre, 2011

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter