Docentes a cargo: Augusto y Gustavo González Bonorino

Duración: 6 semanas

Carga horaria estimada: 60 horas

Modalidad: A distancia, dictado en la plataforma virtual del Centro REDES.

Este curso se desarrolla completamente en formato virtual con lo cual permite realizar la capacitación desde cualquier parte del país y de la región. Este formato habilita a que cada alumno ingrese a la plataforma en el momento y horario que le resulte más productivo, ya que el material permanece en la plataforma y no existen restricciones de ingreso.

..... Más Información y Aranceles

Descripción general del curso:

El conocimiento se concreta en datos, y los datos tienen valor de mercado. Las redes sociales, las empresas de encuestas y de marketing, cualquier negocio grande o pequeño, trabaja con datos, y esos datos tienen valor. Se pueden comprar para mejorar una campaña publicitaria, y se pueden vender al mejor postor. Es decir, los datos se trafican. Sin embargo, los datos por sí solos no son tan valiosos como lo son si están eficientemente almacenados y organizados, de manera que se pueda acceder a ellos con facilidad y con seguridad. Este valor agregado se logra implementando bases de datos (BD), estructuras de almacenamiento eficientes, seguras, que pueden gestionarse computacionalmente. SQL es el lenguaje preferido para gestionar BD. Así, pues, es necesario saber programar en SQL para aprovechar la sostenida y creciente oferta laboral en este campo de las BD.

No obstante, no es suficiente saber SQL para lograr ese objetivo laboral. Tan importante como saber SQL es aprender de BD. Si uno aprende Python, o R, puede exitosamente escribir programas en esos lenguajes sin otro requerimiento. Pero por mucho que sepa de SQL, si lo aplica a una BD mal diseñada obtendrá resultados poco útiles. El aprendizaje de SQL debe necesariamente ir aparejado con aprender qué es una BD eficientemente diseñada, y cómo rediseñarla si fuere necesario. Encontrarán muchos cursos que enseñan SQL pero omiten hablar de BD. Estos cursos ofrecen la mitad de la solución. Convencidos de que esta es una omisión muy relevante, en hemos creado este curso con el doble propósito de enseñar SQL y el diseño de BD. En resumen, tienen dos cursos en uno.

El curso se divide en dos secciones mayores. La primera está dedicada casi exclusivamente al lenguaje SQL. Cómo recuperar la información que necesitamos de una tabla y cómo crear nuevas tablas de datos y poblarlas con información. En esta sección se trabaja con una única tabla. La segunda sección se dedica a bases de datos relacionales. Se enseña cómo diseñar una base de datos eficiente minimizando la redundancia y la dependencia funcional de información. Y también se introducen varios comandos no vistos previamente debido a que operan con más de una tabla.

Numerosos ejercicios distribuídos a lo largo del curso les servirán para fijar lo aprendido. Y al final, un proyecto guiado les permitirá poner en práctica todo lo aprendido. En este proyecto diseñarán una base de datos y aplicarán SQL para gestionarla mediante consultas.

Por conveniencia didáctica se emplea SQLite como sistema de gestión, pero la presentación facilita la migración a otros sistemas de gestión de BD.

ChatGPT:
Se incorpora ChatGPT para consultas generales y para ayuda con la codificación. La primera clase da ejemplos sobre el modo de uso y de posibles aplicaciones en el curso.

Contenidos

Módulo 1 Presentación de SQL y SQLiteStudio

¿Qué es SQL?

Sistemas de gestión de bases de datos relacionales

Variantes de SQL

Operación interna de SQL

SQLite

SQLiteStudio

 

Módulo 2 Operar con SQL

Datos y tablas de datos

La sintaxis SQL

Nomenclatura

Cuestiones de estilo

Categorías de sentencias

Sentencias con SELECT

SELECT con expresiones

Cláusula LIMIT

Cláusula DISTINCT

Cláusula WHERE

Cláusula ORDER BY.

Funciones de agregación

La función COUNT()

Cláusula GROUP BY.

Cláusula HAVING

Funciones de cadenas

Inserción de comentarios

Ejercicios 1

 

Módulo 3 Crear una BD y poblarla con datos

Tipos de dato en SQLite

Operar en la interfaz de SQLiteStudio

Operar en el editor de SQLiteStudio

Restricciones (constraints)

Sentencias de manipulación de datos (DML)

Cláusula INSERT

Cláusula UPDATE

Cláusula DELETE

Cláusula ALTER TABLE

Cláusula DROP

Gestión de fechas y hora

Comandos transaccionales (TCL)

Ejercicios 2

 

Módulo 4 Diseño de bases de datos

Sistema de archivos o de ficheros

Tipos de bases de datos

BD relacionales

Diseño de una base de datos relacional

Entidades

Atributos

Relaciones o dependencias

Cardinalidad

Participación

Representación gráfica de relaciones entre entidades - Diagramas ER

Clave primaria (PRIMARY KEY)

Clave ajena (FOREIGN KEY)

De diagramas ER a esquemas relacionales

Normalización de una BD

Formas normales

 

Módulo 5 Operar con múltiples tablas

Operar con la BD chinook.db

Introducción a Lucid Chart

Crear el diagrama ER para chinook.db

Integridad referencial (referential integrity)

Consultar más de una tabla

El operador UNION

El operador INTERSECT

El operador EXCEPT

Cláusula JOIN

Cláusula INNER JOIN

Cláusula LEFT JOIN

Cláusula CROSS JOIN)

Self join

Subconsultas (subqueries)

Orden de ejecución de una consulta

 

Módulo 6 Tópicos avanzados

La sentencia PRAGMA

Cláusula VIEW

Cláusula WITH

Disparadores (TRIGGER)

La expresión CASE WHEN

Limitaciones de SQLite