Вы находитесь на странице: 1из 9

BASES DE DATOS NOSQL CON MONGODB y ROBOMONGO

LUIS CARLOS SANCHEZ MONROY


MARCELA BRAVO GARAVITO

SOFTWARE DE COMUNICACIONES
INGENIERA MARTHA QUEVEDO

UNIVERSIDAD MILIAR NUEVA GRANADA


INGENIERA EN TELECOMUNICACIONES
BOGOT D.C., MAYO 20 DE 2016
INTRODUCCIN

Las bases de datos NoSQL (no relacionales) tienen una caracterstica fundamental que es
no usar tablas para almacenar datos y estn hechas para recuperar y agregar bastante
data, convirtindolas en bases de datos escalables y con un alto rendimiento al ejecutar
los modelos de datos. para el estudio se eligi un software para bases de datos NoSQL
denominado MongoDB junto con la interfaz Robomongo, uno de los programas ms
reconocidos para ello y a continuacin se va a presentar el funcionamiento y un ejemplo
de la base de datos.
Bases de datos NoSQL con MongoDB y Robomongo
Para comenzar, primero se va a describir los pasos de la instalacin de este software, ya
que no es como una instalacin comn. Al descargarlo de la pgina
https://www.mongodb.com/es de acuerdo al sistema operativo y se extrae en C:\mongodb
la carpeta bin que viene dentro de la descarga. Una vez realizado esto, se debe crear un
directorio para guardar los datos, ubicado como C:\data\db en donde hay que crear
primero el directorio data y despus el de db. Teniendo listo esto se ejecuta el siguiente
comando en el smbolo de sistema cmd:
C:\mongodb\bin\mongod.exe --dbpath C:\mongodb\data

Aqu se da la instruccin para guardar datos desde las carpetas creadas. Ahora para
poder recibir la conexin desde cliente, se debe iniciar el servidor de la base de datos, por
lo que es necesario ejecutar en el smbolo de sistema lo siguiente:

C:\mongodb\bin\mongod.exe

Y se tendr algo como la figura 1:

Figura 1. Conexin al puerto en MongoDB


Como se puede ver en la figura 1, al ejecutar mongod.exe y si se ha creado los directorios
de manera correcta, este debe estar listo para esperar las conexiones por el puerto 27017
(tcp/udp). Desde otro cmd se debe realizar una conexin al servidor de la DB en la IP
127.0.0.1, una vez que est listo la conexin con el puerto con el siguiente comando:

C:\mongodb\bin\mongo.exe

Y el resultado se tiene en la figura 2

Figura 2. Conexin con el servidor de la base de datos.

En la figura 2 ya indica que est conectado y se puede usar para crear una base de datos
con MongoDB.

Insertar datos con MongoDB: dentro de la segunda ventana de cmd cuando autorice la
conexin con el servidor, se pueden insertar datos para la DB de la siguiente manera:

1. Primero se crea una base de datos llamada db_employ con el comando use:

use test

2. Ahora se va a guardar datos que contengan nombre, apellido, c.c., nmero de


controles, RH y otros datos en una coleccin, para comprender la relacin lo que
en SQL llamamos tablas, aqu se denomina como colecciones. Para este ejemplo
tendremos la coleccin db_employ y se salvara el dato nombre: Luis.
db.db_employ.save({ nombre: 'Luis' })

3. Una vez hecho esto, dar un comando que dice: WriteResult({ nInserted : 1})
indicando que efectivamente el dato de nombre se ha guardado en la coleccin
db_employ de la base de datos test.

4. Si se quiere buscar lo almacenado, se hace con el comando:

db.db_employ.find({ nombre: Luis});

Para hacer ms sencillo la creacin de la base de datos, se usa una interfaz grfica que
proporciona MongoDB y se llama Robomongo. La descarga de la aplicacin se hace en la
siguiente pgina: https://robomongo.org/ y se ejecuta como un programa cualquiera. Una
vez que se instale, antes de abrir para crear la base de datos NoSQL va a pedir conexin
con el localhost como se ve en la figura 3:

Figura 3. Conexin de Robomongo con el localhost.

La conexin resulta debido a que se ha conectado con el puerto anteriormente (figura 1 y


2) as que ya se tiene acceso al software. Como ya se ha creado directamente desde
mongo una base de datos llamada test, esta aparecer en Robomongo como se ve en la
figura 4.
Figura 4. Base de datos existente creada desde Mongo DB.

Igualmente aparece las colecciones creadas, que para este caso es db_employ. Como ya
se tena incluido un dato que era nombre, con Robomongo en cdigo se puede introducir
otros ms, como el apellido, RH, correos y otros ms de la siguiente forma:

a) Se da clic derecho en el ID y se va a la parte Edit Document.. (ver figura 5); como


se puede ver, existe un ID hexadecimal como clave, este se cre en el momento
en que se insert el dato nombre siendo en pocas palabras clave principal
como se llamara en SQL.

Figura 5. Edicin del elemento de la coleccin db_employ.

Continuando con esto, va a ir directamente al cdigo fuente como se ve en la figura 6,


en este se puede editar los campos dichos anteriormente en el documento (la lnea del
ID), escritos en c++.
Figura 6. Edicin del documento con ms datos.

Desde la estructura del cdigo, se puede implementar datos sencillos, con arreglos y
otro tipo de estructuras para armar la base de datos, es importante tener en cuenta el
tipo de datos que se introduce, si son tipo char, string, int y ISODate para que se
valide el cdigo al guardarlo. Se realiza el mismo procedimiento con 10 datos ms
para tener la base de datos completa como se ve en la figura 7.

Figura 7. Base de datos creada con 10 documentos en la coleccin db_employ .

Consultas en la base de datos NoSQL: Con la base de datos creada llamada test, se
pueden implementar consultas bsicas para encontrar lo que el usuario requiera. En
Robomongo se hacen de forma similar como en Mongo DB con cmd, solo que lo que se
quiera consultar se hace en la parte superior de la ventana de la base de datos, como se
ve en la figura 8:
Figura 8. Parte para consultas.

Las consultas planteadas para esta base de datos son 3:

db.db_employ.aggregate(
{
$match:
{
cantidad_veces_come_al_dia: 5 }
}
)

En la primera se consulta aquellas veces que come al da que sean igual a 5 y forme un
grupo entre ellas, el resto son descartadas; como resultado se tuvo 3 documentos (ver
figura 9)

Figura 9. Primera consulta.

Para la segunda consulta tenemos lo siguiente:

db.db_employ.find({numero_controles : 10})

En una de ellas tenemos que encuentre dentro de la coleccin de test aquellos empleados
tengan 10 controles mdicos realizados, en donde solo uno los posee: (ver figura 10)
Figura 10. Segunda consulta.

Y por ltimo la tercera consulta se hace sobre solo encontrar el primer dato insertado bajo
un parmetro con el cdigo que se ve a continuacin:

db.db_employ.findOne({antecedentes_familiares : 0})

Figura 11. Tercera consulta

En ella se tiene que se encuentre dentro de la base de datos el primer documento


ingresado que tenga 0 en antecedentes familiares y por supuesto arroj solo uno de ellos
con esta condicin.

CONCLUSIN

Se puede concluir que las bases de datos NoSQL sirven para manejar datos
generales por el tipo de estructura y condiciones de uso, es decir para poblaciones
grandes ya que estos se utilizan para crear estadsticas y tendencias globales, sin
necesidad de ser enfocadas como en las bases de datos SQL.

Es importante conocer los comandos bsicos para programar al momento de


ingresar la informacin en la creacin de los documentos y posteriormente la
coleccin con la base de datos ya que Robomongo maneja lenguaje de
programacin en C++ para ejecutar y guardar.

Вам также может понравиться