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
- Profesor: Augusto Gonzalez Bonorino
- Profesor: Gustavo González Bonorino
- Estudiante: Natasha María Monserrat Bertaina Lucero
- Estudiante: Hernan Francisco Cerra
- Estudiante: Ana Soledad Dakkak
- Estudiante: ROMINA GONC
- Estudiante: Mariela Grinberg
- Estudiante: Guillermo Renieri
- Estudiante: Ramiro Sanchez
- Estudiante Inactivo: Pablo Marcelo Carballal
- Estudiante Inactivo: Daniel Pachue
- Estudiante Inactivo: Agustin Santamaria