Bases de Datos para Ciencia de Datos
Este website contiene el material para la materia Bases de Datos para Ciencia de Datos.
Rules of the game
Qué texto vamos a usar?
La mayoría del curso está basado en Learning SQL de A. Bailieau de editorial O'Reilly, que tiene bastantes libros técnicos muy interesantes.
Cómo vamos a calificar?
- 1er Parcial individual: 60%
- 1era entrega proyecto final en equipo: 20%
- 2a y última entrega proyecto final en equipo: 20%
Cómo serán los exámenes?
Tendrán un componente teórico y/o un componente práctico.
El componente práctico consistirá generalmente en uno de a) crear o alterar una BD, b) diseñar una BD, c) generar datos en una BD con una cierta forma, o d) generar un reporte analítico.
El componente teórico es un examen de opción múltiplemen la plataforma Socrative en el cual podrás sacar apuntes o usar una o varias de las plataformas que configuraremos a lo largo del semestre (PostgreSQL, DBeaver, VSCode, Anaconda, etc).
Y cómo será el examen final?
Será enteramente práctico y consistirá en el desarrollo de un proyecto integral con todo lo visto en el semestre. Daremos más detalles más adelante durante el curso.
Cómo me contacto con ud, prof?
Usen el el correo institucional (jesus.ramos@itam.mx) o Slack.
Pero preferentemente usen Slack.
Cómo nos comunicaremos?
Por Slack, que es un chat orientado a equipos y trabajo. Comenzó como un juego tipo "Among Us", pero cuando hicieron el chat para el juego quedó tan chingón, que lo sacaron como producto separado. Abajo las ligas de descarga:
Una vez que descarguen Slack, hagan click en esta liga para que sean automágicamente agregados a nuestro workspace.
Por dónde serán las sesiones?
La sesión 1 y 2 seran por Zoom, en este link, debido a que me encuentro en Querétaro con el pie fracturado y apenas hasta el 29 me dejarán manejar a CDMX. A partir de la sesión 3 estaremos presenciales.
Dónde estará el material?
Aquí en Github. Github es una plataforma de colaboración y control de versiones para no andar como este meme:
Es importante que si nunca has usado Github, o algún otro sistema de control de versiones, leas esta guía para que no te agarren en curva y tengas de menos los fundamentos de estas plataformas.
Qué necesito para la clase?
Las bases de datos son parte de un ecosistema de muchas piezas que nutre el flujo de datos de un problem domain. Quizá sean la más importante, pero no la única. Para ello vamos a utilizar diferentes herramientas para poder interactuar con cada una de estas piezas, incluyendo la base de datos, obvi.
Lo mero, mero. La ráison d'etre de este curso. El motivo por el que estamos aquí. El corazón de todo sistema, toda plataforma, aplicación: twitter, albo, Monzo, FB, Valorant, Fortnite, Destiny, etc.
Para poder crear, diseñar, levantar, consultar, administrar bases de datos, necesitamos 2 paquetes.
Debido a que las bases de datos actúan como servidor (es decir, un programa con una conexión abierta, esperando conexiones y escuchando los comandos que caen por esa conexión después de que establecemos una), obviamente necesitamos un programa cliente que establezca esa conexión. Los 2 paquetes que necesitamos son un cliente, y un servidor.
Como servidor descargaremos e instalaremos PostgreSQL en un ambiente cloud. Vamos a crear una máquina virtual en la nube de Amazon y va a ser nuestro PostgreSQL de cajón. Esto no lo veremos sino hasta dentro de 3 sesiones.
Ahora, para el cliente, descargaremos e instalaremos la edición Community de DBeaver, uno de los 3 paquetes de software libre para conexión a bases de datos.
Ya los tienes? Va.
Solamente eso?
Dependiendo de como vengan de experiencia y las materias previas que hayan cursado, necesitarán:
- VSCode - https://code.visualstudio.com/download
- Python (mediante miniconda) - https://docs.conda.io/en/latest/miniconda.html
- .NET SDK - https://dotnet.microsoft.com/download
Ya veremos qué necesitaremos de todos estos.
NEWS & UPDATES
Check back here often.
Temario + Fechas = Plan de Materia
A continuación el temario, fecha por fecha: