You are on page 1of 16

Fase de resultado de pruebas.

ESQUEMA Y DISEÑO DE BASE DE DATOS ÓPTIMAS PARA EL


MANEJO DE CONSULTAS EN LÍNEAS, EN PROCESOS MASIVOS,
GENERADOR DE REPORTES. USO DE LAS MEJORES BASES DE
DATOS DEL MERCADO

Cristian Abilio García Peñaranda.

C.I.: 25.418.268.
Introducción

La página web de Páginas Amarillas posee un sistema algo obsoleto y


una interfaz que requiere de una urgente actualización. Aunado a esto, la
necesidad de la empresa Compañía Anónima Nacional Teléfonos de
Venezuela (CANTV) para adaptarse al mercado y generar nuevas
propuestas para sus clientes, ha dado luz verde al lanzamiento de un nuevo
proyecto, conformado por las nuevas generaciones de estudiantes de
Venezuela. El proyecto de nuevas generaciones busca mejorar el sistema
de Páginas Amarillas y, a su vez, añadir nuevas funcionalidades a la
misma; busca integrar un sistema de oferta y compra de bienes y servicios,
permitiendo a las empresas usar dicha página para ofreces sus productos.

El presente informe busca hacer señalamiento de una parte de dicho


intento de actualizar la página web de Páginas Amarillas (de lo que
conformaría la nueva página web), el cual es el desarrollo de una base de
datos para realizar consultas. Este sistema es ampliamente conocido y
empleado en la mayoría de las páginas webs. El mismo, se encarga de
generar una interfaz cómoda para el usuario, en donde pueda hacer sus
búsquedas sin ningún inconveniente, y de forma rápida y sencilla.

Una base de datos abierta/libre (Open Source) de cumple la función de


tener todo este abanico de opciones e integrarlos en un bloque creado y
controlado por una empresa externa, ofreciendo todas las funcionalidades
de este sistema común y corriente. La diferencia entre usar una base de
datos open source y una paga, radica en los costos asociados (aunque las
plataformas pagas lo compensan con soporte 24 horas a los 7 días de la
semana, plataformas con constante actualización, etc).

De esta manera, a través de dicho informe se presentarán las bases de


datos Open Source más empleadas hoy en día y con mejores
funcionalidades, como también se indagará (de superficie) en sus
características principales.

ii
Objetivo General:

 Implementar una base de datos open source para realizar consultas


en la página web de Páginas Amarillas.

Objetivos específicos:

 Realizar una investigación exhaustiva de las bases de datos Open


Source existentes en el mercado.
 Seleccionar la base de datos Open Source más acorde al objetivo
del proyecto, en base a los resultados obtenidos de la investigación
inicial.
 Crear un plan de proyecto, delimitando su duración y sus fases.
 Añadir la base de datos Open Source, previamente seleccionada, en
la nueva página web de Páginas Amarillas, siguiendo el plan de
proyecto previamente diseñado.

Alcances del proyecto:

El presente proyecto busca encontrar la base de datos Open Source de


más idónea para la página web de Páginas Amarillas, siguiendo el siguiente
procedimiento:

1-. Investigar cuáles son las bases de datos Open Source disponibles:
presentar una lista de las bases de datos Open Source más idóneas y con
mejor calidad del mercado.

iii
2-. Seleccionar la base de datos Open Source más idónea para el caso:
luego de la investigación y con los resultados expuestos, se selecciona
aquella base de datos que sea más adecuada a utilizar en la página web
señalada.

3-. Adquirir los conocimientos pertinentes sobre la base de datos Open


Source seleccionada: leer el manual de la base de datos y un sinfín de
materiales que permitan a la persona encargada poder realizar sus labores.

4-. Comenzar el proceso de inclusión de la base de datos en la página


web, en colaboración con otros miembros del proyecto general: se
comienza a incluir el código de la base de datos en la página web, en
colaboración con otros miembros del grupo del proyecto principal, a fin de
poder realizar todo correctamente y sin inconvenientes.

5-. Crear una fase de prueba: donde se detectan todos los errores y se
corrigen los mismos.

6-. Finalizar el proceso de inclusión de la base de datos, generar manual


y hacer mantenimiento periódicamente: se culmina el proceso de desarrollo
e inclusión, y se comienza a desarrollar un manual de usuario y a hacer
mantenimiento periódico a dicha base de datos (actualizaciones, solución
de fallas, etc.).

Como conclusión, se espera tener un bosquejo de todo lo que se quiere


crear con la base de datos (información a mostrar, límites, estilos, etc.) para
poder desarrollar correctamente el punto del proyecto. Todo esto se
mencionará en la parte de recomendaciones.

iv
Cuerpo del proyecto

1-. Esquema de base de datos

Al ser una base de datos relacional, el esquema se dice que son las
tablas, campos y relaciones que existen entre cada elemento de la base de
datos. Cuando se dice que hay una optimización del esquema de la base
de datos, quiere decir que las tablas están debidamente normalizadas y las
relaciones que existen entre cada una de ellas son correctas y necesarias.
Existen dos tipos de esquemas de base de datos, los físicos y los lógicos.

El esquema físico es aquel que marca cómo se almacena una base de


datos de manera física, sus archivos e índices. El esquema lógico expresa
las restricciones que se presentan en la base de datos, tales como la vista,
la integridad y tablas.

2-. Diseño de base de datos de consulta online

La base de datos de consulta online sigue los mismos parámetros de


una base de datos convencional, su única diferencia radica en que la base
de datos online requiere de protocolos y/o programas adicionales para
subirse a la red de internet y poder compartir los archivos al hacer una
consulta en una página web.

Los programas que normalmente requiere una base de datos para hacer
consultas online, son los siguientes:

• FTP (File Transfer Protocol): Es un protocolo que permite la


transferencia de archivos. Para usarlo es necesario un cliente y un servidor.

• Cliente: es aquel que se encarga de subir los archivos y las webs.

v
• Servidor: es aquel que recibe toda la información del cliente para
mostrarlos en la web.

El servidor y el cliente deben ser previamente delimitados por la empresa


para poder ir toda la base de datos a la web.

3-. Generador de reportes

Cada base de datos tiene un proceso para generar un reporte. Estos


pasos se seguirán dependiendo de la base de datos empleadas. Por
ejemplo, MYSQL tiene la opción de exportar en distintos formatos tales
como pdf, txt, etc.

4-. Base de datos masiva

Una base de datos masiva es aquella en donde la cantidad de registros


es muy amplia, por lo cual requiere de más trabajo para su creación y
mantenimiento. A su vez, normalmente estas bases de datos requieren de
un buen desarrollo para evitar lentitudes en el sistema. Las bases de datos
especializada (MYSQL, etc.) permiten la creación de este tipo de proyectos
de forma sencilla y rápida. Algo que hay que tomar en cuenta es que
siempre se debe realizar backups o respaldos de datos para evitar posibles
pérdidas de información.

• MPP (Massively Parallel Processor): la tecnología de proceso paralelo


masivo, es un sistema que permite la administración de base de datos
amplias de forma más rápida, aunque requiere de mayo recursos y
potencia. Este sistema almacena un sistema operativo en cada “nodo” con
sus respectivos dispositivos de almacenamiento. Normalmente se emplean
en grandes proyectos.

vi
5-. Mejores bases de datos Open Source

Las bases de datos empleadas utilizan la metodología relacional,


además de que son gratuitas. Son las siguientes:

MYSQL: base de datos gratuita con múltiples funcionalidades y un


soporte de seguridad totalmente fiable. Se ha consolidado como una de las
mejores bases de datos Open Source. Actualmente ha sido adquirida por
Oracle, por lo cual sus nuevas versiones requieren pagos para su uso. Es
una base de datos algo obsoleta, ya que tiene problemas de seguridad, de
ACID (atomicidad, consistencia, aislamiento, durabilidad), entre otras
cosas.

PostgreSQL: base de datos muy bien desarrollada, con gran capacidad


para almacenamientos masivos y realización de backups online. Posee un
sistema avanzado y no requiere de detener la base de datos para hacer
algún tipo de actividad. Esta base de datos está totalmente acutalizada,
por lo cual no presenta las fallas de MYSQL

MariaDB: es una versión mejorada de MYSQL. Tiene algunas mejoras


tales como más rápida realización de consultas, adición de nuevos
comandos, mayor realización de pruebas y detección de errores. Al igual
que PostgreSQL, presenta una versión totalmente pulida de MYSQL, por lo
cual está adaptada al entorno empresarial actual.

6-. ¿Cuál base de datos emplear?

Todas las bases de datos mencionadas son muy buenas para el


proyecto actual, aunque, de primera, se descartaría MYSQL por ser una
database (base de datos) muy lenta para el proyecto. PostgreSQL y
MariaDB están a la par y tienen muy buen sistema de por medio. De todas

vii
formas, se emplearán todas las bases de datos para dar un mejor bosquejo
y encontrar la que mejor se adapte al proyecto.

7-. Tiempo de ejecución

Se espera que el proyecto tarde no más de dos (2) meses, ya que se


tienen los conocimientos pertinentes al manejo de la base de datos a
implementar. Es un proyecto sencillo, sin mayor dificultad.

Actualización: luego de hacer un análisis, se estima que para MYSQL el


tiempo sea de 1 mes aproximadamente; mientras que para PostgreSQL, se
estima que sea de entre 2 a 3 meses.

8-. Metodología

Como ya se sabrá, hay muchas metodologías para implementar en un


proyecto empresarial. Se mencionarán algunos como también se indicará
por qué no se emplean estos y sí el que se haya seleccionado.

Metodología Scrum: muy famoso hoy en día. Esta metodología esta


planeada para trabajar con un grupo, el cual tiene contacto con el cliente
para satisfacer sus necesidades. Se basa en un concepto cíclico, por lo
cual se van repitiendo las acciones constantemente para mejorar el
funcionamiento de la empresa. La ventaja es que cada empleado tiene una
actividad correspondiente, por lo cual se puede dar un bosquejo mucho
mejor del proyecto.

¿Por qué se decidió no implementarlo en este proyecto? Debido a que


no se trabaja con un grupo, no hay un cliente como tal para hacer una mesa
de trabajo y no se piensa en una metodología cíclica.

viii
Metodología Kanban: metodología convencional, se encarga de seguir
un modelo de trabajo en base a principios, para lograr finalizar un proyecto.
Se diferencia de la metodología Scrum en que sí se siguen un conjuto de
pasos hasta llegar al final del proyecto. Normalmente, se menciona que hay
que minimizar el tiempo.

¿Por qué no se ha decidido emplear este? Porque no sigue el modelo


presentado por la empresa CANTV, además que es una metodología ágil
y cíclica.

Metodología FDD (Feature-Driven Development): metodología ágil


como scrum. Se diferencia en que es empleado con un equipo numeroso,
el cual puede estar conformado por miembros de una o más compañías.
Es una metodología cíclica e incremental.

¿Por qué no se va a emplear? No se requiere una metodología ágil y


tampoco se posee un equipo tan numeroso para hacer uso de ella.

Metodología XP Programming: metodología ágil basada en la iteración


para alcanzar objetivos. Sigue modelos de reutilización, retroalimentación,
etc.

¿Por qué no se va a emplear? Porque no se está buscando crear un


programa o emplear la programación como tal.

Metodología PRINCE2: es una metodología tradicional que sigue un


conjunto de pasos previamente definidos. Se diferencia de las anteriores
metodologías en que sí sigue un modelo y se centra en cumplir una labor
específica sin alteraciones en la estructura de desarrollo, permitiendo
reducir costos.

¿Por qué se emplea esta metodología? Porque sigue las exigencias de


la empresa CANTV y es una metodología tradicional.

ix
9-. Uso de la metodología PRINCE2

Se debe comenzar señalando la estructura de esta metodología.


Primero, la conforma su organización, en donde se señala el grupo que
conforma el proyecto. Segundo, los procesos, en donde se señalan los 7
procesos y el orden en que suceden. Y, por último, el ciclo del proyecto o
su línea de tiempo.

Organización: El proyecto no posee una organización como tal. Se ha


verificado que el proyecto total posee una estructura de metodología ágil,
en donde cada trabajador tiene sus proyectos y permiso, aunque, para el
proyecto actual, no existe una jerarquía ni un grupo delimitado para indicar
una organización.

Modelo: son los procesos y el orden que se sigue para alcanzar el


proyecto. Los procesos son los siguientes:

Mandato del proyecto y puesta en marcha: cuando la Sra. Iris Gonzáles


asigno el proyecto a cada integrante del proyecto original, se generó un
mandato del proyecto.

Dirección de un proyecto: la Sra. Iris Gonzáles tiene la dirección del


proyecto principal, aunque de este subproyecto la tendría el Sr. Cristian
García.

Inicio del proyecto: el mismo inició con la asignación del proyecto al Sr.
Cristian García y se lleva realizando desde hace varias semanas.

Gestión de los límites de la fase y gestión de la entrega de productos:


con la entrega de cada informe, se genera esta gestión. Adicionalmente,
con cada feedback el director del proyecto hace la administración de estas
entregas.

x
Cierre del proyecto: el mismo se dará cuando el proyecto haya finalizado
y todo esté correctamente estructurado.

Diseño de conceptos

1- PostgreSQL

La base de datos a emplear será PostgreSQL, ya que es la base de


datos Open Source con un sistema más actualizado y sencillo. El lenguaje
a incrustar la base de datos será PHP, ya que es sencillo realizar la
conexión entre esas dos plataformas.

Para conectar las bases de datos, se debe llamar al host donde se


encuentra almacenada la BD (base de datos), asignar el nombre de la base
de datos, el usuario y la contraseña, como tener un link para el destructor
(aquel que finalice la conexión). A su vez, se deben crear funciones que
permitan consultas a dichas base de datos. Ya hay códigos que hacen todo
eso, algunos se dejarán en la sección de bibliografía.

Para la creación de reportes se puede usar la librería FPDF, adjunto a la


modificación de un simple código señalado en la sección de bibliografía.
Esta librería genera un reporte en PDF con los datos imprescindibles de la
base de datos desarrollada.

Se prevé crear un pequeño modelo de una base de datos para probar


todos estos conceptos, aunque ya han sido previamente probados por otras
personas en la web, por lo cual es muy fiable.

2-. MYSQL

Aunque MYSQL tiene ciertas limitaciones, es la base de datos por


defecto de PHP, por lo cual su trabajo es más sencillo. Al haber mucho
material en la web sobre cómo trabajar con ella, su aprendizaje es sencillo
y su aplicación mucho más.

xi
Al igual que con PostgreSQL, primero debe conectarse la base de datos
a PHP con una sencilla función. Luego de ello, se procede a crear la
estructura de la página para su búsqueda (dependiendo de los requisitos).
Por último, se crea la página para mostrar los resultados.

Como se comenta, usar MYSQL es demasiado sencillo y no requiere


mucho tiempo de su elaboración. Es cierto que tiene limitaciones (luego de
haberse vuelto un software de pago), pero se recomienda si el proyecto no
es de gran envergadura.

11-. ¿PostgreSQL o MYSQL?

Debe saberse que cada software tiene sus ventajas y desventajas.

Por ejemplo, PostgreSQL es un software más completo, pero el tiempo


de aprendizaje y desarrollo es superior, siendo recomendado para grandes
proyectos.

MYSQL también puede ser usado en grandes proyectos, pero su sistema


está un poco desactualizado. Su gran ventaja es que es la base de datos
por defecto de PHP y su aprendizaje es muy sencillo, reduciendo el tiempo
de desarrollo de un proyecto.

Para el proyecto actual, en un inicio, se dio por conclusión que debía


usarse PostgreSQL, pero luego de una investigación más exhaustiva, la
mejor opción sería MYSQL por su sencillez y rapidez.

xii
10-. Plan de pruebas:

El plan de pruebas se elabora en base a una sola persona y solamente


se utilizará un cronograma sin matrices.

Cronograma

1ero -. Instalación de programas pertinentes.

2do-. Desarrollo de base de datos de prueba y de código php.

3ero-. Prueba de códigos señalados en el diseño de conceptos.

4to-. Depuración.

5to-. Informe sobre resultado de pruebas.

Se estima que las pruebas tarden aproximadamente entre una o dos


semanas máximo. Se hará una realización exhaustiva de pruebas para
evitar posibles errores a futuro.

11-. Resultados de pruebas

Las pruebas se hicieron solo con MYSQL, ya que es necesario reducir


el tiempo de desarrollo del proyecto.

En un inicio, se observó que MYSQL trabaja perfectamente con PHP. Se


puede hacer uso de distintos medios como Ajax, php y html para hacer un
correcto uso de esta base de datos. Se percibe que hay que hacer un

xiii
código muy amplio para abarcar todo tipo de búsquedas. Además, se
deben tener claras las solicitudes del cliente para adaptar esas búsquedas
a la página web.

Se desea saber cómo se quiere mostrar la información de la base de


datos, la estructura que se quiere dar a la página web y, sobre todo, el estilo
(CSS) que tendrá la página web.

De momento, se siguen ejecutando pruebas y dando bosquejos para


antes de dar inicio al desarrollo de búsquedas para la página web.

xiv
Recomendaciones

Al ser un primer informe y al trabajar con un sistema totalmente nuevo,


no habría muchas recomendaciones. La única recomendación a realizar,
sería evaluar muy bien el costo de producción, ya que una base de datos
masiva, requiere mucho mantenimiento de por medio. Por ser un sistema
Open Source, no quiere decir que sea totalmente gratuito.

Luego de realizar las pruebas, las recomendaciones principales son


tener un plan de trabajo previamente delimitado con objetivos, un sketch o
borrador con todo lo que se desee mostrar en la página y otorgar, a las
personas encargadas del proyecto, todos los medios necesarios para
desarrollar correctamente sus puntos.

xv
Conclusiones

Como conclusión, se puede decir que las bases de datos son


herramientas que permiten mayor comodidad y facilidad al momento de
desarrollar una página web. Aun así, no son tan sencillas, ya que requieren
de instrucción para conocer cómo se comportan y cómo manejarlas en una
página web. La base de datos Open Source ofrece disminución de costos
y de tiempo de desarrollo.

Hoy en día, las bases de datos Open Source o cualesquiera bases de


datos disponibles han evolucionado muy rápido. Hay un mercado extenso
y un gran equipo trabajando en ello. Es una labor de la sociedad para hacer
más fácil el día a día de las personas y de los trabajadores. De todo esto,
al haber un gran mercado, también hay múltiples opciones, en donde cada
una ofrece sus pros y sus contras.

Con el presente informe se pudo dar una introducción a la materia, saber


cómo trabajan las bases de datos Open Source y cuáles son sus pros y sus
contras. A su vez, se logró dar un bosquejo a los objetivos generales y
específicos, como al alcance. Se dio una introducción general al tema y se
sentaron las bases para el desarrollo del proyecto. De esta manera, se
espera poder ampliar el abanico de conocimientos y culminar
satisfactoriamente con dicho proyecto.

xvi

You might also like