Enfoque
Objetivo
Al finalizar el curso el alumno dominará los conceptos básicos de MongoDB para trabajar con esta base de datos como desarrollador de aplicaciones o como administrador de base de datos.
Dirigido a:
Administradores de bases de datos, Programadores, Diseñadores de bases de datos, Arquitectos de Software y Directores de Proyecto. El curso también está dirigido a cualquier persona que desee aprender los conceptos básicos de MongoDB y adentrarse en el mundo de las bases de datos NoSQL. Puede servir de actualización para profesionales que ya conozcan las bases de datos relacionales y quieran comenzar a trabajar con este nuevo tipo de base de datos.
Requisitos:
Es recomendable, aunque no imprescindible, que el alumno tenga conocimientos básicos en bases de datos, el formato JSON y JavaScript. No hace falta ningún conocimiento previo en MongoDB, ya que se comienza desde cero. Todos los programas usados a lo largo del curso serán gratuitos y se facilitará su descarga e instalación.
Temario del curso
1 - Introducción a MongoDB
Objetivo
Al finalizar la unidad el alumnado habrá adquirido una visión general de las bases de datos NoSQL y en particular de MongoDB. Además, será capaz de instalar la última versión de MongoDB, crear su primera base de datos y obtener información de ella mediante comandos y la Shell de MongoDB.
Duración de la unidad
3 Horas 50 Minutos
Contenido
1. Introducción a MongoDB
1.1. Introducción
1.1. Características principales
1.1. Orientada a documentos
1.1.1. Esquema dinámico
1.1.2. Consultas dinámicas
1.1.3. Escalabilidad
1.1.4. Rendimiento
1.1.5. Funcionalidades
1.1.6. Filosofía
1.2. Bases de datos NoSQL
1.2.1. Teorema del CAP
1.3. Instalación de MongoDB
1.3.1. Procedimiento de instalación
1.4. Hemos aprendido
2 - Conceptos y herramientas
Objetivo
Al completar el estudio de esta unidad el alumnado dominará los conceptos y herramientas básicos de MongoDB y será capaz de trabajar con fluidez con bases de datos de MongoDB desde la Shell.
Duración de la unidad
4 Horas 10 Minutos
Contenido
2. Conceptos y herramientas
2.1. Conceptos básicos
2.1.1. Documentos
2.1.2. Colecciones
2.1.3. Esquemas
2.1.4. Bases de datos
2.1.5. Instancia
2.1.6. Tipos de datos
2.1.7. Correspondencia con la terminología relacional
2.2. Versiones de MongoDB
2.3. Herramientas
2.3.1. El servicio mongod
2.3.2. La shell mongo
2.3.3. JavaScript
2.3.4. JSON
2.3.5. Drivers
2.3.6. Otras herramientas
2.4. Creación de una base de datos
2.5. Hemos aprendido
3 - Creación, modificación y borrado de documentos
Objetivo
Cuando el alumnado finalice esta unidad sabrá crear, modificar y borrar documentos en MongoDB, así como los operadores necesarios para ello: operadores de modificación, upsert, arrays y modificaciones múltiples.
Duración de la unidad
4 Horas 15 Minutos
Contenido
3. Creación, modificación y borrado de documentos
3.1. Interfaces gráficas para MongoDB
3.1.1. MongoDB Compass
3.1.2. Robo 3T
3.2. Inserción de documentos
3.2.1. Inserción simple
3.2.2. Inserción múltiple
3.2.3. Validaciones en la inserción
3.3. Modificación de documentos
3.3.1. Actualización simple
3.3.2. Reemplazo de documentos
3.3.3. Operadores de actualización
3.3.4. Actualización múltiple
3.3.5. Upsert
3.3.6. Consulta y actualización encadenadas
3.3.7. Operadores de actualización de arrays
3.4. Borrado de documentos
3.5. Transacciones
3.6. Hemos aprendido
4 - Consulta de documentos
Objetivo
Cuando finalice esta unidad, el alumnado sabrá realizar consultas de documentos en MongoDB, simples o complejas, y por una gran variedad de criterios.
Duración de la unidad
3 Horas 45 Minutos
Contenido
4. Consulta de documentos
4.1. Métodos find y findOne
4.1.1. Proyección
4.1.2. Paginación
4.1.3. Ordenación
4.2. Operadores
4.2.1. Operadores de comparación
4.2.2. Operadores booleanos
4.2.3. Operadores misceláneos
4.3. Expresiones regulares
4.4. Arrays
4.4.1. Operador $all
4.4.2. Operador $size
4.4.3. Operador posicional $
4.4.4. Operador $slice
4.4.5. Operador $elemMatch
4.5. Documentos embebidos
4.6. Operador $where
4.7. Cursores
4.8. Hemos aprendido
5 - El framework de agregación
Objetivo
Al finalizar la unidad el alumnado conocerá las herramientas de MongoDB para análisis de datos.
Duración de la unidad
5 Horas 15 Minutos
Contenido
5. El framework de agregación
5.1. Métodos de agregación
5.2. Etapas
5.2.1. $match
5.2.2. $project
5.2.3. $lookup
5.2.4. $unwind
5.2.5. $group
5.2.6. Ejemplo de tubería de agregación
5.3. Correspondencia con SQL
5.4. Expresiones
5.5. Operadores
5.5.1. Aritméticos
5.5.2. Fechas
5.5.3. Booleanos
5.5.4. Cadenas
5.5.5. Arrays
5.5.6. Comparación
5.5.7. Condicionales
5.5.8. Acumuladores
5.6. Rendimiento
5.7. MapReduce
5.7.1. Ejemplo de Map-Reduce
5.8. Hemos aprendido
6 - Indexación
Objetivo
Con esta unidad el alumnado aprenderá los conceptos básicos de la indexación y optimización de consultas en MongoDB. Además, sabrá crear y administrar los distintos tipos de índices de los que dispone MongoDB.
Duración de la unidad
4 Horas 20 Minutos
Contenido
6. Indexación
6.1. ¿Qué son los índices?
6.1.1. Ejemplo de uso de índice
6.2.1. Tipos de índices
6.2.2. Índices simples
6.2.3. Índices compuestos
6.2.4. Índices únicos
6.2.5. Índices parciales
6.2.6. Índices multiclave
6.2.7. Índices geo espaciales
6.2.8. Índices textuales
6.2.9. Índices comodín
6.2.10. Otros índices
6.3. Administración de índices
6.3.1. Creación
6.3.2. Borrado
6.3.3. Consulta
6.3.4. Modificación
6.4. Estadísticas de uso
6.4.1. El método explain
6.5. Estrategias de indexación
6.6. Más sobre índices geo espaciales
6.6.1. Ejemplo de búsqueda geo espacial
6.7. Hemos aprendido
7 - Búsqueda de texto
Objetivo
Cuando finalice esta unidad, el alumnado sabrá sacar partido a las capacidades de búsqueda de texto de MongoDB incluyendo la búsqueda exacta, exclusión de documentos y búsqueda multilenguaje.
Duración de la unidad
3 Horas 35 Minutos
Contenido
7. Búsqueda de texto
7.1. Introducción
7.2. Tipos de búsqueda de texto
7.2.1. Búsqueda estructurada vs desestructurada
7.2.2. Búsqueda exacta vs difusa
7.3. Motores de búsqueda
7.4. Búsqueda de texto en MongoDB
7.4.1. Creación del índice de texto
7.5. Búsqueda con find()
7.6. Búsqueda con aggregate()
7.7. Búsqueda en otros idiomas
7.7.1. Idioma del índice
7.7.2. Idioma en el documento y en la búsqueda
7.7.3. Idiomas disponibles
7.8. Hemos aprendido
8 - Administración básica de MongoDB
Objetivo
Al finalizar la unidad el alumnado tendrá el conocimiento básico necesario para planificar y administrar una base de datos MongoDB.
Duración de la unidad
6 Horas 10 Minutos
Contenido
8. Administración básica de MongoDB
8.1. Configuración y mantenimiento
8.1.1. Arrancar MongoDB
8.1.2. Fichero de configuración
8.1.3. Parar MongoDB
8.1.4. Otros comandos administrativos
8.2. Seguridad
8.2.1. Autenticación
8.2.1.1. Gestión de usuarios
8.2.2. Autorización
8.2.2.1. Roles predefinidos
8.2.2.2. Gestión de roles
8.2.3. Cifrado
8.3. Monitorización y diagnóstico
8.3.1. Cálculo del espacio usado
8.3.2. Herramientas de monitorización
8.3.3. Mensajes de log
8.4. Copias de seguridad
8.4.1. mongodump
8.4.2. mongorestore
8.5. Hemos aprendido
9 - Desarrollo de aplicaciones con MongoDB
Objetivo
Al finalizar la unidad el alumnado será capaz de diseñar un esquema de base de datos MongoDB con distintas colecciones relacionadas entre sí. Además, sabrá acceder desde un lenguaje de programación a dicha base de datos para realizar todo tipo de operaciones sobre ella.
Duración de la unidad
9 Horas 40 Minutos
Contenido
9. Desarrollo de aplicaciones con MongoDB
9.1. Introducción
9.2. Descarga de IntelliJ IDEA
9.3. Instalación de IntelliJ IDEA
9.4. Descarga del JDK
9.5. Hola Mundo
9.6. Dependencias Maven
9.7. Clase Conexión
9.8. Test unitario
9.9. Ejecución del test
9.10. Acceso a una colección
9.11. Prueba de concepto
9.12. Visualización de un documento
9.13. Cierre de cursores
9.14. Inserción de un documento
9.15. Borrado de un documento
9.16. Modificación de un documento
9.17. Configuración del Logger
9.18. Refactorización final
9.19. Hemos aprendido