3 Capítulo 1: El problema Planteamiento del

Anuncio
Capítulo 1: El problema
Planteamiento del problema
El diagrama entidad-relación es una herramienta semántica de modelado de
datos usada para lograr el objetivo de describir o retratar datos abstractamente. (Bagui
& Earp, 2003, p. 24) [2]. En la actualidad existen herramientas como MySQL
Workbench [18] y Oracle Designer [20] entre otras, que facilitan el desarrollo de
bases de datos para sistemas de información, generando automáticamente las
sentencias DDL (Data Definition Language, Lenguaje de Definición de Datos)
partiendo de un diagrama entidad-relación. Este tipo de software entra en la
clasificación de lo que es conocido como herramientas CASE (Computer Aided
Systems Engineering, Ingeniería de Sistemas Asistida por Computadora) las cuales
son aplicaciones que proporcionan un framework automatizado para la realización de
diversas actividades de diseño e implementación de un sistema(Rob & Coronel, 2007,
p. 632)[27].
Con el crecimiento de las aplicaciones web también han surgido herramientas
CASE para la web como phpMyAdmin[24] y phpPgAdmin[25] las cuales son
aplicaciones del lado del servidor, es decir, estas son alojadas en un servidor web y la
mayor parte de su funcionalidad se ejecuta en él, teniendo acceso a la herramienta a
través de un navegador que muestra la interfaz de la aplicación suministrada por el
servidor en formato HTML/XHTML. Gilmore y Treat (2006, p. 621)[10] sugieren la
instalación de herramientas web de administración de base de datos por muchas
razones, entre éstas la posibilidad de manejar una base de datos desde cualquier
computadora con acceso a internet y la facilidad con la que es asegurable la conexión
usando SSL, adicionalmente Gilmore et al. destacan que no todos los proveedores de
servicios de alojamiento permiten a los usuarios acceder a una interfaz de líneas de
comandos, ni facilitan el uso de aplicaciones del lado del cliente ya que el acceso
remoto es restringido a un número limitado de puertos.
3
Aunque son bastantes los beneficios que brindan las herramientas web de
administración de bases de datos, en la actualidad este tipo de software como es
apreciable en el caso de phpMyAdmin[24] y phpPgAdmin[25], carecen de un
modelador de bases de datos, obligando a los usuarios a construir los modelos en
papel y posteriormente crear los objetos de base de datos manualmente a través de la
interfaz web o hacer uso de herramientas de escritorio para diseñar la base de datos y
generar el script SQL.
Por otra parte PostgreSQL[26] es un SGBD (Sistema gestor de bases de datos)
de código abierto para el cual Hsu y Obe(2009)[12] realizaron una publicación en la
que presentan una lista detallada de herramientas de administración que dan soporte a
esta base de datos. En este artículo se puede apreciar la carencia de un modelador de
base de datos multiplataforma y de software libre exclusivamente diseñado para
PostgreSQL, ya que las herramientas multiplataforma de software libre como Open
Office Base[3] y Power Architect[30] están desarrolladas para dar soporte a múltiples
SGBD, lo que obligada a las herramientas a estandarizar características propias de
cada SGBD para mantener la compatibilidad. Las aplicaciones citadas en el artículo
que dan soporte exclusivo a PostgreSQL(EMS SQL Management Studio para
PostgreSQL[7] y MicroOlap Database Designer/SQL para PostgreSQL[15])
requieren el pago de una licencia para poder utilizarlas y adicionalmente se limitan a
operar solamente en la plataforma Windows.
El uso de la tecnología ha generado que la mayoría de las actividades y los
procesos de la vida cotidiana se lleven a cabo de manera automatizada, aumentando
la complejidad de los sistemas y de los diseños de bases de datos. En base a esto, los
usuarios que no cuenten con herramientas de software que les brinden asistencia en la
fase de diseño, tendrán como resultado bases de datos difíciles de implementar,
ineficientes y con errores, ya que el proceso de modelado es vital y debe efectuarse
cuidadosamente. De acuerdo a Rob y Coronel (2007)[27] “una base de datos no es
algo que simplemente suceda; la estructura de su contenido debe diseñarse con
4
cuidado. Un buen SGBD funcionará deficientemente si cuenta con una base de datos
mal diseñada”.
Por estas razones se propone la creación de un modelador de diagramas
entidad-relación integrado a la versión 5 de la herramienta web de administración de
base de datos de software libre phpPgAdmin, de manera que su funcionamiento se
base en las características y sea exclusivo del SGBD PostgreSQL y que ofrezca a sus
usuarios una interfaz amigable e intuitiva que pueda ser empleada desde cualquier
sistema operativo y se ejecute correctamente en los principales navegadores web
existentes.
Objetivos de la investigación
Objetivo general.
Desarrollar un modelador web de diagramas entidad-relación para bases de
datos PostgreSQL integrado a phpPgAdmin.
Objetivos específicos.
•
Crear los objetos de base de datos que permitan almacenar la estructura de los
metadatos de los diagramas y limiten el acceso a usuarios que no poseen
permisos sobre el modelo.
•
Desarrollar un módulo para phpPgAdmin que permita a los usuarios
administrar los diagramas entidad-relación.
•
Implementar la interfaz de usuario base del modelador de diagramas.
•
Desarrollar las funcionalidades de administración gráfica de tablas, columnas
y claves foráneas.
5
•
Construir los procedimientos necesarios que generen el script DDL partiendo
de un diagrama entidad-relación.
•
Elaborar los procedimientos necesarios para la implementación de la
ingeniería inversa.
•
Diseñar los procedimientos encargados de serializar los objetos que componen
un modelo, en una estructura XML que pueda ser almacenada en la base de
datos, permitiendo la persistencia de los diagramas.
•
Probar que la aplicación sea compatible con los principales navegadores web.
Justificación
El presente proyecto surge como respuesta a la necesidad de la comunidad de
PostgreSQL y desarrolladores en general, de contar con una herramienta web de
software libre, que les permita llevar a cabo la tarea de crear objetos de base de datos
basándose en un diagrama entidad-relación.
Por ser desarrollado como una aplicación web, este proyecto cuenta con las
ventajas que caracterizan a este tipo software entre las que los autores Berzal, Cortijo
y Cubero destacan la accesibilidad, el fácil mantenimiento, la relativa seguridad y la
escalabilidad (2005, p. 21) [4]. Las aplicaciones de escritorio, requieren que cada
lugar de trabajo posea los ficheros del software necesarios para poder ser ejecutadas,
lo que podría generar un problema al momento de actualizar o dar mantenimiento a la
aplicación, como indican Berzal et al. en su trabajo:
La característica común que comparten todas las aplicaciones web es
el hecho de centralizar el software para facilitar las tareas de
mantenimiento y actualización de grandes sistemas. Es decir, se evita
tener copias de nuestras aplicaciones en todos los puestos de trabajo, lo
que puede llegar a convertir en una pesadilla a la hora de distribuir
actualizaciones y garantizar que todos los puestos de trabajo funcionen
correctamente. (p. 15)
Se espera que el resultado de la investigación sea de beneficio para
administradores y desarrolladores de bases de datos PostgreSQL; el proyecto
6
phpPgAdmin, el cual contará con una nueva e innovadora funcionalidad; la
comunidad PostgreSQL, la cual tendrá a la mano una herramienta libre que facilite el
desarrollo de bases de datos, atrayendo la atención de más usuarios a este SGBD; y
por último la comunidad de software libre en general, ya que se podrá hacer uso del
código fuente del producto como base para el desarrollo de nuevos proyectos.
El uso de la herramienta de modelado brindará a los desarrolladores una forma
más práctica de crear bases de datos, ya que las sentencias DDL serán generadas por
la aplicación, después que sea elaborado el diagrama entidad-relación. Esta técnica de
desarrollo reduce los errores de codificación, los usuarios no requieren un avanzado
conocimiento del SQL y estos tendrán un mejor entendimiento de la estructura de las
base de datos, facilitando la creación de consultas y la detección de errores. Además
se contara con los beneficios previamente descritos que aportan las aplicaciones web.
Alcance
Con esta investigación se pretende desarrollar una herramienta de modelado
de diagramas entidad-relación que aumente la productividad de las personas que se
desenvuelven en el área de desarrollo y administración de bases de datos PostgreSQL
y que sirva como base para el desarrollo de modeladores en otras herramientas CASE
web.
El proyecto contempla las funcionalidades básicas que poseen este tipo de
aplicaciones, como la creación de tablas, columnas y relaciones de una manera
gráfica, adición de objetos existentes físicamente en la base de datos al diagrama
mediante ingeniería inversa y generación de los comandos DDL que construyen la
base de datos. Adicionalmente, posee otras características como un módulo de
administración para los diagramas y soporte para múltiples lenguajes, con lo que se
expandiría el alcance geográfico a un ámbito global.
Los usuarios podrán emplear la aplicación para el diseño de bases de datos
PostgreSQL de las versiones 8.X y 9.0.X y tendrán la posibilidad de acceder y
7
emplear satisfactoriamente le herramienta desde los navegadores Internet Explorer 8,
Firefox 3 y superiores, Opera 10 y superiores, Google Chrome en todas sus versiones
y Safari 4 y superiores.
Limitaciones
A causa de que el uso de la herramienta se hace mediante un explorador web,
sus limitaciones dependerán de las características que presente dicho explorador.
Usuarios que hagan uso de navegadores que no soporten JavaScript o que esté
deshabilitado, no podrán utilizar la herramienta. Por otra parte para un correcto
funcionamiento de la aplicación los navegadores deben implementar SVG o VML, ya
que el software hace uso de estas especificaciones de gráficos vectoriales para
mostrar al usuario las relaciones entre las tablas.
A diferencia de herramientas como Oracle Designer[20] en la cual el usuario
desarrolla un modelo relacional lógico y posteriormente la aplicación es la encargada
de generar el diseño físico, en el presente proyecto los usuarios diagramarán modelos
relacionales físicos directamente..
Los scripts DDL generados por la aplicación, no alterarán la estructura de los
objetos existentes en la base de datos, es decir, si se aplica ingeniera inversa sobre un
esquema, luego se realizan modificaciones en el diseño y posteriormente se generan
las sentencias DDL, estas intentaran crear los objetos nuevamente, ya que no se hará
comparación entre la base de datos y el diagrama al momento de generar los scripts.
Los objetos existentes en los diagramas pertenecen exclusivamente al modelo
en el que fueron creados, por lo que estos no podrán ser reutilizados ni observados
por otros diagramas entidad-relación y los cambios realizados en ellos solo afectaran
al modelo al que pertenecen.
En esta versión no se podrán importar o exportar modelos a formatos que
puedan ser incluidos en otros esquemas, bases de datos o servidores. Tampoco será
8
posible aplicar ingeniera inversa a un script SQL compuesto de sentencias de
definición de datos.
9
Descargar