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.
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 postcrisis, 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, capturamos
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. publicación 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.