brandon james grimaldo moscote
Andres Evaristo Ruiz Gonzalez
Facundo Nicolás García Martoni
ProfesorAntonio Manilla Maldonado
Javier Romero
Christian Sanclemente
Yulisa Vanesa Rivas
Erick Herrera
Brayan Acosta
Vicente López Robles
Jesús Rubén Esparza Soto
Michael Coronel
Martin DAVILA
Fredy Mendoza Vargas
Omar Daniel Centeno
Jazmín Hernández Estrada
Dyck Javier López Silva
Alejandro Giraldo Londoño
Luis Alberto Soto Alday
Javier Ramos
Vicente Fernandez
Germain Sánchez Matus
Andres Felipe Castrillon Valencia
Lily Bejarano
Miguel Juan Carlos Rojas Ortega
Juan David Benavides Muñoz
Omar Daniel Centeno
Royer Guerrero Pinilla
Lizeth Natalia Hilarión Ávila
Braian Peña
Danny Yamid Hernandez Benavides
Gabriel Alejandro Delgado Álvarez
buen curso, para saber como manipular SQL en consola , aunque me quedo con interfaz gráfica xD
Buen curso, fatlò mencionar triggers, procedimientos, llaves foreanas.
Hola @neontigermx! Por cuestiones de practicidad no se vieron triggers y stored procedures, ya que son conceptos cuyo uso es muy debatido por los desarrolladores, porque pueden llegar a dificultar la migración de una DB a otra.
.
Respecto a las llaves foráneas no es obligatorio aclarar el constraint respectivo en el esquema de una tabla, pero es una buena práctica, deberías hacerlo.
.
Es muy probable que Platzi saque una nueva versión del curso ya que el actual está algo viejo, si esto pasa vas a poder verlo en la sección Agenda de la plataforma 😉. Un saludo!
A mi parecer también faltó un poco de teoría, como lo que es la normalización de bases de datos y el uso de herramientas para esquematizarlas antes de empezar a construirlas.
al principio me quejaba porque no sabia instalar MySQL pero con mucha investigación y dedicación al curso aprendí a como crear base de datos desde cero en terminales de comandos, algo que a mi no me enseñaron en la universidad como practica aunque sea algo común, ahora ya entiendo mejor como utilizar esta aplicación, fue un excelente curso gracias profe alberto alcocer.
Y sin esos obstáculos probablemente el aprendizaje no hubiera sido igual, resolver problemas es pan de cada día en esta industria.
Gracias por tu experiencia
Hola a todos, hice un resumen de las buenas prácticas que iba nombrando el profesor, espero les sirva. Un abrazo.
1. Que cada tabla se llame en el plural del sustantivo que vamos a llamar. Ej: Sustantivo libro --> Nombre de tabla: libros. 2. Hacerlo en inglés Ej: books. 3. Esto lo necesita toda tabla, un id. 4. Lo que yo guardo en la BD, nunca es un binario (imagen), lo que guardo es en un varchar, la url de la imagen, donde está almacenada. 5. Mysql permite escribir en mayúsculas y minúsculas, tanto en palabras reservadas, como en columnas, nombres de columnas y tablas. Lo recomendado es: Todos los nombres de columnas y tablas van en minúsculas y todas las palabras reservadas del lenguaje SQL van en mayúsculas. 6. A la tabla, al crearla, no se le agrega automáticamente el FOREING KEY, ya que si se hace y la tabla referenciada aún no se ha creado no existe, tirará un error. Por eso es mejor crear todas las tablas y luego hacer un ALTER para crear las FOREING KEY. 7. created_at, siempre debería ir en la tabla de la BD. 8. NINGUNA tupla de la BD se borra jamás. Esta se pone activa o inactiva. 9. Para que los datos se mantengan bien y en las conexiones no haya ningún problema, es bueno hacer inserciones (INSERT) de a 50, así si llega a haber algún problema con la conexión, se pierden de 50 en 50, puedes establecer un número máximo en la configuración y con eso definir que tantos vas a insertar o hasta cuantos puedes insertar. 10. Nunca en la vida usar ON DUPLICATE KEY IGNORE ALL, porque con esto ignora todos los errores que podrían suceder. “Los errores están ahí por algo, una aplicación que no lanza errores está condenada al fracaso” [Alberto Alcocer 4:34] 11. El orden de las condiciones de filtrado deben ser de las más posibles a las más específicas. Ej: WHERE nationality IS NOT NULL AND nationality NOT IN('RUS'). "Primero deberíamos descartar basándonos en valores NULL y en números enteros que son los más rápidos de procesar y luego condicionar por cadenas de caracteres porque lo va a hacer sobre una cama más pequeña."(Comentario de Eduardo Kiriakos - C19) 12. Nunca borrar los datos de una BD, siempre que sea legal, ético, etc. Para esto, siempre tenemos un booleano (ej: active), para saber si ese dato está activo o no. 13. Ser muy específico al usar DELETE, lo mejor es eliminar de acuerdo al ID. Ej: DELETE FROM authors WHERE author_id = 161; 14. Al hacer DELETE, siempre usar un LIMIT, así nos aseguramos en caso de equivocarnos, no eliminar más de el LIMIT, Ej: DELETE FROM authors WHERE author_id = 161 LIMIT 1; 15. Usar la documentación https://dev.mysql.com/doc/refman/8.0/en/preface.html 16. Podemos versionar el esquema de la base de datos, pero los datos es prácticamente imposible versionarlos, por eso es que los datos no se versionan, sino que se respaldan.
Muchas gracias. Que Buenos apuntes
¿Y donde está lo de Big Data?
Cómo comentó el profesor BigData se puede interpretar de muchas maneras. . En este ejemplo, está en el manejo de toda la información estadistica de las temperaturas de los estados de un país, el simple hecho de manejar datos para transformarlos en información y poder aplicar decisiones de negocio, eso es BigData en sí, en menor o mayor escala.
Este último vídeo hasta me inspiro
SQL y MySql ¿Qué es una base de datos? Una Base de datos es un lugar donde se almacenan una gran cantidad de datos que posteriormente a través de un proceso se convierten en información. Comandos MySql Iniciar sesión mysql -u user-name -p Donde -u es usuario y -p es password. use data-base-name; Cambiar de base de datos a utilizar. show full columns from books; Muestra el detalle completo de la tabla. Motores de base de datos Los motores de base datos más conocidos son Innodb y Myissam, entre ambos existen ciertas diferencia notables que vale la pena mencionar para saber cuál elegir. Innodb considerado como un motor de base de datos transaccional conforme ACID con la capacidad de commit, rollback, recuperación de fallos. Myissam es un motor de base de datos que trata tablas no transaccionales lo cual lo hace más rápido en la lectura y escritura de datos. Algunas ventajas y desventajas Innodb Soporte de transacciones. Bloqueo de registros. Myissam Mayor velocidad en la recuperación de datos. Recomendable para aplicaciones donde predominan la sentencia select que los inserts/updates. Cardinalidad La cardinalidad son simplemente las relaciones que pueden existir entre las tablas de una base de datos. uno a uno uno a muchos muchos a a uno Lenguaje DDL Lenguaje de definición de datos: Create: crear objectos tales como vistas, tablas, store procedures e indices. Drop: Utilizado para eliminar objectos como vistas, store procedures, tablas. Alter: Empleado para editar tablas agregando campos o cambiando la definición de los mismos. Una buena practica es que el nombre de la tabla debe ser un sustantivo en plural en ingles. create table if not exists books( id Integer unsigned primary key auto_increment, author Integer, title varchar(100) not null, year integer unsigned default 1990, language varchar(2) not null default 'es' comment 'ISO 639', cover_url varchar(500), price double(6,2) not null default 10.0,sellable tinyint () defaul 1, copies integer not null default 1, description text ); Lenguaje DML Lenguaje de manipulación de datos proporcionado por los sistemas gestores de base de datos que permite tareas de consultas o modificación de datos. Select select * from table where field = 'value' Insert insert into table (field1, field2) values (value1, value2); Update udate table field = 'value to modify' where field = value Delete delete from table where field = value; Inner JOIN Es considerada la forma más fácil de obtener información, prácticamente se obtienen todos las filas dela tabla A que coinciden con la table B. select * from table_a as a inner join table_b as b on a.pk = b.pk; Left JOIN Se selecciona todas las filas de la tabla A y ademas de las que coincidan de la tabla B. select * from table_a as a left join table_b as b on a.pk = b.pk; Right JOIN Se selecciona todas las filas de la tabla B y ademas de las que coincidan de la tabla A. select * from table_a as a left join table_b as b on a.pk = b.pk; Outer JOIN Retorna todas las filas de ambas tablas ademas de hacer la unión entre las tablas que coinciden. select * from table_a as a outer join table_b as b on a.pk = b.pk; Left excluding JOIN Para este caso retorna todas las filas de la tabla A que no tengan ninguna coincidencia con la tabla B. select * from table_a as a left join table_b as b on a.pk = b.pk where b.pk is null; Right excluding JOIN Para este caso retorna todas las filas de la tabla B que no tengan ninguna coincidencia con la tabla A. select * from table_a as a right join table_b as b on a.pk = b.pk where b.pk is null; Outer excluding JOIN Para este caso retorna todas las filas de ambas tablas que no tengan coincidencias. select * from table_a as a full outer join table_b as b on a.pk = b.pk where a.pk is null or b.pk is null;```
Gracias
muchas gracias por el resumen
La terminal es tu amiga 💚
Es mucho mejor trabajar en terminal, unose acostumbra y no vuelve a la parte gáfica
Brutal este curso, y el profe es sumamente talentoso, a quienes llegaron aquí los invito al curso de expresiones regulares con este mismo profe. :)
Excelente curso y excelente profesor!!! Para ser la primera vez que me acerco a este lenguaje, fue muy explícito y útil!!!
Gracias!
La verdad es mi primer curso de base de datos y aun cuando no tengo ninguna experiencia en creación y manejo pues mi trabajo a sido solo administrar servidores y redes de datos, pero este curso me ha llevado de la mano para entender de manera clara y concisa lo que es una base de datos y como se puede ínter actuar con ella sacando le el máximo provecho. Es todo un mundo nuevo para mi. Gracias por enseñar tan bien las bases que se necesitan para adentrarse en esta área de la informática tan importante.
Muchas gracias Beco! Me gusto el curso!
Excelente profesor y excelente curso, de los mejores en platzi!
Hola Mundo.
Cómo puedo integrar mis datos de EXCEL MySQL? Como puedo exportar las consultas? Que ruta de aprendizaje existe en platzi para Modelado de Datos??
Esta sería la ruta que Platzi propone : https://platzi.com/datos/
Para exportar tu consulta es de la siguiente manera:
SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.6/Uploads/authors.csv' FIELDS TERMINATED BY',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM authors;
En este caso la ruta donde esta guardando todo lo que exporto es la que esta en el codigo pero para saber cuales es tu ruta:
SHOW VARIABLES LIKE 'secure_file_priv';
toma en cuenta que si estas en Windows debes cambiar el \ por /
El profesor Beto es una eminencia. No sabía nada de SQL y ahora considero tener un conocimiento decente, estuvo excelente el curso y su forma de enseñar
También hiciste el de fundamentos? es muy bueno y enseña las bases más a fondo
Un muy buen curso, gracias Alberto Alcocer 💚
excelente curso, muy buen profesor
Unos de los vídeos que me motivo para empezar en platzi.
no me gusto la terminal
Fue un gran curso. Todo detallado, preciso y super entendible.