Skip to content

Commit 520b7af

Browse files
committed
chore(init): Adds project files from curriculum
0 parents  commit 520b7af

File tree

3 files changed

+301
-0
lines changed

3 files changed

+301
-0
lines changed

README.md

+297
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,297 @@
1+
# Student Database
2+
3+
## Índice
4+
5+
* [1. Consideraciones generales](#1-consideraciones-generales)
6+
* [2. Preámbulo](#2-preámbulo)
7+
* [3. Resumen del proyecto](#3-resumen-del-proyecto)
8+
* [4. Configuración del Ambiente de Desarrollo](#4-configuracion-del-ambiente-de-desarrollo)
9+
* [5. Entregables](#5-entregables)
10+
* [6. Consideraciones para pedir tu Project Feedback](#6-consideraciones-para-pedir-tu-project-feedback)
11+
* [7. Objetivos de aprendizaje](#7-objetivos-de-aprendizaje)
12+
13+
---
14+
15+
## 1. Consideraciones generales
16+
17+
* Este proyecto lo resolvemos de manera **individual**.
18+
* El rango de tiempo estimado para completar el proyecto es de 2 a 5 Sprints.
19+
* Enfócate en aprender y no solamente en "completar" los tutoriales o ejercicios.
20+
21+
## 2. Preámbulo
22+
23+
![Workshop](https://images.unsplash.com/photo-1426927308491-6380b6a9936f)
24+
25+
_Credito: Foto de [Barn Images](https://unsplash.com/@barnimages)_
26+
_en [Unsplash](https://unsplash.com/photos/assorted-handheld-tools-in-tool-rack-t5YUoHW6zRo?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)_
27+
28+
Los comandos DDL (Data Definition Language) en SQL son fundamentales para la creación,
29+
modificación y eliminación de objetos de base de datos. Estos comandos permiten
30+
definir la estructura y características de las tablas, índices, vistas y otros
31+
elementos esenciales en el diseño de una base de datos.
32+
33+
## 3. Resumen del proyecto
34+
35+
En este proyecto seguirás dos tutoriales de freeCodeCamp para aprender
36+
los comandos DDL (Data Definition Language) en SQL.
37+
38+
### [Learn SQL by Building a Student Database: Part 1](https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-1)
39+
40+
En el primer tutorial, aprenderás a construir y gestionar una base de datos de
41+
estudiantes utilizando SQL y PostgreSQL. Comenzarás configurando el entorno
42+
necesario, que incluye la instalación de PostgreSQL y el uso de máquinas
43+
virtuales. A través de comandos SQL, te guiarás en la creación de tablas con
44+
claves primarias y foráneas, la inserción y consulta de datos, y la
45+
actualización y eliminación de registros. Además, explorarás el uso de
46+
scripts Bash para automatizar tareas y gestionar permisos de archivos.
47+
48+
Haz clic [aquí para iniciar el primer tutorial](https://gitpod.io/new/?autostart=true#CODEROAD_TUTORIAL_URL=https%3A%2F%2Fraw.githubusercontent.com%2FLaboratoria%2Flearn-sql-by-building-a-student-database-part-1%2Fmain%2Ftutorial.json,CODEROAD_DISABLE_RUN_ON_SAVE=true/https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-1).
49+
50+
### [Learn SQL by Building a Student Database: Part 2](https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-2)
51+
52+
En el segundo tutorial, profundizarás en la administración y análisis
53+
de bases de datos de estudiantes usando SQL y PostgreSQL. Aprenderás a
54+
realizar consultas avanzadas mediante JOIN para combinar datos de múltiples
55+
tablas y a utilizar funciones de agrupamiento (GROUP BY) y ordenamiento
56+
(ORDER BY). Se cubrirán también las funciones agregadas para sumarizar
57+
datos y la modificación de estructuras de tablas existentes con ALTER TABLE.
58+
Esta parte incluye la creación de copias de seguridad y restauración
59+
de bases de datos, y el uso de scripts Bash para una gestión más
60+
eficiente y segura de tu entorno.
61+
62+
Haz clic [aquí para iniciar el segundo tutorial](https://gitpod.io/new/?autostart=true#CODEROAD_TUTORIAL_URL=https%3A%2F%2Fraw.githubusercontent.com%2FLaboratoria%2Flearn-sql-by-building-a-student-database-part-2%2Fmain%2Ftutorial.json,CODEROAD_DISABLE_RUN_ON_SAVE=true/https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-2)
63+
64+
## 4. Configuración del Ambiente de Desarrollo
65+
66+
Los tutoriales usan [Gitpod](https://gitpod.io/). Con Gitpod, las
67+
desarrolladores pueden iniciar instantáneamente un entorno de desarrollo
68+
completo con todas las herramientas y dependencias necesarias para
69+
trabajar en su proyecto, lo que elimina la necesidad de configurar
70+
manualmente el entorno en sus propias máquinas.
71+
72+
A continuación encuentras el paso a paso para trabajar con Gitpod.
73+
Sin embargo puedes ver este [video](https://youtu.be/e2yAgeOwQGQ)
74+
que hemos preparado.
75+
76+
### Paso 1. Crea una cuenta en Gitpod usando Github
77+
78+
Para crear una cuenta en Gitpod utilizando GitHub, sigue estos pasos:
79+
80+
1. Dirígete al sitio web de Gitpod en [gitpod.io](https://www.gitpod.io/).
81+
2. Haz clic en el botón "Login" en la esquina superior derecha de la página.
82+
3. Selecciona la opción "Continue with GitHub".
83+
4. Serás redirigido a la página de autorización de GitHub. Si no has iniciado
84+
sesión en GitHub, se te pedirá que lo hagas.
85+
5. Después de iniciar sesión en GitHub, se te pedirá que autorices a Gitpod
86+
a acceder a tu cuenta de GitHub. Revisa los permisos y haz clic en
87+
"Authorize Gitpod" (Autorizar Gitpod).
88+
6. Completa la informacion solicitada para compeltar el registro.
89+
7. ¡Listo! Ahora tienes una cuenta en Gitpod vinculada a tu cuenta de GitHub.
90+
91+
### Paso 2. Crea un workspace para los tutoriales
92+
93+
1. En [Gitpod](https://gitpod.io/workspaces), haz clic en el boton "New Workspace".
94+
2. En la opción "Select a repository" ingresa la url de repositorio del tutorial:
95+
- Tutorial 1: [https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-1](https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-1)
96+
- Tutorial 2: [https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-1](https://github.com/Laboratoria/learn-sql-by-building-a-student-database-part-2)
97+
3. Verifica que en las demás campos esten elegidas las opciones "VSCode 1.90.2"
98+
y "Standar".
99+
4. Haz clic en "Continue".
100+
5. Gitpod abrirá VSCode con el nuevo espacio de trabajo y comenzará a configurar
101+
el entorno automáticamente.
102+
103+
### Paso 3. Inicia el tutorial
104+
105+
1. En el VSCode abierto por Gitpod, abre el menú hamburguesa (tres líneas
106+
horizontales en la esquina superior izquierda).
107+
2. Ve al menú "View".
108+
3. Haz clic en la opción "Command Palette".
109+
4. Escribe "CodeRoad: Start" y elígelo entre las opciones para ejecutarlo.
110+
5. Se abrirá un nuevo panel con el tutorial.
111+
112+
### Paso 4. Retomar un tutorial en el punto en el que lo dejé la última vez
113+
114+
1. Inicia sesón en [Gitpod](https://gitpod.io/workspaces) y lista los workspaces
115+
2. En el workspace del tutorial que quieres retomar haz click en el
116+
menú de tres puntos.
117+
3. Elige la opcion "Open"
118+
4. Gitpod abrirá VSCode con el nuevo espacio de trabajo y comenzará a configurar
119+
el entorno automáticamente.
120+
5. Inicia el tutorial de nuevo siguiendo el paso 3.
121+
122+
## 5. Entregable
123+
124+
Haz fork a este repositorio. Luego ajustar el README para registrar
125+
todos los comandos ejecutados durante los tutoriales. Puede usar
126+
el siguiente formato:
127+
128+
```md
129+
# Tutorial 1
130+
131+
## Paso 1
132+
133+
`echo sql Hello`
134+
135+
## Paso 2
136+
137+
`psql --username=freecodecamp --dbname=psql`
138+
```
139+
140+
Puedes obtener un historial de los comandos ejecutados en una terminal
141+
con el comando `history`.
142+
143+
## 6. Consideraciones para pedir tu Project Feedback
144+
145+
Antes de agendar tu Project Feedback con tu coach, asegúrate de:
146+
147+
* [ ] Completar los 2 tutoriales propuestos
148+
* [ ] Tener un fork con un entorno de Gitpod completo
149+
150+
## 7. Objetivos de aprendizaje
151+
152+
153+
Reflexiona y luego marca los objetivos que has llegado a entender y aplicar en tu proyecto. Piensa en eso al decidir tu estrategia de trabajo.
154+
155+
### SQL
156+
157+
- [ ] **Realizar operaciones básicas de consulta de una base de datos utilizando las cláusulas SELECT y WHERE**
158+
159+
<details><summary>Links</summary><p>
160+
161+
* [Querying a Table](https://www.postgresql.org/docs/current/tutorial-select.html)
162+
* [SELECT reference](https://www.postgresql.org/docs/16/sql-select.html)
163+
</p></details>
164+
165+
- [ ] **Crear una tabla con CREATE TABLE**
166+
167+
<details><summary>Links</summary><p>
168+
169+
* [SQL CREATE TABLE Statement - W3Schools](https://www.w3schools.com/sql/sql_create_table.asp)
170+
</p></details>
171+
172+
- [ ] **Agregar registros a un tabla con INSERT**
173+
174+
<details><summary>Links</summary><p>
175+
176+
* [Inserting Data - PostgreSQL Docs](https://www.postgresql.org/docs/current/dml-insert.html)
177+
</p></details>
178+
179+
- [ ] **Actualizar registros con UPDATE**
180+
181+
<details><summary>Links</summary><p>
182+
183+
* [Updating Data - PostgreSQL Docs](https://www.postgresql.org/docs/current/dml-update.html)
184+
</p></details>
185+
186+
- [ ] **Eliminar registros con DELETE**
187+
188+
<details><summary>Links</summary><p>
189+
190+
* [Deleting Data - PostgreSQL Docs](https://www.postgresql.org/docs/current/dml-delete.html)
191+
</p></details>
192+
193+
- [ ] **Claves primarias (Primary Keys)**
194+
195+
<details><summary>Links</summary><p>
196+
197+
* [Primary Keys - PostgreSQL Docs](https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-PRIMARY-KEYS)
198+
</p></details>
199+
200+
- [ ] **Claves externas (Foreign Keys)**
201+
202+
<details><summary>Links</summary><p>
203+
204+
* [Foreign Keys - PostgreSQL Docs](https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK)
205+
</p></details>
206+
207+
- [ ] **Cambiar la estrucutura de una tabla con ALTER TABLE**
208+
209+
<details><summary>Links</summary><p>
210+
211+
* [Modifying Tables - PostgreSQL Docs](https://www.postgresql.org/docs/current/ddl-alter.html)
212+
</p></details>
213+
214+
- [ ] **Comprender y utilizar cláusulas JOIN para combinar datos de múltiples tablas.**
215+
216+
<details><summary>Links</summary><p>
217+
218+
* [Joins Between Tables](https://www.postgresql.org/docs/current/tutorial-join.html)
219+
</p></details>
220+
221+
- [ ] **Condensar resultados con cláusulas de agrupación de datos como GROUP BY y HAVING**
222+
223+
<details><summary>Links</summary><p>
224+
225+
* [SELECT reference](https://www.postgresql.org/docs/16/sql-select.html)
226+
* [Aggregate Functions](https://www.postgresql.org/docs/current/tutorial-agg.html)
227+
</p></details>
228+
229+
- [ ] **Ordernar el resultado utilizando la cláusula ORDER BY**
230+
231+
<details><summary>Links</summary><p>
232+
233+
* [SELECT reference](https://www.postgresql.org/docs/16/sql-select.html)
234+
</p></details>
235+
236+
- [ ] **Trabajar con funciones de agregación como COUNT, SUM, AVG, MAX y MIN**
237+
238+
<details><summary>Links</summary><p>
239+
240+
* [Aggregate Functions](https://www.postgresql.org/docs/current/tutorial-agg.html)
241+
</p></details>
242+
243+
- [ ] **Restricciones sobre los campos de una tabla (Constraints)**
244+
245+
<details><summary>Links</summary><p>
246+
247+
* [Constraints - PostgreSQL Docs](https://www.postgresql.org/docs/current/ddl-constraints.html)
248+
</p></details>
249+
250+
### Máquinas Virtuales
251+
252+
- [ ] **Configurando máquinas virtuales**
253+
254+
<details><summary>Links</summary><p>
255+
256+
* [Creación de una máquina virtual - Oracle VM](https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vboxmanage-createvm.html)
257+
* [Configuración de una máquina virtual - Microsoft](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/quick-create-virtual-machine)
258+
</p></details>
259+
260+
### PostgreSQL
261+
262+
- [ ] **Setup de una nueva instancia**
263+
264+
<details><summary>Links</summary><p>
265+
266+
* [PostgreSQL Installation - PostgreSQL Docs](https://www.postgresql.org/download/)
267+
* [How To Install and Use PostgreSQL on Ubuntu - DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-20-04)
268+
</p></details>
269+
270+
- [ ] **Comandos**
271+
272+
<details><summary>Links</summary><p>
273+
274+
* [PostgreSQL psql Commands - PostgreSQL Docs](https://www.postgresql.org/docs/current/app-psql.html)
275+
* [Commonly Used PostgreSQL Commands - Verta.ai](https://www.verta.ai/resources/tutorials/database/postgresql-commands)
276+
</p></details>
277+
278+
- [ ] **Copias de seguridad (Backup)**
279+
280+
- [ ] **Restauración (Restore)**
281+
282+
### Shell
283+
284+
- [ ] **Shell Scripts**
285+
286+
<details><summary>Links</summary><p>
287+
288+
* [Shell Scripting Guide - LinuxCommand.org](http://linuxcommand.org/lc3_writing_shell_scripts.php)
289+
</p></details>
290+
291+
- [ ] **Permisos de archivos (File Permissions)**
292+
293+
<details><summary>Links</summary><p>
294+
295+
* [Understanding Linux File Permissions - DigitalOcean](https://www.digitalocean.com/community/tutorials/understanding-linux-file-permissions)
296+
* [File Permissions in Linux - Red Hat](https://www.redhat.com/sysadmin/linux-file-permissions)
297+
</p></details>

explaindev.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"project": "sql-student-database",
3+
"cohort": "DEV015"
4+
}

thumb.png

29.6 KB
Loading

0 commit comments

Comments
 (0)