Bases de Datos

En resumen...

Una Base de Datos es una colección de información, que persiste en el tiempo y podemos consultar

Ejemplos de Bases de Datos

  • Un cuaderno
  • Una agenda
  • Una biblioteca
  • Una planilla de cálculo
  • Local Storage?

Una Base de Datos nos permite almacenar la información de forma organizada, estructurada, ordenada y segura, de tal modo que sea fácil de acceder, gestionar y actualizar

Tipos de Bases de Datos

Hay muchos...

Pero ahora sólo nos interesan...

Gestor de Base de Datos

 

(Database Management System ó DBMS)

Son aplicaciones que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada

Adivinen qué...

También hay muchos...

Pero sólo nos interesan los RDBMS, como MySQL

Entonces, ¿qué es una Base de Datos relacional?

Una Base de Datos relacional almacena la información en tablas, que se relacionan entre sí

Algo así como un Excel, pero más pro

Ejemplo de tabla en HD

Las tablas tienen claves primarias (PK, Primary Key) que identifican unívocamente a cada elemento (fila) y claves foráneas (FK, Foreign Key) que las relacionan con otras tablas

Una Base de Datos Relacional está compuesta por 1 o más tablas: es el bloque fundamental

Cuando definimos las tablas que componen nuestra DB, estamos imponiendo reglas sobre los datos que almacenamos

El DBMS (en nuestro caso, MySQL), se va a encargar de hacer cumplir esas reglas (ej: no podemos ingresar datos no numéricos en una columna que definimos de tipo INT)

Volviendo a nuestra API de Espotifai

id name
1 The Voidz
2 Name The Band
3 Wild Freedom
4 Medusa Box
5 Sin Rencores

artists

PK

id name artist_id year
1 Virtue 1 2018
2 Tyranny 1 2014
3 ​Summer Lush 2 ​2016
4 ​Just Add Sugar 2 2012
5 ​Set the Night on Fire 3 2017
6 ​Nothing Behind All Of These Masks 4 ​2017
7 Pay For It 4 2015
8 Juego Sucio ​5 2014

albums

PK

FK

Claves sintéticas

(ó subrogadas) vs naturales

Tipos de Datos

id name artist_id year
1 Virtue 1 2018
2 Tyranny 1 2014
3 ​Summer Lush 2 ​2016
4 ​Just Add Sugar 2 2012
5 ​Set the Night on Fire 3 2017
6 ​Nothing Behind All Of These Masks 4 ​2017
7 Pay For It 4 2015
8 Juego Sucio ​5 2014

albums

INT

VARCHAR(100)

INT

INT

ABRO PARÉNTESIS

(

¿Qué lenguajes vimos hasta ahora?

HTML

CSS

JavaScript

CIERRO PARÉNTESIS

)

Necesitamos otro tipo de lenguajes para comunicarnos con una Base de Datos

A través de estos lenguajes, podemos consultar y hacer operaciones en una Base de Datos

Por eso se conocen como Lenguajes de Consulta

Para Bases de Datos Relacionales, vamos a utilizar un lenguaje en particular...

SQL

Structured Query Language

ese-cu-ele?

sicuel?

es-quiu-el?

🤔

eze-qui-el?

(Yo le voy a decir sicuel)

A diferencia de JavaScript, SQL es un lenguaje declarativo

Consultas a la Base de Datos

Para realizar consultas, utilizamos las queries

Entonces... ¿qué les parece si practicamos un poco?

Tutorial: SQLBolt

Estructura de una consulta

SELECT [column1, column2, etc]

FROM [table]

WHERE [condition1, condition2, etc]

ORDER BY [column_name, ASC/DESC]

LIMIT [from, size]

Ejercicios

SELECT

Text

SELECT
    <nombreColumna>
FROM
    <nombreTabla>

¿Y si quiero traer todas las columnas de una tabla, tengo que listar una por una?

No.

Text

SELECT
    *
FROM
    <nombreTabla>

WHERE

Nos permite filtrar

Text

SELECT 
    column1, column2, ...
FROM 
    table_name
WHERE 
    condition;

Ejercicio #1

Ejercicio #2

INSERT

Text

INSERT INTO 
    table_name (column1, column2, column3, ...)
VALUES 
    (value1, value2, value3, ...);

Ejercicio #3

ORDER BY

Text

SELECT 
    column1, column2, ...
FROM 
    table_name
ORDER BY 
    column1, column2, ... ASC|DESC;

Ejercicio #4

Ejercicio #5

Ejercicio #6

SELECT DISTINCT

Text

SELECT DISTINCT 
    column1, column2, ...
FROM 
    table_name;

Ejercicio #7

SUM

Text

SELECT SUM(numeric_column_name)
FROM 
    table_name
WHERE 
    condition;

Ejercicio #8

Intro a DBs (MySQL), Parte 1

By Nicolás Quiroz

Intro a DBs (MySQL), Parte 1

  • 231