Introducción a MongoDB
Poco a poco el mundo de NoSQL se va haciendo un nuestro día a día. Quizás sea MongoDB la base de datos NoSQL más conocida. Vamos a abordar algunos de sus conceptos básicos en este artículo. MongoDB es una base de datos orientada a documentos. ¿Qué quiere decir esto?.Simplemente quiere decir que no se basa en el concepto de Tabla ,Fila y Registro sino que se apoya en el concepto de Colección, Documento y Propiedad. Vamos a abordarlos.
MongoDB y Colecciones
Una colección en MongoDB es muy similar a una Tabla de una base de datos.La tabla almacena registros (filas) mientras que las colecciones almacenan documentos.
MongoDB y Documentos
Es aquí donde comienzan las diferencias importantes entre una base de datos SQL y una NoSQL . El concepto de fila y de documentos son bastante diferentes . Una fila esta compuesta de columnas y siempre son las mismas para todas ellas . En cambio un documento esta compuesto por claves y valores (key,value) y cada documento puede tener variaciones importantes con el anterior dentro de una colección. Vamos a ver unos ejemplos,imaginemonos que tenemos el concepto de Persona (nombre,apellidos,edad) . En una base de datos relacional dispondremos de la siguiente tabla.
En cambio en una base de datos orientada a documentos podremos tener estructuras similares o muy diferentes. Por ejemplo si quisieramos almacenar los mismos datos sería tan sencillo como crear los siguientes documentos:
Ahora bien se podrían crear documentos bastante diferentes como los siguientes.
El primer documento solo dispone de un campo . Mientras el segundo dispone de tres pero estos son diferentes a los anteriores. Esto es lo que en NoSQL se denomina Schema Free o libre y que aporta una gran flexibilidad a la hora de trabajar. Aunque también puede acabar siendo un poco caótico. Esta tipología de esquema viene reforzada por la capacidad de generar documentos embebidos dentro de la misma colección.
MongoDB Documentos Embebidos
Un documento embebido no es ni mas ni menos que un documento que esta insertado dentro de otro y que ambos están ligados a la misma colección.
De esta manera las bases de datos orientadas a documentos aportan una gran flexibilidad a la hora de estructurar la información.
MongoDB Comandos
Para insertar los registros anteriores dentro de MongoDB tendremos que usar los siguientes comandos.
mongo
Nos conectara de forma automática con el servidor, una vez conectados podemos pedir un listado de las bases de datos disponibles con:
show dbs
Realizada esta operación nos mostrará la lista de bases de datos existentes
Seleccionamos la base de datos con :
use cantabriaTIC
Realizada esta operación solicitamos la lista de colecciones con show collections
Nos aparecerá vacía y podemos proceder a insertar un registro para ello usaremos el siguiente comando.
db.Personas.insert({«nombre»:»cecilio»,»apellidos»:»alvarez»});
Esto nos insertará un registro en la base de datos. Ahora solo nos queda seleccionar los datos con
db.Personas.find();
El cual nos devolverá los datos insertados.
Trabajar con MongoDB es bastante intuitivo pero su enfoque es bastante diferente a una base de datos SQL clásica.
5 Responses to “Introducción a MongoDB”