Denominación de la asignatura: Programación de Bases de Datos
Grado al que pertenece: Grado en Matemática Computacional
Materia al que pertenece: Fundamentos de Computación
Créditos ECTS: 6
Curso y cuatrimestre en el que se imparte: Segundo curso, segundo cuatrimestre
Carácter de la asignatura: Obligatoria

Presentación

Programación de Bases de Datos es una asignatura obligatoria que consta de 6 créditos y que introducirá al estudiante en las áreas fundamentales de esta materia. Las BBDD son colecciones de datos de cualquier tipo pertenecientes a un mismo contexto y almacenados sistemáticamente para su uso posterior. En este sentido, son de vital importancia para el almacenamiento de grandes cantidades de datos, así como para su rápida y flexible recuperación. Por lo tanto, forman parte de una de las ramas con más aplicación de la informática, estando presentes en la industria, la banca, centros de investigación y en cualquier empresa o institución que requiera la organización y gestión de sus datos de manera eficiente. Una vez terminada la asignatura de programación de BBDD los estudiantes serán capaces tanto de diseñar y desarrollar un modelo de base de datos como de manejar las BBDD a través de lenguajes de consulta.

La captura y el almacenamiento de la información son frecuentemente las fases iniciales en un proceso de análisis y representación de datos. La eficiencia del proceso general de análisis depende en gran proporción de seleccionar los métodos correctos, tanto para obtener como para almacenar datos sin procesar. El resumen incluye un breve repaso de SQL y la descripción de nuevas tecnologías NoSQL, aplicadas comúnmente en entornos Big Data.

Durante la asignatura se trabaja con el motor de base de datos MongoDB y Neo4j, cuya aplicabilidad se ve reflejada en el creciente número de usuarios y recursos de documentación como libros y artículos. La relevancia de esta tecnología hace meritorio un estudio en profundidad de patrones de diseño y de tratamiento de datos. También conoceremos operaciones comunes durante la gestión de este tipo de bases de datos como los métodos de migración y distribución, así como los parámetros de configuración adecuados para un entorno de producción.

Competencias básicas

  • CB1: Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio. .
  • CB2: Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  • CB3: Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
  • CB4:Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
  • CB5:Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.

Competencias generales

  • CG5: Capacidad de desarrollar aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores en el ámbito de la matemática computacional con un alto grado de autonomía.
  • CG6: Capacidad de presentar ideas, procedimientos o redactar informes, así como asesorar a personas u organizaciones en su ámbito de especialización en matemática computacional.
  • CG7: Capacidad para saber comunicar y transmitir los conocimientos y, habilidades relacionados con la matemática computacional.

Competencias específicas

  • CE3: Ser capaz de conocer y aplicar las características, funcionalidades y estructura de las bases de datos que permitan su adecuado uso, diseño y programación.
  • CE12: Ser capaz de conocer los fundamentos de la programación de ordenadores y su aplicación para la resolución de problemas.

Competencias transversales

  • CT1:Aplicar las nuevas tecnologías como herramientas para el intercambio comunicacional en el desarrollo de procesos de indagación y de aprendizaje.
  • CT2:Desarrollar habilidades de comunicación, para redactar informes y documentos, o realizar atractivas y eficaces presentaciones de los mismos.

Tema 1. Introducción a las bases de datos relacionales

  • Introducción y objetivos
  • Módulo entidad-relación
  • SQL
  • Restricciones de integridad
  • Otros bases de datosrelacionales
  • Diseño de bases de datos relacionales
  • Cuaderno de ejercicios

Tema 2. Conceptos avanzados de bases de datos relacionales (MySQL)

  • Introduccióny objetivos
  • Índices ordenados
  • Archivos de índices de árbol B+ y B
  • Accesos bajo varias claves
  • Asociaciones
  • Usando índice de mapas de bits
  • Definición de índices en SQL
  • Cuaderno de ejercicios

Tema 3. NoSQL. Bases de datos distribuidas

  • Introducción y objetivos
  • Bsaes de datos homogéneas y heterogéneas
  • Almacenamiento distribuido de datos
  • Transacciones distribuidas
  • Protocolos de compromiso
  • Control de la concurrencia en las bases de datos distribuidas
  • Disponibilidad
  • Procesamiendo distribuido de consultas
  • Sistemas de directorio
  • Cuaderno de ejercicios

Tema 4. Concepto NoSQL

  • Introducción y objetivos
  • Origen y calidad de los datos
  • Casos de estudio
  • Descripción y tipos de bases de datos NoSQL
  • Algunos ejemplos rápidos
  • NoSQL vs SQL
  • Cuaderno de ejercicios

Tema 5. Introducción a MongoDB

  • Introducción y objetivos
  • Descarga e instalación
  • Software de apoyo
  • Flexibilidad del modelo
  • Cuaderno de ejercicios

Tema 6. MongoDB. Operaciones CRUD

  • Introducción y objetivos
  • Inserción de datos
  • Lecturas de datos
  • Actualización de datos
  • Concepto
  • Map-Reduce
  • Aggregation Framework
  • Cuaderno de ejercicios

Tema 7. Gestión de MongoDB

  • Introducción y objetivos
  • Seguridad
  • Respaldo
  • Sharding
  • Drivers
  • Cuaderno de ejercicios

Tema 8. Introducción a Neo4j

  • Introducción y objetivos
  • Bases de datos orientadas a grafos contra SQL y NoSQL
  • Las relaciones y los grafos
  • Neo4j. Conceptos básicos
  • Introducción a Cypher
  • Consultas basadas en relaciones
  • Cuaderno de ejercicios

Tema 9. Neo4j. Operaciones

  • Introducción y objetivos
  • Modelo de propiedad etiquetada
  • Creación de nodos
  • Creación de relaciones
  • Operaciones de borrado en nodos y relaciones
  • Combinar nodos y relaciones
  • Consultas usando restricciones
  • Control en la cadena de consulta
  • Definiendo restricciones
  • Cuaderno de ejercicios

Tema 10. Otras bases de datos

  • Introducción y objetivos
  • Cassandra
  • Descarga e instalación de Cassandra
  • Operaciones de Cassandra
  • ElasticSearch
  • Descarga e instalación de ElasticSearch
  • Software de apoyo de ElasticSearch
  • Cuaderno de ejercicios

Las actividades formativas de la asignatura se han elaborado con el objetivo de adaptar el proceso de aprendizaje a las diferentes capacidades, necesidades e intereses de los alumnos.

Las actividades formativas de esta asignatura son las siguientes:

  • Trabajo. Se trata de actividades de diferentes tipos: reflexión, análisis de casos, prácticas, etc.
  • Casos prácticos. Situarán al alumno ante situaciones reales que tendrán que analizar y tras ello tomar decisiones, evaluar consecuencias y alternativas.
  • Participación en eventos. Son eventos programados todas las semanas del cuatrimestre: sesiones presenciales virtuales, foros de debate.
Descargar programación

Estas actividades formativas prácticas se completan, por supuesto, con estas otras:

  • Estudio personal
  • Tutorías. Las tutorías se pueden articular a través de diversas herramientas y medios. Durante el desarrollo de la asignatura, el profesor programa tutorías en días concretos para la resolución de dudas de índole estrictamente académico a través de las denominadas «sesiones de consultas». Como complemento de estas sesiones se dispone también del foro «Pregúntale al profesor de la asignatura» a través del cual se articulan algunas preguntas de alumnos y las correspondientes respuestas en el que se tratan aspectos generales de la asignatura. Por la propia naturaleza de los medios de comunicación empleados, no existen horarios a los que deba ajustarse el alumno.
  • Examen final presencial

Las horas de dedicación a cada actividad se detallan en la siguiente tabla:

ACTIVIDADES FORMATIVAS HORAS POR ASIGNATURA % PRESENCIAL
Sesiones presenciales virtuales 15 horas 100%
Recursos didácticos audiovisuales 6 horas 0
Estudio del material básico 52 horas 0
Lectura del material complementario 25 horas 0
Trabajos, casos prácticos y test de evaluación 17 horas 0
Sesiones prácticas de laboratorio virtual 12 horas 16,7
Tutorías 16 horas 30
Trabajo colaborativo 7 horas 0
Total 150 horas -

Bibliografía básica

Recuerda que la bibliografía básica es imprescindible para el estudio de la asignatura. Cuando se indica que no está disponible en el aula virtual, tendrás que obtenerla por otros medios: librería UNIR, biblioteca...

Los textos necesarios para el estudio de la asignatura han sido elaborados por UNIR y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.

Además, en dos temas deberás estudiar la siguiente bibliografía:

Banker, K. (2012). MongoDB in action. Manning Publications

Bradshaw, S., Chodorow, K. (2019). MongoDB: The Definitive Guide: Powerful and scalable data storage. (3ª Edición). O´Reilly Media, Inc.

Chakrabarti, S. (2003). Mining the Web: Discovering Knowledge from Hypertext Data (pp.17-43). Morgan Kaufmann.

Chodorow, K., Dirolf, M. (2010). MongoDB: The Definitive Guide. O'Reilly.

Copeland, R. (2013). MongoDB Applied Design Patterns. O'Reilly Media, Inc.

Davenport, T., Prusak, L. (2000). Working Knowledge: How Organizations Manage What They Know (pp.1-6). Harvard Business Review Press.

Debenham, J. (1998). Knowledge Engineering. Unifying Knowledge Base and Database Design (pp.15-22). Springer.

Kyle, B. (2016). MongoDB in action (2ª Edición). Manning Publications.

Redman, T. C. (1996). Data Quality for the Information Age (pp.245-267). Artech House, Inc.

Shafranovich, Y. (2005). Common Format and MIME Type for Comma-Separated Values (CSV) Files. Internet Engineering Task Force IETF RFC 4180.

Silberschatz, A., Horth, H. F., Sudarshan, S. (2014). Fundamentos de Bases de Datos(6ª Edición). McGraw-Hill.

Tiwari, S. (2011). Professional NoSQL. John Wiley and Sons, Inc.

Van Bruggen, R. (2014). Learning Neo4j. Packt Publishing, Limited.

El sistema de calificación se basa en la siguiente escala numérica:

0 - 4, 9 Suspenso (SS)
5,0 - 6,9 Aprobado (AP)
7,0 - 8,9 Notable (NT)
9,0 - 10 Sobresaliente (SB)

La calificación se compone de dos partes principales:

El examen se realiza al final del cuatrimestre y es de carácter PRESENCIAL y OBLIGATORIO. Supone el 60% de la calificación final y para que la nota obtenida en este examen se sume a la nota final, es obligatorio APROBARLO.

La evaluación continua supone el 40% de la calificación final. Este 40% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante el cuatrimestre.

Sistema de evaluación Ponderación min - max
Participación del estudiante (sesiones, foros) 0% - 10%
Trabajos, proyectos y/o casos 10% - 20%
Prácticas de laboratorio virtual 20% - 30%
Test de evaluación 0% - 10%
Examen final 60% - 60%

Jesús Gil Ruiz

Formación académica: Doctorando en Ciencias de la computacion por UNIR, Ingeniero Superior Industrial, Ingeniero Civil e Ingeniero en Organización y producción Industrial por la Universidad de Cádiz, Master executive MBA por el EAE Business School, Executive Program en Inteligencia Artificial aplicada a la dirección estrategica por el MIT y Executive Program en Business Analytics por la Universidad de Pensilvania.

Experiencia: Gerente de proyectos con más de 15 años de experiencia en proyectos internacionales. Amplia experiencia en los proyectos más punteros (petróleo y gas, líneas y subestaciones, proyectos fotovoltaicos, eólicos, solares térmicos y energía fósiles ...). Habiendo trabajado como profesor de Data Science en Neoland, y siendo actualmente Investigador de Doctorado en UNIR.

Lineas de investigación: Inteligencia artificial aplicada a la dirección de proyectos. Actualmente está preparando la publicación: "Estado actual de la inteligencia artificial en la dirección de proyectos".

Obviamente, al tratarse de formación online puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de actividades, trabajos y exámenes. Nosotros, para ayudarte, te proponemos los siguientes pasos:

  1. Desde el Campus virtual podrás acceder al aula virtual de cada asignatura en la que estés matriculado y, además, al aula virtual del Curso de introducción al campus virtual. Aquí podrás consultar la documentación disponible sobre cómo se utilizan las herramientas del aula virtual y sobre cómo se organiza una asignatura en la UNIR y también podrás organizar tu plan de trabajo personal con tu profesor-tutor.
  2. Observa la programación semanal. Allí te indicamos qué parte del temario debes trabajar cada semana.
  3. Ya sabes qué trabajo tienes que hacer durante la semana. Accede ahora a la sección Temas del aula virtual. Allí encontrarás el material teórico y práctico del tema correspondiente a esa semana.
  4. Comienza con la lectura de las Ideas clave del tema. Este resumen te ayudará a hacerte una idea del contenido más importante del tema y de cuáles son los aspectos fundamentales en los que te tendrás que fijar al estudiar el material básico. Consulta, además, las secciones del tema que contienen material complementario.
  5. Dedica tiempo al trabajo práctico (sección Actividades y Test). En la programación semanal te detallamos cuáles son las actividades correspondientes a cada semana y qué calificación máxima puedes obtener con cada una de ellas.
  6. Te recomendamos que participes en los eventos del curso (sesiones presenciales virtuales, foros de debate…). Para conocer la fecha concreta de celebración de los eventos debes consultar las herramientas de comunicación del aula vitual. Tu profesor y tu profesor-tutor te informarán de las novedades de la asignatura.

En el aula virtual del Curso de introducción al campus virtual encontrarás siempre disponible la documentación donde te explicamos cómo se estructuran los temas y qué podrás encontrar en cada una de sus secciones.

Recuerda que en el aula virtual del Curso de introducción al campus virtual puedes consultar el funcionamiento de las distintas herramientas del aula virtual: Correo, Foro, Sesiones presenciales virtuales, Envío de actividades, etc.

Ten en cuenta estos consejos...

  • Sea cual sea tu plan de estudio, accede periódicamente al aula Virtual, ya que de esta forma estarás al día de las novedades del curso y en contacto con tu profesor y con tu profesor tutor.
  • Recuerda que no estás solo: consulta todas tus dudas con tu profesor-tutor utilizando el correo electrónico. Además, siempre puedes consultar tus dudas sobre el temario en los foros que encontrarás en cada asignatura (Pregúntale al profesor).
  • ¡Participa! Siempre que te sea posible accede a los foros de debate. El intercambio de opiniones, materiales e ideas nos enriquece a todos.
  • Y ¡recuerda!, estás estudiando con metodología on line: tu esfuerzo y constancia son imprescindibles para conseguir buenos resultados. ¡No dejes todo para el último día!