Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

1

Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

Introducción a las bases de datos relacionales

2

Historia de las bases de datos relacionales

3

Entidades y atributos

4

Entidades de Platzi Blog

5

Relaciones

6

Múltiples muchos

7

Diagrama ER

8

Diagrama Físico: tipos de datos y constraints

9

Diagrama Físico: normalización

10

Formas normales en Bases de Datos relacionales

11

Diagrama Físico: normalizando Platziblog

RDBMS (MySQL) o cómo hacer lo anterior de manera práctica

12

¿Qué es RDB y RDBMS?

13

Instalación local de un RDBMS (Windows)

14

Instalación local de un RDBMS (Mac)

15

Instalación local de un RDBMS (Ubuntu)

16

Clientes gráficos

17

Servicios administrados

SQL hasta en la sopa

18

Historia de SQL

19

DDL create

20

CREATE VIEW y DDL ALTER

21

DDL drop

22

DML

23

¿Qué tan standard es SQL?

24

Creando Platziblog: tablas independientes

25

Creando Platziblog: tablas dependientes

26

Creando Platziblog: tablas transitivas

Consultas a una base de datos

27

¿Por qué las consultas son tan importantes?

28

Estructura básica de un Query

29

SELECT

30

FROM

31

Utilizando la sentencia FROM

32

WHERE

33

Utilizando la sentencia WHERE nulo y no nulo

34

GROUP BY

35

ORDER BY y HAVING

36

El interminable agujero de conejo (Nested queries)

37

¿Cómo convertir una pregunta en un query SQL?

38

Preguntándole a la base de datos

39

Consultando PlatziBlog

Introducción a la bases de datos NO relacionales

40

¿Qué son y cuáles son los tipos de bases de datos no relacionales?

41

Servicios administrados y jerarquía de datos

Manejo de modelos de datos en bases de datos no relacionales

42

Top level collection con Firebase

43

Creando y borrando documentos en Firestore

44

Colecciones vs subcolecciones

45

Recreando Platziblog

46

Construyendo Platziblog en Firestore

47

Proyecto final: transformando tu proyecto en una db no relacional

Bases de datos en la vida real

48

Bases de datos en la vida real

49

Big Data

50

Data warehouse

51

Data mining

52

ETL

53

Business intelligence

54

Machine Learning

55

Data Science

56

¿Por qué aprender bases de datos hoy?

Bonus

57

Bases de datos relacionales vs no relacionales

58

Elegir una base de datos

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

CREATE VIEW y DDL ALTER

20/58
Recursos

Aportes 217

Preguntas 62

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Para los que quieren realizar el ejercicio de vista, vayan a la pestaña Query 1 y ejecuten el siguiente código.

INSERT INTO `platziblog`.`people` (`person_id`, `last_name`, `first_name`, `address`, `city`) 
VALUES ('1', 'Vásquez', 'Israel', 'Calle Famosa Num 1', 'México'),
	       ('2', 'Hernández', 'Mónica', 'Reforma 222', 'México'),
	       ('3', 'Alanis', 'Edgar', 'Central 1', 'Monterrey');

Acuerdate!
Las tablas = Entidades…
Las columnas = Atributos…

Las vista se usan como una capa de seguridad dentro de las organizaciones. por ejemplo: una tabla trabajador tiene todos los datos de una persona (numero de identificación, numero telefonico, dirección, y otros datos que pueden ser sensibles), el administrador de la base de datos lo que hace es crear vistas solo con los datos que son relevantes para consultas en las distintas areas de la empresas sin exponer información de mas.

Ejercicio

DELETE FROM people; -- Elimina la información dentro de la tabla.
ALTER TABLE people AUTO_INCREMENT = 1 ; -- Reinicia el autoincrement a 1
INSERT INTO people (last_name,first_name,address,city)VALUES('Vázquez', 'Israel','Calle Famosa Num 1','México'),
('Hernández','Mónica','Reforma 222','México'),
('Alanis','Edgar','Central 1', 'Monterrey'); -- Insertar datos a la tabla

CREATE OR REPLACE VIEW platzi_people AS -- Crear vista
SELECT * FROM people;

select * from platzi_people; -- consultar vista

ALTER TABLE people ADD COLUMN date_of_birth DATETIME NULL AFTER city; -- Agregar columna
DESCRIBE people;
ALTER TABLE people DROP COLUMN date_of_birth; -- Eliminar columna
DESCRIBE people;

Si tienes un error al querer hacer una sentencia UPDATE o DELETE ejecuta
SET SQL_SAFE_UPDATES=0;

Para prácticar con lo datos:

INSERT INTO people (last_name, first_name, address, city) 
VALUES ("Vásquez", "Israel", "Calle Famosa Num 1", "México"),
		("Hernández", "Mónica", "Reforma 222", "México"),
        ("Alanís", "Edgar", "Central 1", "Monterrey");

**Les comparto mis apuntes ❤️ **

Para quienes quieran agregar datos a su base de datos aquí les dejo el Query:

INSERT INTO platziblog.people
(
last_name,
first_name,
address,
city)
VALUES
(
“Santamaría”,
“Daniel”,
“Calle 32”,
“Francia”);

**Views **
- Toman datos de la base de datos, las ordenan de manera presentable, y las convierten en algo consultable recurrentemente.
- Se crea con _CREATE VIEW _ (nombreDeLaVista) AS
SELECT… (por ej. FROM platziblog.people, es decir de cada persona de platziblog -> hacer algo, por ejemplo, trabajar con un atributo, o filtrarla, etc.).
- En el Workbench, se hace click derecho en Views -> Create View, y luego va la sentencia de arriba.
Alter
- ALTER TABLE: nos permite modificar nuestra tabla. Para hacerlo en el Workbench, luego de crear la tabla, hacemos click derecho en ella -> Alter Table. Alli podremos añadir o quitar atributos, constraints, etc.
Drop
- Nos permite eliminar datos. En el Workbench, para eliminar una columna, la seleccionamos con el click derecho -> Delete selected.
- Para eliminar una tabla: DROP TABLE (nombreDeLaTabla);
- Para eliminar una base de datos: DROP DATABASE (nombreDeLaBdD);

  • Podemos observar que el Workbench se encarga de escribir el codigo por nosotros una vez dadas las instrucciones.

Apuntes:
Una vista es una consulta presentada mediante la estructura de una tabla (filas y columnas) y en ellas solo se almacena la definición, mas no los datos. Una vista esta especificada a través de una consulta, es decir, un SELECT.

Para los que usan mysql desde la consola y necesitan ayuda sobre un comando, simplemente escriben:

help nombre_comando

Les mostrará toda la información del comando consultado, incluido algunos ejemplos.

Nota: Esta en inglés la documentación

Codigo de la clase

CREATE  OR REPLACE VIEW platzi_people AS 
SELECT * FROM people;
select * from platzi_people;
ALTER TABLE people ADD COLUMN date_of_birth DATETIME NULL AFTER city; 
SELECT * FROM people;
DESCRIBE people;
ALTER TABLE people DROP COLUMN date_of_birth; 
DESCRIBE people;
SELECT * FROM people;

Una vista es una tabla virtual basada en el resultado de una consulta (SELECT) a una tabla. Cada vez que un usuario pregunta o consulta una vista, el sistema de base de datos, actualiza los datos de la vista, para mostrar siempre datos reales.

Script para que creen las personas:

INSERT INTO `platziblog`.`people` (`last_name`, `first_name`, `adress`, `city`) VALUES ('Vázquez', 'Isrrael', 'Calle Famosa Num 1', 'México');
INSERT INTO `platziblog`.`people` (`last_name`, `first_name`, `adress`, `city`) VALUES ('Hernandéz', 'Mónica', 'Reforma 222', 'México');
INSERT INTO `platziblog`.`people` (`last_name`, `first_name`, `adress`, `city`) VALUES ('Alanís', 'Edgar', 'Central 1', 'Monterrey');```

aporte sobre la clase…

/*utilizacion de alter*/

/*insercion de colomna a la tabla*/
alter table people 
add column date_of_birth datetime null after city;

/*altera el tipo de dato de una columna*/
ALTER TABLE platziblog.people 
CHANGE COLUMN date_of_birth date_of_birth VARCHAR(30) NULL DEFAULT NULL;

/*elimina la columna*/
ALTER TABLE platziblog.people 
DROP COLUMN date_of_birth;```

Para insertar datos a la tabla people

insert into people(last_name, first_name, adress, city) values 
('Perez', 'Pepito', 'Calle 1', 'Venezuela');

No se porque me tarde tanto en iniciar a aprender sobre base de datos.

Views o vistas
Tienen que ver con un concepto muy útil y utilizaremos la cláusula SELECT.

Las vistas lo que hacen; es tomar datos de la BBDD, los hacen presentables, y los convierten en algo que podamos consultar frecuentemente.

Código por comando para crear una vista.

“ CREATE VIEW (seguido del nombre que le queremos asignar a nuestra view, que usualmente por convención, empieza por “v”, podríamos considerarlo una buena práctica) v_brasil_customers AS (en este caso el nombre de nuestra vista indica que nos mostrará los clientes de Brasil) (A continuación la sentencia para seleccionar los elementos que queremos extraer de nuestra BBDD) SELECT customer_name, (Nombre del cliente que puede ser un campo previo dentro de una tabla que se llama “custormers” o clientes) contact_name (un nombre de contacto, que también es un campo, de una tabla, (Si alguien se pregunta por qué dos nombres, tal vez es porque hace parte de las políticas de la empresa; que el nombre real, sea diferente del que se utiliza para referirse a él)
FROM (Clausula SQL que indica desde que tabla de la BBDD se extraen los datos) customers
WHERE (Otra clausula e indica una condición, que en este caso sería que solo queremos que nos muestre los clientes de Brasil) country = “Brasil”; ”

EN SINTESIS
“ CREATE VIEW v_brasil_customers AS
SELECT customers_name, contact_name
FROM customers
WHERE country = “Brasil” ; ”

P.D: Desde mi experiencia los commandos normalmente se escribend e forma lineal, sin embargo supongo que acá se pone de manera jerarquizada (unos arriba de otros por cuestiones de facilidad)

Para seguir la convención debería haber sido ‘v_platzi_people’

Hola, utilizando las sintaxis comentadas aquí para agregar valores a mi tabla, el sistema me mostraba un error pero no sabía cual era.
Así que voy a pasar la sintaxis que me funciono.

INSERT INTO`people` (`person_id`, `last_name`, `first_name`, `address`, `city`) 
VALUES ('1', 'Vasquez', 'Israel', 'Calle Famosa,1', 'Mexico');

La CREATE VIEWdeclaración crea una nueva vista, o reemplaza una vista existente si se proporciona la OR REPLACEcláusula. Si la vista no existe, CREATE OR REPLACE VIEWes lo mismo que CREATE VIEW. Si la vista existe, la CREATE OR REPLACE VIEWreemplaza.

Para obtener información sobre las restricciones en el uso de la vista, consulte la Sección 24.9, “Restricciones en las vistas” .

La select_statementes una SELECTdeclaración que proporciona la definición de la vista. (Al seleccionar de la vista, se selecciona, en efecto, el uso de la SELECT declaración). Se select_statementpuede seleccionar de las tablas base, otras vistas. A partir de MySQL 8.0.19, la SELECTdeclaración puede usar una VALUESdeclaración como fuente, o puede reemplazarse por una TABLE declaración, como con CREATE TABLE … SELECT.

La definición de vista está " congelada " en el momento de la creación y no se ve afectada por los cambios posteriores en las definiciones de las tablas subyacentes. Por ejemplo, si una vista se define como SELECT *en una tabla, las nuevas columnas agregadas a la tabla más adelante no se convierten en parte de la vista, y las columnas que se caen de la tabla darán lugar a un error al seleccionar desde la vista.

Son interesante el uso de las vistas y pueden ser muy útiles, sin embargo, me parece que hay que tener cuidado en no abusar de ellas, me parece que puede darse para que existan muchas duplicaciones de código, además, si cambia alguna regla de negocio, pueden quedar desactualizadas las vistas. En un lugar donde trabajé tenían muchas vistas, y era una pesadilla.

De todas maneras, me parece interesante aprender bien sobre el tema!

  • Views > toman datos (de la DB) y los ponen en forma presentable > los convierte en algo que se pueda consultar de manera recurrente.
  • Por convención, se le pone “v” al inicio del nombre de la vista a ser creada, para diferenciarla de las tablas.
  • Uno de los Data Types que utilicé para mi tabla fue “Decimal”. hasta el momento no había visto que este se compone de 2 argumentos y me tuvo unos minutos dando vueltas. Si alguien está usando también este DT y poco lo conoce, este dato le puede ser útil: DECIMAL

No comprendo por que se salta los pasos, íbamos a la par pero mágicamente ya hay datos creados, al menos yo que soy novatos quede completamente perdido

Que excelente profesor! estoy aprendiendo un montón con todo el curso 😄

Muy bien explicado, pero seria bueno que muestren como ingresar datos y poder realizar las practicas con los datos

para insertar datos a la tabla

insert into <nombre de tabla> (columna1, columna2, columna3) values ('valor1', 'valor2', 'valor3');

COLUMNA1 = VALOR1
COLUMNA2 = VALOR2
COLUMNA3 = VALOR3

insert into people (last_name, first_name, address, city) values ('Pérez', 'Juan', 'Reforma 1080', 'CDMX');
insert into people (last_name, first_name, address, city) values ('López', 'Pedro', 'Revolución 900', 'CDMX');
insert into people (last_name, first_name, address, city) values ('Medina', 'Laura', 'Insurgentes 1300', 'CDMX');

y para seleccionar la tabla

select * from people

En una empresa en la que trabajé se usaban las vistas para consultar datos de schemas diferentes. Por ejemplo: existían los schemas: Contabilidad y Tesorería y dentro de Tesorería había una vista a una tabla del schema de Contabilidad.

¿Esto esta bien?

hola! parece que no me dejo hacer la instalación bien. no me deja abrir ese panel.

En vez de usar “Alter Column” use “Modify Column”, por que la primera no me la dejo usar.

Es decir, en resumen, un View sirve para resumir una consulta que hagamos de manera recurrente.

La herramienta workbench facilita el trabajo

me parece importante la convención de iniciar el nombre de una vista con v, aunque muchos manejadores de bases de datos te indican cuando se trata de una vista, que exista una nomenclatura genera buenas prácticas.

crear vistas en un proyecto que tuve en la universidad hubiera funcionado de maravilla ya que algunas tablas que yo mostraba con HTML5 se hacian tomando informacion de varias tablas

<+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| person_id  | int          | NO   | PRI | NULL    | auto_increment |
| last_name  | varchar(255) | YES  |     | NULL    |                |
| firts_name | varchar(255) | YES  |     | NULL    |                |
| address    | varchar(255) | YES  |     | NULL    |                |
| city       | varchar(255) | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+>

Realmente es increíble como explica, en serio es un gran curso 😁

Hasta ahora ha sido de gran ayuda el contenido de este curso, de pura casualidad en un proyecto de hace 3 meses use workbench sin haberlo usado nunca antes, de manera intuitiva saque adelante el tema de la base de datos, pero ya con la explicacion a detalle que maravilla!

Pueden utilizar estos datos para llenar su tabla, lo copian y lo pegan en la pestaña Query 1 y le dan en el rayo que es ejecutar.

INSERT INTO `platziblog`.`people` (`person_id`, `last_name`, `first_name`, `address`, `city`) 
VALUES ('1', 'Zuluaga', 'Sebastian', 'Calle 1 #20.03', 'Manizales'),
	       ('2', 'Lopez', 'Etefania', 'cl 17#7-21', 'pereira'),
	       ('3', 'Angulo', 'Andres', 'cr2 #19-04', 'Armenia');

Me hubiese gustado que el flujo de aprendizaje vaya primero en meter datos a nuestras tablas y luego con la idea de cómo deseamos obtener las vistas de esta tabla pasar aprender create view

CREATE SCHEMA ‘platziblog’ DEFAULT CHARACTER SET utf8;
SCHEMA = DATABASE

CREATE TABLE `platziblog`.`people` (
  `person_id` INT NOT NULL AUTO_INCREMENT,
  `last_name` VARCHAR(255) NULL,
  `first_name` VARCHAR(255) NULL,
  `address` VARCHAR(255) NULL,
  `city` VARCHAR(255) NULL,
  PRIMARY KEY (`person_id`));

USE `platziblog`;
CREATE  OR REPLACE VIEW `v_plazi_people` AS
SELECT * FROM platziblog.people;
ALTER TABLE `platziblog`.`people` 
ADD COLUMN `date_of_birth` DATETIME NULL AFTER `city`;

ALTER TABLE `platziblog`.`people` 
CHANGE COLUMN `date_of_birth` `date_of_birth` VARCHAR(30) NULL DEFAULT NULL ;

ALTER TABLE `platziblog`.`people` 
DROP COLUMN `date_of_birth`;

Aquí acabé de hacer la consulta que se nos muestra en el material de apoyo

CREATE VIEW `v_costumers_mexico` AS
SELECT last_name, first_name
FROM platzi_test.people
WHERE city = "México"```

Para vistas: v[Nombre]
Para tablas: t
[nombre]
Para rpocedures: p_[nombre]

Suelo utilizar mucho esas convenciones.

La secuencia VIEW sirve para generar informes como Access, donde la información queda almacena y se puede consultar más adelante sin la necesidad de hacer una consulta.

DDL alter
Los Views toman datos de la base de datos, los hacen presentables y los convierten en algo que podamos consultar de manera recurrente.

Views:
Toman datos de una o varias tablas de la base de datos y crean una presentación con la información relevante a presentar

Sintaxis de creación de vistas:

CRATE OR REPLACE VIEW 'v_<nombre de vista>' AS .... (SELECT FROM WHERE)

Alter:
Sintaxis para alterar (modificar) una tabla (agregar columna):

ALTER TABLE '<nombre_base_datos>'.'<nombre_tabla>'
ADD COLUMN <nombre_columna> <constrains_columna> AFTER <columna_referencia>;

DROP
Ejemplo eliminar columna

ALTER TABLE '<nombre_base_datos>'.'<nombre_tabla>'
DROP COLUMN <nombre_columna> 

Cualquier feedback es bienvenido

Para los que quieran hacer el ejercicio, copien esto en query1

INSERT INTO `platziblog`.`people` (`person_id`, `last_name`, `first_name`, `address`, `city`) 
VALUES ('1', 'Vásquez', 'Israel', 'Calle Famosa Num 1', 'México'),
	       ('2', 'Hernández', 'Mónica', 'Reforma 222', 'México'),
	       ('3', 'Alanis', 'Edgar', 'Central 1', 'Monterrey');

No se si a todos les paso, pero el alterar una columna por medio de codigo no me funciona con el alter column sino change column

ALTER TABLE platziblog.people
CHANGE COLUMN date_of_brith año_nacimiento datetime;

Básicamente un View es un shorthand para un código muy largo, es decir, podemos escribir un código SQL muy largo y para no estarlo repitiendo podemos guardarlo en un View, la ventaja de esto es que ejecutando nuestro View podemos replicar esa sentencia SQL guardada:D!

Y esto es algo que me gusta de los clientes gráficos, te permiten hacer revisiones y simular comportamientos antes de ejecutar realmente la consulta, de esa manera nos evitamos hacer un drop por error jaja

VIEW sirve para representar los datos que necesitamos, hacer un consulta especifica y se identifica las vistas con una v al principio del nombre.

Para los que no les aparezca la nueva tabla y vista al crearla. Den en la misma click derecho y refrescar.

MySQL Workbench facilita mucho la creación y modificación de objetos en las bases de datos MySQL.

Clase ALTER empieza en el minuto 6:10.

crear una vista

CREATE OR REPLACE VIEW v_people AS SELECT * FROM PEOPLE;

Nota: si no aparece la vista al momento de crearla, dar clic derecho sobre la DB (Data Base) y dar clic sobre refresh all (actualizar) para que se muestren los cambios.

para tener en cuenta: los datos de las columnas se agregan con el comando INSERT INTO “(nombre de la base de datos)”. “(nombre de la tabla)”. etc

Hola. Ojala en los siguientes vídeos, se creara todo lo que estamos viendo por medio de código SQL.

seria genial ejecutarlo mediante codigo sql y no con interfaz!😄

Las vitas pueden ser, vistas normales y vistas materializadas. https://www.n4gash.com/2011/diferencias-vista-oracle-vista-materializada-view/

Todo es muy sencillo gráficamente.

NOTA: Estructura para crear vistas

CREAT VIEW nombre_vista AS
Select column1,column2
FROM tabla1
WHERE column3>0;

alter table people
add column date_of_birth datetime null after city;

Si se preguntan para que es el AFTER; es una acción a realizar después una operación como insertar, actualizar, eliminar.

CREATE VIEW Y DDL ALTER

Tienen que ver la toma de datos de la DB y ponerlos de una forma presentable para poder verlos recurrentemente.

Comando

CREATE VIEW v_brasil_customers AS 
	SELECT customer_name,contact_name
	FROM customers
	WHERE country = 'Brasil';

Cuando se crea una vista, se pone el prefijo v como buena practica para agrupar estos datos.

USE `platzi_blog`;
CREATE  OR REPLACE VIEW `platzi_people` AS
SELECT * FROM platzi_blog.people;;

Al crear una vista se debe ingresar el nombre de la misma, además, ponerle una sentencia para mostrar los datos. En este caso, se selecciona a las personas de la tabla people .

Alter Table

Permite modificar elementos de la base de datos

Comando

ALTER TABLE people
ADD date_of_bith date;

ALTER TABLE people
ALTER COLUMN date_of_birth year;

ALTER TABLE people
DROP COLUMN date_of_birth;

Cuando se va a cambiar un elemento de alguna columna, también puede ser escrito como CHANGE COLUMNdate_of_birthdate_of_birthDATE

Siento que la explicación es mínima y que le falto profundizar en cada sentencia, o por lo menos explicar no solo la parte grafica sino la de codificación.

Para los que les salga error cuando cambien el tipo de dato, recuerden que deben especificar el número de carácteres, por ejemplo, si escogen YEAR(), deben de poner

YEAR(4)>

Que suerte tiene Mónica, todavía de que vive por la av. más importante de CDMX, está justo en uno de los centros comerciales más concurridos

Existe un definición que me gusta mucho para las “views” que son tablas virtuales, es decir, no son tablas físicas como tal, sino que son consultas, normalmente complejas, que se crean para simplificar la forma en como accedemos a cierta información de nuestro interés.
Ejemplo: tomando el caso de Platziblog, una vista que nos ayudaría mucho sería cuando queremos consultar todos los posts que han sido creados por cierto usuario y que además corresponden a cierta categoría y tienen
"x" cantidad de comentarios.

Aquí comparto mis apuntes:

  • ALTER

    Permite alterar la estructura de las tablas.

    • ADD
      ALTER TABLE <nombre-de-tabla>
      ADD date_of_birth date;
      
    • ALTER COLUMN
      ALTER TABLE <nombre-de-tabla>
      ALTER COLUMN date_of_birth year;
      
    • DROP
      ALTER TABLE <nombre-de-tabla>
      DROP COLUMN date_of_birth;
      
    • ADD CONSTRAINT
      ALTER TABLE Persons
      ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
      
  • DROP

    • TABLE
      DROP TABLE people;
      
    • DATABASE
      DROP DATABASE test_db;
      
  • TRUNCATE

    A diferencia de DROP, TRUNCATE elimina todos los datos de una tabla pero no la tabla en sí, también reinicia el conteo de las columnas con el constraint AUTO_INCREMENT.

    TRUNCATE TABLE people;
    

Les dejo este dato, que encontré:
![](

Es muy buena la explicación, pero debería enseñar o centrarse en los scripts.

La diferencia entre el tipo de dato DATETIME Y TIMESTAMP radica en el dominio.

DATETIME acepta fechas que oscilan desde el año 1000 hasta el año 9999, mientras que TIMESTAMP acepta fechas que van del 1 de enero de 1970 hasta diciembre de 2038.

Intermente la administración de recursos en cuestión de espacio es la diferencia entre el uso de uno u otro.

Referencia

The DATE, DATETIME and TIMESTAMP types

No olviden que también tenemos el lado de codear SQL jeje!

-- CREACION DE UNA VISTA
-- PARA PROYECCION DE DATOS DE UNA MANERA SENCILLA Y ESTRUCTURADA
CREATE VIEW platzi_people AS
SELECT * FROM people; 

-- COMANDOS ALTER
-- PARA AÑADIR UNA COLUMNA NUEVA
ALTER TABLE people ADD COLUMN date_of_birth datetime after city;

-- PARA CAMBIAR EL TIPO DE DATO DE LA COLUMNA
ALTER TABLE people CHANGE COLUMN date_of_birth date_of_birth VARCHAR(30) NOT NULL;

-- PARA BORRAR UNA COLUMNA
ALTER TABLE people DROP COLUMN date_of_birth;

Comparto como agregue datos a la tabla vacía para poder hacer el ejercicio de crear una view

Encontre 2 formas:
Con hacer doble click en los campos vacios

Con la opción de Form Editor

En MySQL 8.x para modificar el tipo de dato de una columna se usa modify en vez de alter UwU

Para los que tuvieron inconvenientes ingresando los datos en la tabla y no lo pudieron visualizar en View

En la tabla que estan trabajando en el apartado Result Grid, ahí pueden ingresar todos los datos que necesitan (todas las columnas o atributos).

Después IMPORTANTE, dar clic en Apply. Aparecerá el código que indica como se agregará dicha información a la tabla, dar clic en aceptar y listo.

Gran clase:

para ingresar datos
INSERT INTO people (last_name, first_name, address, city)
VALUES (“Vásquez”, “Israel”, “Calle Famosa Num 1”, “México”),
(“Hernández”, “Mónica”, “Reforma 222”, “México”),
(“Alanís”, “Edgar”, “Central 1”, “Monterrey”);

Aqui practicando un poco a la par, pero con el command line y a la vez con mi proyecto para este curso y funciona todo de maravilla. Me esta encantando el curso

Por si alguien necesita los datos:

insert into people(last_name,first_name,address,city) values("Vázquez","Israel","Calle Famosa Num 1","México"),
("Hernández","Mónica","Reforma 222","México"),
("Alanís","Edgar","Central 1","Monterrey");

Tengo una duda:
En la universidad existía mucha presión para aprender a hacer esto con puro código y no de forma gráfica, ¿Realmente eso afecta en algo al aprendizaje a largo plazo? O a nivel laboral.

Una vez que se agregó la columna, podemos agregar datos a la columna de una fila en específico de la siguiente manera:

UPDATE people SET date_of_birth = '1980-03-29' WHERE person_id = 2;

Muy explicado, solo que como ya estaban ingresados los datos, no vi como ingresar.
Pero ya buscare como.

CREATE
ALTER
DROP

¿en que momento llenaste las tablas?

Hasta ahorita me gusta mucho el curso. Estoy entendiendo.

Excelente, las vistas son realmente muy útiles para mostar solo la información relevante.

y para eliminar una fila, especificando cual por medio del person_id

DELETE FROM people WHERE person_id = 4

ALTER

Una vista es una ejecución del comando que va después del as. Otra cosa a tener en cuenta es que si se borra una columna de las tablas que componen la vista, esta deja de funcionar y da un error al ejecutarla.

Como colocas la interfaz toda en negro por favor

Espero que podamos ver también como manipular desde consola, ya que no siempre se cuenta con estas herramientas de entorno gráfico, y es bueno tener ambas opciones

En que momento ingresa los datos?

en DBeaver es un poco mas complicado

Las vistas no generan una tabla adicional, solo crea la sentencia que se va a ejecutar cuando se llame la vista.

Ejercicio Clase

DELETE FROM people; -- Elimina la información dentro de la tabla.
ALTER TABLE people AUTO_INCREMENT = 1 ; -- Reinicia el autoincrement a 1
INSERT INTO people (last_name,first_name,address,city)VALUES('Vázquez', 'Israel','Calle Famosa Num 1','México'),
('Hernández','Mónica','Reforma 222','México'),
('Alanis','Edgar','Central 1', 'Monterrey'); -- Insertar datos a la tabla

CREATE OR REPLACE VIEW platzi_people AS -- Crear vista
SELECT * FROM people;

select * from platzi_people; -- consultar vista

ALTER TABLE people ADD COLUMN date_of_birth DATETIME NULL AFTER city; -- Agregar columna
DESCRIBE people;
ALTER TABLE people DROP COLUMN date_of_birth; -- Eliminar columna
DESCRIBE people;

Muy bueno todo el contenido.

  • View o vistas: Tiene que ver con los selects o proyecciones.
  • Toma datos de la base de datos, los pone en una forma presentable y lo convierte en algo que se pueda consultar de manera recurrente.
  • CREATE VIEW: Permite crear una vista de una tabla, o de datos específicos que necesite. A su vez, me permite unir varias tablas sí así lo requiero.
  • ALTER: Me permite modificar una tabla añadiendo nuevas columnas con diferentes tipos de constraints o también borrar columnas.

El Script de código INSERT para insertar los datos que consultaremos en la tabla people.

</*Script para indicar que usaremos la base de datos platziblog*/
USE platziblog;

/*Script para INSERTAR campos en nuestra Tabla people*/
INSERT INTO people (last_name,first_name,address,city)
VALUES ('Vázquez','Israel','Calle Fonseca Num 1','México'),
		('Hernández','Mónica','Reforma 222','México'),
		('Alanís','Edgar','Central 1','Monterrey');
> 

¿Cuál es la diferencia entre el DATETIME y DATETIME()? de primeras estaba poniendo el que tiene los paréntesis y me marcaba error 😅

Creo que entiendo esto de la vistas, es como una especie de alias para mostrar datos por ejemplo creo una vista y nada mas ejecuto el nombre de la vista que quiero y ella me muestra los datos de acuerdo a su nombre o secuencia predefinidad.

Cual es la diferencia de utilizar WorkBench y localhost de php?