Skip to content

Commit

Permalink
Create SQLZoo-Mystery project and its learning objectives
Browse files Browse the repository at this point in the history
  • Loading branch information
ssinuco committed Jun 19, 2024
1 parent 109aba4 commit de27eaf
Show file tree
Hide file tree
Showing 7 changed files with 342 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .mdlintrc
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
"br",
"ul",
"li",
"p"
"p",
"a"
]
}
}
4 changes: 4 additions & 0 deletions learning-objectives/data.yml
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,10 @@ sql:
- tables
- crud
- drop
- select-where-orderby
- group-having-aggregatefunctions
- joins
- subqueries-nested-queries

postgres:
- psql
Expand Down
24 changes: 24 additions & 0 deletions learning-objectives/intl/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1189,6 +1189,30 @@ sql/drop:
- title: DROP DATABASE
url: https://www.postgresql.org/docs/8.2/sql-dropdatabase.html

sql/select-where-orderby:
title: Realizar operaciones básicas de consulta de una base de datos utilizando las cláusulas SELECT, WHERE y ORDER BY
links:
- title: Querying a Table
url: https://www.postgresql.org/docs/current/tutorial-select.html

sql/group-having-aggregatefunctions:
title: Trabajar con funciones de agregación como COUNT, SUM, AVG, MAX y MIN, y cláusulas de agrupación de datos como GROUP BY y HAVING
links:
- title: Aggregate Functions
url: https://www.postgresql.org/docs/current/tutorial-agg.html

sql/joins:
title: Comprender y utilizar joins para combinar datos de múltiples tablas.
links:
- title: Joins Between Tables
url: https://www.postgresql.org/docs/current/tutorial-join.html

sql/subqueries-nested-queries:
title: Trabajar con subconsultas y consultas anidadas
links:
- title: Subquery Expressions
url: https://www.postgresql.org/docs/current/functions-subquery.html

mongodb:
title: MongoDB

Expand Down
24 changes: 24 additions & 0 deletions learning-objectives/intl/pt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1289,6 +1289,30 @@ sql/drop:
- title: DROP DATABASE
url: https://www.postgresql.org/docs/8.2/sql-dropdatabase.html

sql/select-where-orderby:
title: Realizar operações básicas de consulta em um banco de dados utilizando as cláusulas SELECT, WHERE e ORDER BY.
links:
- title: Querying a Table
url: https://www.postgresql.org/docs/current/tutorial-select.html

sql/group-having-aggregatefunctions:
title: Trabalhar com funções de agregação como COUNT, SUM, AVG, MAX e MIN, e cláusulas de agrupamento de dados como GROUP BY e HAVING.
links:
- title: Aggregate Functions
url: https://www.postgresql.org/docs/current/tutorial-agg.html

sql/joins:
title: Compreender e utilizar joins para combinar dados de múltiplas tabelas.
links:
- title: Joins Between Tables
url: https://www.postgresql.org/docs/current/tutorial-join.html

sql/subqueries-nested-queries:
title: Trabalhar com subconsultas e consultas aninhadas.
links:
- title: Subquery Expressions
url: https://www.postgresql.org/docs/current/functions-subquery.html

mongodb:
title: MongoDB

Expand Down
141 changes: 141 additions & 0 deletions projects/04-sqlzoo-mystery/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Tutoriales Interactivos SQLZoo y SQL Murder Mystery

## Índice

- [1. Consideraciones generales](#1-consideraciones-generales)
- [2. Preámbulo](#2-preámbulo)
- [3. Resumen del proyecto](#3-resumen-del-proyecto)
- [4. Tutoriales Interactivos](#4-tutoriales-interactivos)
- [5. Consideraciones para pedir tu Project Feedback](#5-consideraciones-para-pedir-tu-project-feedback)
- [6. Objetivos de aprendizaje](#6-objetivos-de-aprendizaje)

---

## 1. Consideraciones generales

- Este proyecto lo resolvemos de manera --individual--.
- El rango de tiempo estimado para completar el proyecto es de 1 a 2 Sprints.
- Enfócate en aprender y no solamente en "completar" los tutoriales o ejercicios.

## 2. Preámbulo

![Un índice de biblioteca](https://images.unsplash.com/photo-1544383835-bda2bc66a55d)

_Credito: Foto de [Jan Antonin Kolar](https://unsplash.com/@jankolar?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_
_en [Unsplash](https://unsplash.com/photos/brown-wooden-drawer-lRoX0shwjUQ?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_

SQL (Structured Query Language) es un lenguaje de programación estándar utilizado
para gestionar y manipular bases de datos relacionales. Permite realizar diversas
operaciones como la creación de tablas, la inserción, actualización y eliminación
de datos, así como la consulta de información específica dentro de una base de datos.
Su importancia radica en su capacidad para facilitar el acceso y la gestión
eficiente de grandes volúmenes de datos, lo que es esencial para el análisis,
la toma de decisiones y el desarrollo de aplicaciones empresariales.
Al ser ampliamente adoptado y estandarizado, SQL es fundamental para garantizar la
interoperabilidad y la consistencia en la gestión de datos en diferentes sistemas
y plataformas.

## 3. Resumen del proyecto

Cómo primer paso de la ruta de SQL, deberás
seguir los tutoriales de [SQLZoo](https://sqlzoo.net/).
SQLZoo es un sitio web
educativo dedicado a la enseñanza de SQL. Ofrece una variedad
de recursos y herramientas para aprender y practicar.

Los [--Tutoriales Interactivos-- de SQLZoo](https://sqlzoo.net/wiki/SQL_Tutorial)
son guías paso a paso que cubren desde los conceptos básicos
hasta temas avanzados de SQL. Cada lección incluye ejercicios prácticos
que podrás resolver directamente en el navegador.

Como entregable de este primer paso, deberás resolver los
ejercicios propuestos en HackerRank utilizando una cuenta propia en esta
plataforma. Durante la sesión de Project Feedback con tu coach, se
revisarán y discutirán las soluciones propuestas.

Nota: Es importante elegir MySQL como base de datos para solucionar
los ejercicios de [HackerRank](https://www.hackerrank.com/).

### SQL Murder Mystery 🕵️‍♀️

Una vez que hayas completado los tutoriales y los ejercicios de HackerRank,
estarás en condiciones de utilizar tus habilidades en SQL para ayudarnos a
resolver un misterio: Se ha producido un asesinato en 2018 y hemos accedido
a la base dedatos de la policía de SQL City. Necesitamos tu ayuda para
encontrar al culpable.

Como entregable esperamos un informe en una Notebook Colab (Jupyter) que detalle
el proceso que utilizaste para descubrir al asesino.

Puedes empezar desde la
[plantilla en este repositorio](https://colab.research.google.com/github/icarito/UPSK-SQL001-SQLZoo-murder/blob/sql-murder/Sql-Murder-Mystery/SQL_Murder_Mystery.ipynb).

<a target="_blank" href="https://colab.research.google.com/github/icarito/UPSK-SQL001-SQLZoo-murder/blob/sql-murder/Sql-Murder-Mystery/SQL_Murder_Mystery.ipynb">
<img src="https://colab.research.google.com/assets/colab-badge.svg"
alt="Open In Colab"/>
</a>

## 4. Tutoriales Interactivos

A continuación esta el orden en que te sugerimos seguir los tutoriales.

1. [SELECT basics](https://sqlzoo.net/wiki/SELECT_basics)
2. [SELECT name](https://sqlzoo.net/wiki/SELECT_names)
3. [SELECT from World](https://sqlzoo.net/wiki/SELECT_from_WORLD_Tutorial)
4. [SELECT from Nobel](https://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial)

5. Completar los siguientes ejercicios de HackerRank:

+ [Japanese Cities' Names](https://www.hackerrank.com/challenges/japanese-cities-name/problem?isFullScreen=true)
+ [Employee Salaries](https://www.hackerrank.com/challenges/salary-of-employees/problem?isFullScreen=true)
+ [Higher Than 75 Marks](https://www.hackerrank.com/challenges/more-than-75-marks/problem?isFullScreen=true)

6. [SELECT within SELECT](https://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial)
7. [SUM and COUNT](https://sqlzoo.net/wiki/SUM_and_COUNT)
8. [JOIN](https://sqlzoo.net/wiki/The_JOIN_operation)
9. Completar los siguientes ejercicios de HackerRank:

+ [Population Census](https://www.hackerrank.com/challenges/asian-population/problem?isFullScreen=true)
+ [Top Competitors](https://www.hackerrank.com/challenges/full-score/problem?isFullScreen=true)
+ [Contest Leader Board](https://www.hackerrank.com/challenges/contest-leaderboard/problem?isFullScreen=true)
+ [Challenges](https://www.hackerrank.com/challenges/challenges/problem?isFullScreen=true)

10. [More JOIN operations](https://sqlzoo.net/wiki/More_JOIN_operations)
11. [Self join](https://sqlzoo.net/wiki/Self_join)
12. Completar los siguientes ejercicios de HackerRank:

+ [Placements](https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true)

13. [Using Null](https://sqlzoo.net/wiki/Using_Null)

### Hacker Edition

Puedes tomar el tutorial
[14. Window functions](https://sqlzoo.net/wiki/Window_functions)
e intentar resolver los siguientes ejercicios de HackerRank. Estos ejercicios
tienen un alto nivel de dificultad.
Es normal que te acuesten resolverlos. Sin embargo no dejes que eso te frustre.
Intentalos resolverlos y
explora y discute las diferentes alternativas de soluciones con una coach.

- [Interviews](https://www.hackerrank.com/challenges/interviews/problem?isFullScreen=true)
- [15 Days of Learning SQL](https://www.hackerrank.com/challenges/15-days-of-learning-sql/problem?isFullScreen=true)
- [SQL Project Planning](https://www.hackerrank.com/challenges/sql-projects/problem?isFullScreen=true)

## 5. Consideraciones para pedir tu Project Feedback

Antes de agendar tu Project Feedback con tu coach, asegúrate de:

- [ ] Completar los 10 tutoriales propuestos
- [ ] Completar los 8 ejercicios de HackerRank propuestos
- [ ] Descubrir al asesino y escribir un informe en una Notebook Colab (Jupyter)

## 6. Objetivos de aprendizaje

> ℹ️ Esta sección será automáticamente generada en el idioma pertinente, a partir
> de los objetivos de aprendizaje declarados en [`project.yml`](./project.yml),
> al crear el repo del proyecto para un cohort en particular usando
> [`./scripts/create-cohort-project.js`](../../scripts#create-cohort-project-coaches).
>
> Acá puedes ver una [lista de todos los objetivos de aprendizaje](../../learning-objectives/data.yml)
> que contempla nuestra currícula.
140 changes: 140 additions & 0 deletions projects/04-sqlzoo-mystery/README.pt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
# Tutoriais Interativos SQLZoo e SQL Murder Mystery

## Índice

+ [1. Considerações gerais](#1-considerações-gerais)
+ [2. Preâmbulo](#2-preâmbulo)
+ [3. Resumen del proyecto](#3-resumo-do-projeto)
+ [4. Tutoriales Interactivos](#4-tutoriais-interativos)
+ [5. Considerações para pedir seu Project Feedback](#5-considerações-para-pedir-seu-project-feedback)
- [6. Objetivos de aprendizagem](#6-objetivos-de-aprendizagem)

+++

## 1. Considerações gerais

+ Este projeto será resolvido de forma ++individual++.
+ O intervalo de tempo estimado para completar o projeto é de 1 a 2 Sprints.
+ Foque em aprender e não apenas em "completar" os tutoriais ou exercícios.

## 2. Preâmbulo

![Um índice de biblioteca](https://images.unsplash.com/photo-1544383835-bda2bc66a55d)

_Crédito: Foto de [Jan Antonin Kolar](https://unsplash.com/@jankolar?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_
_em [Unsplash](https://unsplash.com/photos/brown-wooden-drawer-lRoX0shwjUQ?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_

SQL (Structured Query Language) é uma linguagem de programação padrão utilizada
para gerenciar e manipular bancos de dados relacionais. Permite realizar diversas
operações como a criação de tabelas, a inserção, atualização e eliminação
de dados, bem como a consulta de informações específicas dentro de um banco de dados.
Sua importância reside na capacidade de facilitar o acesso e a gestão
eficiente de grandes volumes de dados, o que é essencial para a análise,
a tomada de decisões e o desenvolvimento de aplicações empresariais.
Sendo amplamente adotado e padronizado, SQL é fundamental para garantir a
interoperabilidade e a consistência na gestão de dados em diferentes sistemas
e plataformas.

## 3. Resumo do projeto

Como primeiro passo da trilha de SQL, você deverá seguir os tutoriais do
[SQLZoo](https://sqlzoo.net/). SQLZoo é um site educacional dedicado ao
ensino de SQL. Ele oferece uma variedade de recursos e ferramentas para
aprender e praticar.

Os [++Tutoriais Interativos++ do SQLZoo](https://sqlzoo.net/wiki/SQL_Tutorial)
são guias passo a passo que cobrem desde conceitos básicos até temas
avançados de SQL. Cada lição inclui exercícios práticos que você pode
resolver diretamente no navegador.

Como entrega deste primeiro passo, você deverá resolver os exercícios
propostos no HackerRank usando uma conta própria nesta plataforma. Durante
a sessão de Project Feedback com seu coach, as soluções propostas serão
revisadas e discutidas.

Nota: É importante escolher MySQL como banco de dados para resolver os
exercícios do [HackerRank](https://www.hackerrank.com/).

### SQL Murder Mystery 🕵️‍♀️

Uma vez que você tenha completado os tutoriais e os exercícios do HackerRank,
estará em condições de usar suas habilidades em SQL para nos ajudar a resolver
um mistério: ocorreu um assassinato em 2018 e tivemos acesso ao banco de dados
da polícia de SQL City. Precisamos da sua ajuda para encontrar o culpado.

Como entrega, esperamos um relatório em uma Notebook Colab (Jupyter) detalhando
o processo que você utilizou para descobrir o assassino.

Você pode começar a partir do [modelo neste repositório](https://colab.research.google.com/github/icarito/UPSK-SQL001-SQLZoo-murder/blob/sql-murder/Sql-Murder-Mystery/SQL_Murder_Mystery.pt.ipynb).

<a target="_blank" href="https://colab.research.google.com/github/icarito/UPSK-SQL001-SQLZoo-murder/blob/sql-murder/Sql-Murder-Mystery/SQL_Murder_Mystery.pt.ipynb">
<img src="https://colab.research.google.com/assets/colab-badge.svg"
alt="Open In Colab"/>
</a>

+ [Comece a usar o Google Colab](https://www.youtube.com/watch?v=inN8seMm7UI)

## 4. Tutoriais Interativos

A seguir está a ordem em que sugerimos seguir os tutoriais.

1. [SELECT basics](https://sqlzoo.net/wiki/SELECT_basics)
2. [SELECT name](https://sqlzoo.net/wiki/SELECT_names)
3. [SELECT from World](https://sqlzoo.net/wiki/SELECT_from_WORLD_Tutorial)
4. [SELECT from Nobel](https://sqlzoo.net/wiki/SELECT_from_Nobel_Tutorial)

5. Completar os seguintes exercícios do HackerRank:

* [Japanese Cities' Names](https://www.hackerrank.com/challenges/japanese-cities-name/problem?isFullScreen=true)
* [Employee Salaries](https://www.hackerrank.com/challenges/salary-of-employees/problem?isFullScreen=true)
* [Higher Than 75 Marks](https://www.hackerrank.com/challenges/more-than-75-marks/problem?isFullScreen=true)

6. [SELECT within SELECT](https://sqlzoo.net/wiki/SELECT_within_SELECT_Tutorial)
7. [SUM and COUNT](https://sqlzoo.net/wiki/SUM_and_COUNT)
8. [JOIN](https://sqlzoo.net/wiki/The_JOIN_operation)

9. Completar os seguintes exercícios do HackerRank:

* [Population Census](https://www.hackerrank.com/challenges/asian-population/problem?isFullScreen=true)
* [Top Competitors](https://www.hackerrank.com/challenges/full-score/problem?isFullScreen=true)
* [Contest Leader Board](https://www.hackerrank.com/challenges/contest-leaderboard/problem?isFullScreen=true)
* [Challenges](https://www.hackerrank.com/challenges/challenges/problem?isFullScreen=true)

10. [More JOIN operations](https://sqlzoo.net/wiki/More_JOIN_operations)
11. [Self join](https://sqlzoo.net/wiki/Self_join)
12. Completar os seguintes exercícios do HackerRank:

* [Placements](https://www.hackerrank.com/challenges/placements/problem?isFullScreen=true)

13. [Using Null](https://sqlzoo.net/wiki/Using_Null)

### Hacker Edition

Você pode fazer o tutorial
[14. Window functions](https://sqlzoo.net/wiki/Window_functions)
e tentar resolver os seguintes exercícios do HackerRank. Esses exercícios
têm um alto nível de dificuldade. É normal que você tenha dificuldade para
resolvê-los. No entanto, não deixe que isso te frustre. Tente resolvê-los e
explore e discuta as diferentes alternativas de soluções com uma coach.

+ [Interviews](https://www.hackerrank.com/challenges/interviews/problem?isFullScreen=true)
+ [15 Days of Learning SQL](https://www.hackerrank.com/challenges/15-days-of-learning-sql/problem?isFullScreen=true)
+ [SQL Project Planning](https://www.hackerrank.com/challenges/sql-projects/problem?isFullScreen=true)

## 5. Considerações para pedir seu Project Feedback

Antes de agendar seu Project Feedback com seu coach, certifique-se de:

+ [ ] Completar os 10 tutoriais propostos
+ [ ] Completar os 8 exercícios do HackerRank propostos
+ [ ] Descobrir o assassino e escrever um relatório em uma Notebook Colab (Jupyter)

## 6. Objetivos de aprendizagem

> ℹ️ Esta seção será gerada automaticamente no idioma apropriado, a partir dos
objetivos de aprendizado declarados em [`project.yml`](./project.yml),
> ao criar o repositório do projeto para uma turma específica, usando
> [`./scripts/create-cohort-project.js`](../../scripts#create-cohort-project-coaches).
>
> Aqui você pode ver uma [lista de todos os objetivos de aprendizado](../../learning-objectives/data.yml)
> abrangidos pelo nosso currículo.
7 changes: 7 additions & 0 deletions projects/04-sqlzoo-mystery/project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
track: web-dev
learningObjectives:
- sql/select-where-orderby
- sql/group-having-aggregatefunctions
- sql/joins
- sql/subqueries-nested-queries

0 comments on commit de27eaf

Please sign in to comment.