Todas as empresas armazenam dados de um simples livro de registro de uma pequena empresa, talvez até em um jornal ou um
pedaço de papel, para grandes empresas como a Amazon, que precisam de computadores para armazenar petabytes de dados.
Agora, para armazenar essas informações, praticamente todas as empresas e, às vezes, indivíduos precisam de algo chamado
banco de dados.
Vimos na última seção como é difícil fazer nosso servidor lembrar de um novo usuário.
Cada vez que o servidor travava, a variável era redefinida e, em seguida, começava tudo de novo.
Ou se quisermos fazer um login ou um sinal e verificar e iterar através dos emails e senhas, fazendo um
loop através do JavaScript, isso é ineficiente.
É aí que o banco de dados vem ao resgate.
Então, vamos nos perguntar, o que é um banco de dados?
Um banco de dados é uma coleção de dados.
E o que queremos dizer com dados, existem muitas formas deles, certo, pode haver números,
pode haver datas, pode haver hashes de senha, pode haver informações do usuário.
Os bancos de dados nos permitem organizar esses dados de uma forma útil para nós e facilita o gerenciamento dos
dados.
E algo saiu disso, e é chamado de Sistema de Gerenciamento de Banco de Dados, ou DBMS, para abreviar.
É uma coleção de programas que nos permite acessar bancos de dados e trabalhar com dados, e também permite controlar
o acesso aos usuários do banco de dados.
Portanto, um SGBD é algo nesta caixa.
Algo que nos permite uma ferramenta, um software que nos permite comunicar.
Com o banco de dados, armazena informações que são úteis para nós e também nos permitem atualizar, inserir, excluir, Look-Up, o que quer que
esteja no banco de dados, e essa ideia de um SGBD realmente começou a tomar forma na década de 1960 e agora
está na vanguarda do muitas coisas emocionantes.
Existe toda uma indústria de engenheiros que trabalham apenas com bancos de dados porque é muito importante.
Agora, existem dois tipos de DBMS que são realmente populares no momento e sobre os quais falaremos neste
curso.
E esses dois tipos são muito bem representados por postscripts e Mongo DB.
Vamos falar sobre o primeiro, que é o banco de dados relacional.
E este é provavelmente o mais popular.
Como você pode ver do lado direito.
Você vê que todos esses são bancos de dados relacionais, pós-graduação Oracle, SQL Server.
Você já deve ter ouvido falar do MySQL, Escorial Lite.
Todos esses são tipos de bancos de dados que possuem essa marca de banco de dados relacional, e a beleza deles é
que são todos muito semelhantes.
Todos eles seguem o mesmo formato padrão.
Os bancos de dados relacionais consistem em duas ou mais tabelas com colunas e linhas.
Portanto, neste caso, os usuários são uma tabela e um nome completo, o texto do nome do usuário criado em nossas colunas e
quaisquer valores que eles tenham aqui são linhas.
Cada linha representa uma entrada em cada coluna.
Portanto, é um tipo de informação muito específico, como nome, endereço ou números de telefone.
E então a relação entre tabelas e campo.
É chamado de esquema em um banco de dados relacional, o esquema deve ser claramente definido antes que qualquer informação possa ser
adicionada.
E se isso está confuso agora, não se preocupe, na verdade vamos criar esses bancos de dados, então faz
sentido para você.
Se tivéssemos Twitter, por exemplo, vocês podem ver aqui os tipos de tabelas que teríamos e como
a organizaríamos.
Teríamos um usuário estável, uma tabela de tweet, uma tabela a seguir.
E podemos conectar todas essas informações, por exemplo, conectando diferentes peças da mesa.
Por exemplo, o nome do usuário será o mesmo na tabela de usuários e na tabela de tweets.
Dessa forma, podemos dizer que o nome de usuário e a tabela de tweets é a chave estrangeira do nome de usuário na tabela
do usuário e depois do usuário.
Será a chave estrangeira de nome de usuário na tabela a seguir.
Agora, coisas como nome completo ou ID, algo que identifica cada linha em uma tabela, é chamado de chave primária e veremos
isso mais tarde na seção.
Tudo bem, então vamos aprender sobre todos esses bancos de dados sobre pós-crise, mas eles são todos praticamente
iguais.
Assim, uma vez que você conhece um, é bastante fácil entender os outros.
Como eles realmente se comunicam com um servidor com o back-end?
Bem, todos os bancos de dados relacionais usam algo chamado obscuro.
E pedir a todos permite que nos comuniquemos, assim como o HTP fazia entre o front-end e o
back-end, com todos vocês sendo capazes de se comunicar com o banco de dados e modificar ou obter ou atualizar como quisermos.
E teremos um vídeo sobre esse assunto também.
Tudo bem.
Então, esses são bancos de dados relacionais.
E o segundo tipo?
O segundo tipo é chamado de banco de dados não relacional ou banco de dados ESKIL e, mais uma vez, existem muitos, muitos tipos
diferentes de bancos de dados com alguns nomes legais como Kotb e Hyper Table.
Agora, um banco de dados Mongo ou um banco de dados não relacional permite que você crie um aplicativo sem ter que
definir o esquema primeiro, ao contrário de um banco de dados relacional.
Se voltarmos ao banco de dados relacional, esse esquema ou essas tabelas têm que ser predefinidos, certo?
Precisamos saber como será a aparência de nosso aplicativo, fazer essas tabelas para que, uma vez que o aplicativo seja público, possamos
começar a inserir informações do usuário e tweets e seguidores.
Sem desculpa ou banco de dados não relacional, podemos apenas defini-lo à medida que avançamos e todos eles têm diferentes
maneiras de armazenar essas informações.
Cada um é muito, muito diferente.
E esta é outra razão poderosa para usar um banco de dados não relacional, é que se seus
requisitos de dados não forem claros no início de seu projeto e talvez você tenha uma grande quantidade de dados não estruturados, você
pode não ter o luxo de desenvolver um banco de dados relacional banco de dados com um esquema claramente definido.
Em vez disso, eles oferecem uma maior flexibilidade, pois um banco de dados não relacional se parece mais com pastas, apenas
reunindo informações relacionadas de todos os tipos.
Agora, Mongo DB é algo chamado orientado a documentos, ele armazena informações como documentos.
Deixe-me ilustrar este ponto para você.
Eu tenho minha área de trabalho aqui com duas pastas.
Um é um banco de dados realmente relacional e aqui tem tweets de usuários, acompanhamento de perfil.
E você pode pensar em bancos de dados relacionais com esse tipo de armazenamento em que essa pasta fica em algum lugar
de um computador que armazena essas informações, e sempre que precisarmos pedir algo a um banco de dados, bem,
agarramos os usuários.
E se também quisermos pegar os tweets do usuário, encontramos o usuário em que estamos interessados
e, em seguida, encontramos os tweets do usuário em que também estamos interessados com a chave estrangeira que vincula aos usuários.
E também podemos encontrar quantos seguidores esse usuário tem.
Pegamos essas informações e as exibimos em nosso aplicativo da web.
O Mongo DB, por outro lado, terá na verdade cada usuário como um documento.
Então, se eu quisesse pegar o primeiro usuário, bem, peguei esse documento e ele tem
todos os seguidores, os tweets, o perfil, tudo está neste documento.
E você pode estar pensando que o Mongo DB parece uma escolha melhor do que ter isso.
Maneira de fazer as coisas certas.
Bem, depende da sua necessidade, e é por isso que banco de dados é um tópico tão complexo.
Depende muito, muito da sua situação.
Você pode ver esse modo Mongo DB sendo muito útil se você tiver algo como um perfil, talvez um perfil no
LinkedIn.
Mas se você precisava de algo onde está trabalhando apenas com dados de acompanhamento ou apenas dados de tweets, talvez
com os tweets que deseja ver qual é o tamanho médio dos tweets?
Bem, é realmente fácil apenas pegar esse arquivo e calcular isso versus desta forma, onde você pode
ter que extraí-lo de cada um dos usuários.
Então, realmente depende de suas necessidades.
Deixe-me mostrar outro diagrama que pode ser.
Útil.
Quando olhamos para bancos de dados relacionais e não relacionais, você pode pensar em relacionais, pois cada tabela tem uma postagem
de blog, uma tag de blog, um comentário de blog e vincula essas tabelas para fornecer as informações do blog em comparação com
um não relacional que armazena tudo isso postagem de blog em uma entrada e contém comentários, categorias de impostos e todos
os outros dados relacionados em um único lugar.
Então, o que o Mongo DB usa para se comunicar?
Se voltarmos ao nosso exemplo aqui, pedimos a todos vocês bancos de dados relacionais, como postcrisis ou
Mongo.
O DB tem sua própria linguagem de consulta, o que chamamos de linguagem de consulta Mongo DB.
Mas os dois pretendem fazer a mesma coisa, ou seja, comunicar-se com o banco de dados,
fornecer uma maneira fácil para o servidor se comunicar com o banco de dados.
E nesta seção, falaremos sobre isso e finalmente conectaremos os pontos e mostraremos o poder
dos bancos de dados assim que estiverem conectados a um servidor.
Te vejo no próximo.