Olá! Eu sou Danielle Oliveira, instrutora da Escola de Dados, e te acompanharei nos seus estudos durante o curso de MongoDB: validando dados. Vamos conhecer um pouco do nosso percurso.
Autodescrição: Sou Danielle, uma mulher de pele morena, cabelos cacheados e olhos castanhos. Estou vestindo uma blusa na cor rosa e sentada. Ao fundo, há uma parede branca sem decoração, com uma iluminação na cor verde.
Aula 1:
Conheceremos o projeto que será desenvolvido.
Entenderemos a importância da modelagem de dados ao trabalharmos com bancos de dados.
Conheceremos o Esquema Flexível do MongoDB.
Aula 2:
Aprenderemos o que é quando aplicar a Validação de esquema.
Lidaremos com adoperadores de consulta de avaliação e com o $jsonSchema.
Realizaremos a instalação da ferramente de interface usuária gráfica, o NoSQLBooster
Aula 3:
Criaremos o banco de dados
Validaremos a coleção de clientes e a coleção de contas.
Aula 4:
Modificaremos as regras de validação que já existem.
Faremos novas modificações.
Verificaremos o nível de validação.
Alua 5:
Aprenderemos a lidar com documentos inválidos.
Realizaremos novas consultas e modificaremos documentos.
Entenderemos como ignorar as regras de validação apenas no momento de inserção de dados.
Vamos iniciar nossos estudos?!
A nossa equipe está preparada para dar os próximos passos nos estudos sobre o MongoBD, que é um banco de dados NoSQL, baseado em documentos.
Para desenvolvermos esse projeto, utilizaremos a base de dados da empresa Show Bank, um banco digital que está crescendo rapidamente. Esse crescimento gerou alguns problemas na base de dados do MongoDB, por exemplo:
Tipos de dados diferentes em um mesmo campo.
Campos obrigatórios não estão sendo informados.
Informações incorretas.
O motivo desses problemas é que o MongoDB possui um esquema flexível, por isso, não é necessário definir a estrutura das coleções no momento em que são criadas. Inclusive, podemos criar coleções inserindo dados pela primeira vez e, consequentemente, ter o mesmo campo com diversos tipos de dados armazenados em uma mesma coleção.
A partir disso, podemos pensar: é possível aplicar regras diretamente no MondoDB para validar os dados, sem recorrer à aplicação?
A resposta é sim. Conseguimos aplicar essas regras utilizando a modelagem de dados. Assim como nos bancos de dados relacionais, também podemos modelar os nossos dados antes de inseri-los no nosso banco. Um dos recursos disponibilizados pelo MongoDB, através da modelagem de dados, é a validação de esquema.
A validação de esquema nos permite criar regras para as nossas coleções. Vamos entender um pouco mais sobre o funcionamento da modelagem de dados no MongoDB?
Uma das grandes dificuldades para quem está começando a trabalhar com banco de dados não relacional é entender como modelar os dados antes de armazená-los no MondgoDB, dentro do banco de dados.
Para responder essa questão, é necessário entender a aplicação, saber se precisaremos de mais leitura ou mais armazenamento, ou seja, precisamos entender como estruturar o banco para alcançarmos nosso objetivo e evitarmos problemas futuros, como os que a Show Bank tem enfrentado.
Além disso, precisamos aprender a utilizar o MongoDB, que oferece um esquema flexível e isso facilita bastante o trabalho. Mas, se não soubermos lidar com ele, podemos ter muitos problemas ao utilizá-lo em aplicação.
Existem diferentes formas de modelar um dado quando trabalhamos com bancos de dados não relacionais, porque eles possuem estruturas também distintas. Nos bancos de dados relacionais, existem quatro formas normais com as quais normalizamos o banco. Não é possível aplicar essas regras aos bancos de dados não relacionais, como o MongoDB.
Antes de passarmos para a modelagem de dados, precisamos definir a necessidade da aplicação e qual banco de dados utilizaremos, se é relacional ou não relacional, por exemplo, o MongoDB ou algum outro banco relacional.
Então, o primeiro passo é entender qual o foco da aplicação. Há alguns pontos que podemos considerar para a escolha do banco de dados.
Bancos de dados relacionais:
Normalmente utilizamos os bancos de dados relacionais para relacionamentos entre diversas entidades, por exemplo, entre uma tabela e outra. Além das junções, os bancos de dados relacionais são a melhor opção para aplicações que precisam usar "chaves estrangeiras" e "JOINs".
MongoDB:
O MongoDB é mais indicado para grandes quantidades de dados desestruturados, por exemplo, vídeos e fotos. Além disso, por ter esquema flexível, ele nos permite trabalhar com esquemas desconhecidos. Significa que não precisamos definir imediatamente o esquema que utilizaremos, já que é possível ter campos diferentes em um mesmo documento.
Durante uma década, o MongoDB foi utilizado por diversas empresas e aplicações. Neste período, seu time fez um compilado, apresentando quais tipos de aplicações utilizavam determinadas padronizações, isto é, como essas aplicações eram modeladas.
Esses dados foram reunidos em uma tabela e, nela, encontramos diversos exemplos de aplicações que utilizam o MongoDB, como os catálogos, que envolvem vendas de produtos e servições e o "mobile", que são os aplicativos para celulares e tablets.
A equipe identificou que várias dessas aplicações tinham uma mesma forma de modelar os dados, a partir disso, surgiu a padronização. Existem diversas padronizações, por exemplo: a aproximação, voltada para questões estatísticas; e a de atributos, normalmente utilizada em aplicações que buscam campos semelhantes.
Para aprender mais sobre as padronizações, basta acessar o Para saber mais: Próximo passo, que está logo abaixo desse vídeo.
Mas, será que precisamos utilizar necessariamente algum desses padrões para modelar o nosso projeto? A resposta é não. Podemos criar as nossas próprias padronizações, de acordo com nossas necessidades.
Então, vamos entender um pouco mais sobre como funciona o esquema flexível no MongoDB?
O curso MongoDB: validando dados possui 102 minutos de vídeos, em um total de 48 atividades. Gostou? Conheça nossos outros cursos de NoSQL em Data Science, ou leia nossos artigos de Data Science.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.