Alura > Cursos de Data Science > Cursos de NoSQL > Conteúdos de NoSQL > Primeiras aulas do curso MongoDB: validando dados

MongoDB: validando dados

Esquema - Apresentação

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:

Aula 2:

Aula 3:

Aula 4:

Alua 5:

Vamos iniciar nossos estudos?!

Esquema - Conhecendo o projeto

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:

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?

Esquema - Modelagem de dados

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.

Preciso modelar em um banco de dados NoSQL?

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.

Primeiros passos

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?

Sobre o curso MongoDB: validando dados

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:

Aprenda NoSQL acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas