Bienvenida conceptos básicos y contexto histórico de las Bases de Datos
Bienvenida conceptos básicos y contexto histórico de las Bases de Datos
Playground: tu primera consulta en bases de datos
Introducción a las bases de datos relacionales
Qué son entidades y atributos
Historia de las bases de datos relacionales
Entidades de Platzi Blog
Relaciones
Múltiples muchos
Diagrama ER
Diagrama Físico: tipos de datos y constraints
Diagrama Físico: normalización
Formas normales en Bases de Datos relacionales
Diagrama Físico: normalizando Platziblog
RDBMS (MySQL) o cómo hacer lo anterior de manera práctica
¿Qué es RDB y RDBMS?
Instalación local de un RDBMS (Windows)
Instalación local de un RDBMS (Mac)
Instalación local de un RDBMS (Ubuntu)
Clientes gráficos
Servicios administrados
SQL hasta en la sopa
Historia de SQL
DDL create
Playground: CREATE TABLE
CREATE VIEW y DDL ALTER
DDL drop
Playground: VIEW, ALTER y DROP en SQL
DML
Playground: CRUD con SQL
¿Qué tan standard es SQL?
Creando Platziblog: tablas independientes
Creando Platziblog: tablas dependientes
Creando Platziblog: tablas transitivas
Consultas a una base de datos
¿Por qué las consultas son tan importantes?
Estructura básica de un Query
SELECT
Playground: SELECT en SQL
FROM y SQL JOINs
Utilizando la sentencia FROM
Playground: FROM y LEFT JOIN en SQL
WHERE
Utilizando la sentencia WHERE nulo y no nulo
Playground: Filtrando Datos con WHERE
GROUP BY
ORDER BY y HAVING
Playground: Agrupamiento y Ordenamiento de Datos
El interminable agujero de conejo (Nested queries)
¿Cómo convertir una pregunta en un query SQL?
Preguntándole a la base de datos
Consultando PlatziBlog
Playground: Prueba Final con PlatziBlog
Introducción a la bases de datos NO relacionales
¿Qué son y cuáles son los tipos de bases de datos no relacionales?
Servicios administrados y jerarquía de datos
Manejo de modelos de datos en bases de datos no relacionales
Top level collection con Firebase
Creando y borrando documentos en Firestore
Colecciones vs subcolecciones
Recreando Platziblog
Construyendo Platziblog en Firestore
Proyecto final: transformando tu proyecto en una db no relacional
Bases de datos en la vida real
Bases de datos en la vida real
Big Data
Data warehouse
Data mining
ETL
Business intelligence
Machine Learning
Data Science
¿Por qué aprender bases de datos hoy?
Bonus
Bases de datos relacionales vs no relacionales
Elegir una base de datos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Está puede ser la sentencia ¡más peligrosa! (????), sobre todo cuando somos principiantes. Básicamente borra o desaparece de nuestra base de datos algún elemento.
Aportes 247
Preguntas 31
Me sentí como cuando la profe borraba la pizarra y yo borraba mi cuaderno jajaja
Es recomendable hacer respaldos antes de cualquier cambio en el código de la base de datos, me he salvado de fallos masivos gracias a tener esa consideración siempre.
Si un cafe en la mañana no te despierta… intenta correr “DROP DATABASE” en produccion y vas a ver como hasta tus jefes los dejas sin dormir por dias. Jejejejeje (es solo broma, no lo hagan!)
AVISO IMPORTANTE
No borres tu schema, en la siguiente clase la vas a necesitar 😉
En ese momento cell sintió el verdadero terror !!!
Tu que sabes de tomar riesgos si nunca usaste Drop!! Jajajaja
será este el fin del hombre araña!?
Les dejo un resumen desde el inicio de DDL por si a alguien le es de utilidad!
DDL
Data definition languaje
Nos ayuda a crear la estructura, cimientos, relaciones de la base de datos.
3 grandes comandos:
Create: base de datos o scheema, vista, tabla.
Alter: alterar o modificar alguna de estas entidades, se puede agregar o quitar columnas a tablas por ejemplo.
Drop: Soltar, dejar ir, es la sentencia para borrar.
_Objetos a manipular con DDL _
Bases de datos (database) Repositorio de datos del proyecto
Table Proyección o traducción a SQL de entidad de relación o diagrama físico
View Vistas, significa que lo que estas ofreciendo la proyección de la base de datos de forma que son entendibles para alguien. El select se puede por ejemplo reservar en una vista.
Creamos una tabla en MySQL y traduce automáticamente las cosas a SQL, estas funciones solo están disponibles en herramientas visuales de diseño de bases de datos. En otros casos se debería escribir en lenguaje SQL los comandos para accionar.
Ejemplo de creación de tabla:
CREATE TABLE platzi_blog
.people
(
person_id
INT NOT NULL AUTO_INCREMENT,
last_name
VARCHAR(255) NULL,
fist_name
VARCHAR(255) NULL,
address
VARCHAR(255) NULL,
city
VARCHAR(255) NULL,
PRIMARY KEY (person_id
))
DEFAULT CHARACTER SET = utf8;
Views
Las views lo que hacen es tomar datos de la base de datos ponerlas en una forma presentable y convertirlas en algo que podamos consultar recurrentemente.
Se le asigna un nombre:
Create View v_brasil_customers (se le pone “V” como convención para entender que es una vista)
Para sacar datos de tabla en MySQL se da botón derecho en la tabla y select Rows - limit 1000
Alter table
Alter table: agregar una columna
ALTER TABLE platzi_blog
.people
ADD COLUMN date_of_birth
DATETIME NULL AFTER city
;
Alter table: cambiar tipo de datos de una columna
ALTER TABLE platzi_blog
.people
CHANGE COLUMN date_of_birth
date_of_birth
DATE NULL DEFAULT NULL ;
Alter table: borrar columna de una tabla
ALTER TABLE platzi_blog
.people
DROP COLUMN date_of_birth
;
DROP
DROP TABLE platzi_blog
.people
; (borra la tabla, en MySQL basta con dar boton derecho y poner drop table)
Esta instrucción debieron llamarla DANGER DROP
Es bueno ver el platzi live que realizo Freddy sobre la metida de pata que tuvo la gente de gitlab cuando borraron la base de datos todo el problema que nos causo.
CREATE TABLE: Crear una nueva tabla.
ALTER TABLE: Modificar una tabla ya creada.
DROP TABLE: Borrar una tabla ya existente.
Un gran poder conlleva una gran responsabilidad.
Desde la terminal

A tener cuidado con DROP entonces
A los que nos gusta mas postresql
pg_dump -d nombrebasedatos -f nombrearchivo
el nombre del archivo puede ser un path completo ~/respaldos/backup.sql
Este curso más que una teoría general de las bases de datos y modelos de bases de datos, es una mini intro de la teoría general mezclada con una mini intro de SQL…
Creo que un curso que se llama Fundamentos de bases de datos debería de ser una visión de la Teoría General y luego para aprender SQL ir al curso especifico de SQL
menos mal My SQL Workbench sabe que somos medio p3nd3jos y nos avisa antes de que nos quedemos sin trabajo en nuestro primer dia jajaja… GRACIASS My SQL Workbench
Hice este resumen de los comandos DDL por si a alguien le interesa o le es de ayuda.
https://brazen-leader-7ac.notion.site/Useful-Commands-for-MySQL-1fda4503749c4e13bbb91971e0a9a3a4
😎 Les dejo mi aporte con unas cuantas lineas adicionales para que puedan eliminar con “DROP” algunos campos más específicos con su explicación.
✅El comando DDL (Data Definition Language) “DROP” se utiliza para eliminar objetos de base de datos, como tablas, vistas, índices, procedimientos almacenados y disparadores. 🛑 Una vez que se ha eliminado un objeto, no se puede recuperar, por lo que es importante tener precaución al usar este comando.🛑
Aquí hay algunos ejemplos de código que ilustran cómo usar el comando DROP:
DROP TABLE orders;
DROP INDEX ix_customer_id ON customers;
DROP PROCEDURE get_employee_info;
DROP TRIGGER update_employee_log ON employees;
Salu2 platzinautas 🏄🏽♂️
- Apagar
SET IDENTITY_INSERT NombreTabla OFF;
- Encender
SET IDENTITY_INSERT NombreTabla ON;
Mucha mas informacio en este sitio web 😃
diferencia entre mysql y sql
SQL es un lenguaje para operar con bases de datos y MySQL es un sistema de gestión de bases de datos. Es la principal diferencia entre uno y otro. Ambos conceptos están estrechamente ligados: MySQL es un software que gestiona bases de datos cuyo lenguaje de consulta es SQL
No había sentido tanta adrenalina antes, como la que sentí en esta clase jajaja.
Drop es como usar el guantelete de Thanos en tu db jajajaja
En otro universo paralelo:
mysql -u thanos -p "i_am_inevitable";
GRANT ALL PRIVILEGES ON *.* TO 'thanos'@'%';
DROP DATABASE universe;
Plot twist: Thanos era el admin.
Existen dos formas de borrar con el “temible” DROP o usando DELETE que este realiza un borrado lógico y es posible recuperar todo lo borrado yendo a una tabla interna de SQL que se llama deleted.
Importantísimo conocer de estas estructuras para evitar posibles inconvenientes en nuestros desarrollos futuros, una clase corta pero concisa y concreta al punto de lo que se debe saber
Codigo de la clase
DROP TABLE PEOPLE;
DROP VIEW PLATZI_PEOPLE;
DROP DATABASE DBZBLOG;
las view se autoactualizan? si le meto una condición a una view y luego agrego un nuevo dato que cumpla con la condición, me va a aparecer en la view?
DDL (Data Definition Language) es uno de los grandes sublenguajes de SQL que nos ayuda a crear la estructura de una base de datos.
Existen 3 grandes comandos:
. Create: Nos ayuda a crear bases de datos, tablas, vistas, índices, etc.
. Alter: Ayuda a alterar o modificar entidades.
. Drop: Nos ayuda a borrar. Hay que tener cuidado al utilizarlo.
Objetos que se manipularan con el lenguaje DDL:
. Database (base de datos)
. Table (tabla) son la traducción a SQL de las entidades
. View (vista) ofrecen la proyección de los datos de la base de datos de forma entendible.
.
DDL CREATE
-- Crea la base de datos db_platzi_blog
CREATE DATABASE db_platzi_blog;
-- Usa la base de datos
USE db_platzi_blog;
-- Crea la tabla tb_people
CREATE TABLE tb_people (
person_id INT NOT NULL AUTO_INCREMENT,
first_name VARCHAR(255) NULL,
last_name VARCHAR(255) NULL,
address VARCHAR(255) NULL,
city VARCHAR(255) NULL,
PRIMARY KEY (person_id)
);
-- Crea la vista vw_lima_people
CREATE OR REPLACE VIEW vw_lima_people AS
SELECT * FROM tb_people
WHERE city = "Lima";
.
DDL ALTER
-- Agrega una columna date_of_birth
ALTER TABLE tb_people
ADD COLUMN date_of_birth VARCHAR(30) NULL AFTER city;
-- Modifica la columna date_of_birth
ALTER TABLE tb_people
MODIFY COLUMN date_of_birth DATETIME NULL DEFAULT NULL;
-- Borra la columna date_of_birth
ALTER TABLE tb_people
DROP COLUMN date_of_birth;
.
DDL DROP
-- Borra la tabla tb_people
DROP TABLE tb_people;
-- Borra la base de datos db_platzi_blog
DROP DATABASE db_platzi_blog;
Este fue el trágico final de nuestra Database
Gracias, Israel. Me gusta tu forma de enseñar
Extreeeemoo!
Comando drop debe utilizarse poco y antes de hacerlo recomiendo generar un backu para poder hacer roll back.
Hay alguna forma de recuperala?
Es recomendable hacer un backup de la base de datos por si se hace un drop sin querer.
Eres uno de los mejores maestros de Platzi amigo!!! 😮
Excelente clase
El DDL permite crear, modificar o borrar los objetos tales como: esquemas o bases de datos, tablas o vistas
Borrar la base de todos es todo un deporte extremo! 😅
Que descreste de profesor y de curso.El mejor que he tomado en la WEB
TRUNCATE TABLE name para vaciar la tabla…no un DROP jajaja
Copia de seguridad en PostgreSQL con pg_dump:
pg_dump -h localhost -p 5432 -U postgres -F p -b -f backup.sql platziblog
No te olvides de poner el WHERE …
El Ctrl + z no funciona? no hay forma de restaurarla?
OJO GENTE OOOOOOOJOOOOOOO CON DROP POR QUE MUERDE XD
 creo que es un breve recordatorio de que debes tener mucho cuidado en un ambiente de produccion de una empresa, ya que puedes terminar con esa sentencia pero no sentencia DDL.
Hay manera de revertir una vez que hemos usado DROP para borrar una base de datos o tabla ? Como podría hacer si quiero volver a recuperar la información, cual sería la forma de reconstruirla ¿? si alguien sabe le agradecería.
Que genial esta clase. Ayuda mucho a saber como funcionan las sentencias y como trabajar con bases de datos. Muy lindo el SQL.
me parecio interesante, que cuando se agrego el campo date_of_birthday , y revise nuevamente la vista y el resultado es que no toma los nuevos cambios que se haya hecho en la tabla people.
Yo creo que el profe borro una base de datos un día y desde ahí tiene pesadillas con DROP
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?