‫Todas las empresas almacenan datos desde un simple libro de registro de una pequeña empresa, tal vez incluso en un diario o
‫una hoja de papel hasta empresas masivas como Amazon que necesitan computadoras para almacenar petabytes de datos.
‫Ahora, para almacenar esta información, casi todas las empresas y, a veces, las personas necesitan algo llamado
‫base de datos.
‫Vimos en la última sección lo difícil que era que nuestro servidor recordara a un nuevo usuario.
‫Cada vez que el servidor fallaba, la variable se restablecía y luego comenzaba de nuevo.
‫O si quisiéramos iniciar sesión o firmar y verificar e iterar a través de los correos electrónicos y contraseñas, haciendo un bucle
‫a través de JavaScript, eso es ineficiente.
‫Ahí es donde la base de datos viene al rescate.
‫Entonces, preguntémonos, ¿qué es una base de datos?
‫Una base de datos es una colección de datos.
‫Y lo que queremos decir con datos, hay muchas formas de ellos, correcto, puede haber números,
‫puede haber fechas, podría haber hash de contraseña, podría haber información de usuario.
‫Las bases de datos nos permiten organizar estos datos de una manera que nos sea útil y facilita la gestión de
‫datos.
‫Y algo salió de eso, y se llama Sistema de administración de base de datos, o DBMS para abreviar.
‫Es una colección de programas que nos permite acceder a bases de datos y trabajar con datos, y también permite controlar el
‫acceso a los usuarios de la base de datos.
‫Entonces, un DBMS es algo en esta caja.
‫Algo que nos permite una herramienta, un software que nos permite comunicarnos.
‫Con la base de datos, almacena información que nos es útil y que también nos permite actualizar, insertar, eliminar, buscar, lo que sea que esté
‫en la base de datos, y esta idea de un DBMS realmente comenzó a tomar forma en la década de 1960 y ahora
‫está a la vanguardia de muchas cosas emocionantes.
‫Existe toda una industria de ingenieros que simplemente trabaja con bases de datos porque es muy importante.
‫Ahora, hay dos tipos de DBMS que son realmente populares en este momento y de los que hablaremos en este
‫curso.
‫Y estos dos tipos están muy bien representados por postscripts y Mongo DB.
‫Hablemos del primero, que es una base de datos relacional.
‫Y este es probablemente el más popular.
‫Como puede ver en el lado derecho.
‫Verá que todas estas son bases de datos relacionales, postgraduados de Oracle, SQL Server.
‫Es posible que haya oído hablar de MySQL, Escorial Lite.
‫Todos estos son tipos de bases de datos que tienen esta etiqueta de base de datos relacional, y lo bueno de ellas
‫es que son bastante similares.
‫Todos siguen el mismo formato estándar.
‫Las bases de datos relacionales constan de dos o más tablas con columnas y filas.
‫Entonces, en este caso, los usuarios son una tabla y el nombre completo, el texto del nombre de usuario creado en nuestras columnas
‫y los valores que tengan aquí son filas.
‫Cada fila representa una entrada en cada columna.
‫Por lo tanto, es un tipo de información muy específico como nombre, dirección o números de teléfono.
‫Y luego la relación entre tablas y campo.
‫Se llama esquema en una base de datos relacional, el esquema debe estar claramente definido antes de que se pueda agregar cualquier
‫información.
‫Y si esto le resulta confuso en este momento, no se preocupe, en realidad vamos a crear estas bases de datos, por lo que
‫tiene sentido para usted.
‫Si tuviéramos Twitter, por ejemplo, puedes ver aquí los tipos de tablas que tendríamos y cómo
‫lo organizaríamos.
‫Tendríamos un usuario estable, una tabla de tweets, una tabla siguiente.
‫Y podemos conectar toda esta información, por ejemplo, conectando diferentes piezas de la mesa.
‫Por ejemplo, el nombre de usuario será el mismo en la tabla de usuarios que en la tabla de tweets.
‫De esa manera, podemos decir que el nombre de usuario y la tabla de tweets es la clave externa del nombre de usuario en la tabla
‫del usuario y luego del usuario.
‫Será la clave externa del nombre de usuario en la siguiente tabla.
‫Ahora, cosas como el nombre completo o ID, algo que identifica cada fila en una tabla, se llama clave primaria y lo
‫veremos más adelante en la sección.
‫Muy bien, entonces todas estas bases de datos vamos a aprender sobre cual poscrisis, pero son prácticamente
‫iguales.
‫Entonces, una vez que conoces uno, es bastante fácil elegir los otros.
‫¿Cómo se comunican realmente con un servidor con el back-end?
‫Bueno, todas las bases de datos relacionales usan algo llamado oscuro.
‫Y preguntarles a todos nos permite comunicarnos, tal como lo hizo HTP entre el front-end y
‫el back-end, con todos ustedes pudieron comunicarse con la base de datos y modificar, obtener o actualizar como queramos.
‫Y también tendremos un video sobre este tema.
‫Está bien.
‫Eso es bases de datos relacionales.
‫¿Qué pasa con el segundo tipo?
‫El segundo tipo se llama una base de datos no relacional o una base de datos no ESKIL, y una vez más, hay muchos, muchos
‫tipos diferentes de bases de datos con algunos nombres interesantes como Kotb e Hyper Table.
‫Ahora, una base de datos Mongo o una base de datos no relacional le permite crear una aplicación sin tener que
‫definir el esquema primero, a diferencia de una base de datos relacional.
‫Si volvemos a la base de datos relacional, este esquema o estas tablas tienen que estar predefinidos, ¿verdad?
‫Necesitamos saber cómo se verá nuestra aplicación, hacer estas tablas para que una vez que la aplicación sea pública, podamos comenzar
‫a ingresar información de usuario y tweets y seguidores.
‫Con una base de datos sin excusas o no relacional, podemos definirla a medida que avanzamos y todas tienen diferentes
‫formas de almacenar esta información.
‫Entonces cada uno es muy, muy diferente.
‫Y esta es otra razón poderosa para usar una base de datos no relacional, es que si sus requisitos
‫de datos no son claros al principio de su proyecto y tal vez tiene una gran cantidad de datos no estructurados, es posible
‫que no pueda darse el lujo de desarrollar una base de datos relacional. base de datos con un esquema claramente definido.
‫En cambio, ofrecen una mayor flexibilidad en el sentido de que una base de datos no relacional se parece más a carpetas,
‫simplemente reuniendo información relacionada de todo tipo.
‫Ahora, Mongo DB es algo que se llama orientado a documentos, almacena información como documentos.
‫Permítanme ilustrarles este punto.
‫Tengo mi escritorio aquí con dos carpetas.
‫Una es una base de datos realmente relacional y aquí tienen los tweets de los usuarios, siguiendo el perfil.
‫Y puede pensar en bases de datos relacionales con este tipo de almacenamiento donde esta carpeta vive en algún lugar de una
‫computadora que almacena esta información, y cada vez que necesitamos pedir algo a una base de datos, bueno, agarramos
‫a los usuarios.
‫Y si también queremos capturar los tweets del usuario, buscamos al usuario que nos interesa
‫y luego buscamos los tweets del usuario que también nos interesan con la clave externa que enlaza con los usuarios.
‫Y también podemos encontrar cuantos seguidores tenga ese usuario.
‫Tomamos esa información y la mostramos en nuestra aplicación web.
‫Mongo DB, por otro lado, tendrá a cada usuario como un documento.
‫Entonces, si quería agarrar al primer usuario, bueno, simplemente agarré este documento y tiene todos
‫los seguidores, los tweets, el perfil, todo está en este documento.
‫Y podría estar pensando que Mongo DB parece una mejor opción que tener esto.
‫Manera de hacer las cosas bien.
‫Bueno, depende de su necesidad, y es por eso que la base de datos es un tema tan complejo.
‫Realmente depende de tu situación.
‫Puede ver que esta forma de Mongo DB es muy útil si tiene algo como un perfil, tal vez un perfil de
‫LinkedIn.
‫Pero si necesita algo en lo que está trabajando con solo seguir datos o solo datos de tweets, tal vez
‫con los tweets que desea ver ¿cuál es el tamaño promedio de tweets?
‫Bueno, es realmente fácil simplemente tomar este archivo y calcularlo en comparación con esta forma en la que es posible que
‫tenga que extraerlo de cada uno de los usuarios.
‫Entonces realmente depende de tus necesidades.
‫Déjame mostrarte otro diagrama que podría ser.
‫Útil.
‫Cuando miramos bases de datos relacionales versus no relacionales, puede pensar en relacionales, ya que cada tabla tiene una publicación de
‫blog, una etiqueta de blog, un comentario de blog, y vincula estas tablas para brindarle la información del blog frente a una no
‫relacional que almacena todo esto. entrada de blog en una entrada y tiene comentarios, categorías de impuestos y todos
‫los demás datos relacionados en un solo lugar.
‫Entonces, ¿qué usa Mongo DB para comunicarse?
‫Si volvemos a nuestro ejemplo aquí, les habíamos pedido a todos bases de datos relacionales como postcrisis o
‫Mongo.
‫DB tiene su propio lenguaje de consulta, lo que llamamos, y es solo el lenguaje de consulta de Mongo DB.
‫Pero ambos tienen como objetivo hacer lo mismo, es decir, comunicarse con la base de datos, proporcionar
‫una forma fácil para que el servidor se comunique con la base de datos.
‫Y en esta sección, hablaremos de eso y finalmente conectaremos los puntos y le mostraremos el poder
‫de las bases de datos una vez que estén conectadas a un servidor.
‫Te veo en el proximo.