‫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.