Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso Modelagem de dados: identificando entidades, atributos, relacionamentos

Modelagem de dados: identificando entidades, atributos, relacionamentos

Conhecendo o projeto - Apresentação

Boas-vindas ao curso de modelagem de dados: identificando entidades, atributos e relacionamentos. A instrutora da Escola de Dados, Danielle Oliveira, vai te acompanhar nessa jornada.

Audiodescrição: Danielle se identifica como uma mulher de pele morena. Tem cabelos cacheados escuros e olhos castanhos. Está sentada em uma cadeira de escritória e usa uma blusa na cor preta. Ao fundo, parede branca que recebe iluminação grandiente do azul ao verde. No topo, uma prateleira com uma pequena decoração que representa o nordeste.

Este curso é para você que deseja dar os seus primeiros passos em modelagem de dados, onde vamos aplicar a primeira etapa, que é a construção de um modelo conceitual. Também iremos conhecer diversos outros conceitos importantes.

Vamos entender quais são os conteúdos que estudaremos durante este curso.

O que vamos aprender?

Vamos iniciar nossos estudos conhecendo o projeto a ser desenvolvido, além de ter contato com os primeiros conceitos da modelagem de dados, que são: minimundo e levantamento de requisitos. Também vamos entender o que é o modelo conceitual.

Além disso, conhecer a ferramenta que será utilizada durante os estudos para construir um primeiro diagrama. E, através do levantamento de requisitos, vamos identificar as entidades, atributos e relacionamentos.

Por fim, vamos conhecer ferramentas que vão se beneficiar da modelagem de dados e também algumas para armazenar esses dados.

Também abordaremos o antes e depois deste projeto, ou seja, antes de aplicar a modelagem de dados e após aplicar a primeira etapa da modelagem de dados.

Para que você tenha uma aprendizagem ativa, você pode recorrer ao fórum de discussão e ao Discord da Alura, onde você pode compartilhar dúvidas, o projeto desenvolvido e ideias com outras pessoas estudantes que também estão estudando conosco.

Por fim, sugerimos que você realize todas as atividades e assista a todos os vídeos para que aproveitar 100% dos conhecimentos compartilhados. Vamos começar nossos estudos!

Conhecendo o projeto - Projeto a ser desenvolvido

Agora, vamos conhecer o projeto que será desenvolvido durante nossos estudos.

Conhecendo o projeto

Trabalharemos com o projeto da FlexEmpresta, uma empresa que disponibiliza empréstimos para sua clientela e organiza seus dados em documentos impressos e planilhas.

Essa organização de dados estava sendo muito útil e eficaz para a empresa. Porém, devido ao grande crescimento de clientes, cada vez mais dados são gerados e armazenados nessas planilhas e documentos.

Problemas surgiram devido ao crescimento e à quantidade de dados que aumentou rapidamente, como:

Um dos maiores problemas que a FlexEmpresta está enfrentando é a necessidade de utilizar novas ferramentas para auxiliar na tomada de decisão e na organização desses dados.

Por isso, a empresa estou em contanto conosco para que possamos auxiliar na organização de seus dados, utilizando a modelagem de dados.

A modelagem de dados se constitue de diversas etapas que serão utilizadas para identificar os dados que queremos armazenar e padronizar através do desenho de fluxogramas.

Assim, iremos fazer desde a identificação de quais dados queremos armazenar até o desenho de como esses dados serão armazenados dentro de planilhas, bancos de dados ou qualquer outra ferramenta de armazenamento de dados.

Próximos passos

A seguir, vamos conhecer e aplicar a primeira etapa do processo de modelagem de dados, entendendo quais dados serão armazenados e criando o primeiro fluxograma conhecido como modelo conceitual.

Conhecendo o projeto - Alinhamento com o time

Agora que já conhecemos o projeto que será desenvolvido, vamos entrar em outro assunto muito importante: o alinhamento entre as pessoas que farão parte do time de desenvolvimento do projeto.

Dessa forma, conseguimos ter um time alinhado e com os mesmos objetivos, entendendo quais serão as ferramentas utilizadas e o objetivo final do projeto.

Quando isso não acontece, podemos ter gargalos na comunicação. Isso pode causar retrabalho, fazendo com que etapas da modelagem de dados precisem ser refeitas. E, como dizem, tempo é dinheiro.

Agora, vamos conhecer outro integrante do time que estará à frente do projeto da FlexEmpresta. Iremos alinhar alguns pontos, bem como conhecer a atual base de dados da empresa e como ela deseja que essa base de dados fique.

Alinhando com o time

Dani: Vamos bater um papo com o Igor e conhecer um pouco mais sobre a FlexEmpresta.

Igor: Oi, Dani! Estou muito animado de desenvolver esse projeto junto com você.

Audiodescrição: Igor do Nascimento é uma pessoa de pele clara. Tem cabelos escuros e curtos e olhos castanhos. Usa fones de ouvido sem fio e uma camiseta cinza. Ao fundo, parede lisa sem decorações e iluminação azulada.

Essa reunião é muito importante para definir diversos pontos para o projeto ser bem-sucedido no final.

Um dos pontos é o uso do mesmo material referencial. É essencial utilizar os mesmos conceitos para poder utilizá-los na criação de modelos conceituais e lógicos nesse fluxo de modelagem de dados.

Por exemplo, se eu utilizo um símbolo para representar uma entidade, é importante que você entenda que esse símbolo significa isso.

Dani: Outro ponto interessante de se compartilhar para quem nos acompanha nesse vídeo é que, na modelagem de dados, existem diversas formas de representar modelos, como, por exemplo, no modelo conceitual.

Por isso, é fundamental que o time siga a mesma referência e utilize os mesmos padrões de construção, do início ao fim do projeto.

Além disso, a modelagem de dados é dividida em etapas. Neste caso, designar uma pessoa responsável diferente para cada etapa. Isso vai balancear as responsabilidades e deixará claro para as outras pessoas da equipe quem é responsável por cada etapa do projeto que estamos desenvolvendo.

Igor: Combinado. Podemos dividir esse projeto nessas etapas e cada um fica responsável por tocar um pedaço.

Dani: Podemos agora ir para a planilha e conhecer um pouco mais sobre a organização atual da FlexEmpresta. Como você mencionou, a empresa armazena todos os dados dentro de uma planilha no Google Sheets.

Vamos compartilhar com vocês uma amostra. São dados de testes - e não são dados reais que a empresa utiliza. Servem apenas para entender a organização atual desses dados. Afinal, levamos em consideração a questão da privacidade e integridade dos dados da clientela da FlexEmpresta.

Planilha Original parcialmente transcrita:

NomeEndereçoCPFData NascimentoEmailTelefonesPontuacaoFonteData ConsultaJustificativaNumeroTipo_ContaSaldoData AberturaTipo EmprestimoValorData InicioPrazoStatusData PagamentoValorStatusResponsavelCargoEmailDepartamentoTelefone
Luiza MelloRua B, 456, Bairro Y65498732125/09/1990luiza@cliente.com7777-6666680Serasa15/01/2023-23456Poupança1000015/03/2021Empresarial5000005/05/202336Atrasado05/06/20231500AtrasadoPedroGerentepedro@flexempresta.comContas(11) 97563-4012
Carlos SouzaRua C, 789, Bairro Z12345678930/06/1975carlos@cliente.com8888-5555, 8888-4444700SPC20/03/2023-34567Corrente500010/01/2019Imobiliário20000001/07/2022120Em dia20/03/20232000PagoPedroGerentepedro@flexempresta.comContas(11) 97563-4012
Carlos SouzaRua C, 789, Bairro Z12345678930/06/1975carlos@cliente.com8888-5555, 8888-4444700SPC20/03/2023-45678Poupança300010/01/2019Imobiliário20000001/07/2022120Em dia20/04/20232000PagoPedroGerentepedro@flexempresta.comContas(11) 97563-4012
Carlos SouzaRua C, 789, Bairro Z12345678930/06/1975carlos@cliente.com8888-5555, 8888-4444700SPC20/03/2023-56789Conjunta700010/01/2019Imobiliário20000001/07/2022120Em dia20/05/20232000PagoPedroGerentepedro@flexempresta.comContas(11) 97563-4012
Pedro AlvesRua A, 123, Bairro X32145698712/04/1980pedro@cliente.com9999-8888, 9999-7777750SPC01/02/2023-12345Corrente150001/01/2020Pessoal1000010/01/202224Em dia---RobertaVendedoraroberta@flexempresta.comVendas(55) 86725100

Analisando a planilha com os dados, constatamos uma diversidade de informações desordenadas.

Um dos primeiros pontos que percebemos é a repetição das informações. Apesar da planilha conter apenas três clientes, ela possui 12 linhas. Por exemplo, todas as informações de cadastro do Pedro Alves se repetem nas sete ocorrências.

Isso não é o ideal tanto em questão de economia de espaço de armazenamento quanto em atualização. Imagina se fosse preciso atualizar uma informação do Pedro Alves, seria necessário fazê-lo sete vezes. Caso contrário, haveria um problema de conflito entre as ocorrências, pois os dados não estariam padronizados.

Igor: Mesmo se fosse atualizada apenas a última informação, isso geraria um problema de organização. Dentre as várias repetições, teríamos que encontrar a última linha atualizada do Pedro Alves dentro dessa planilha.

Dani: Ademais, podemos observar que os dados estão todos juntos. Depois das informações de clientes, existem dados sobre score de crédito, conta bancária e assim por diante. Para a realidade da FlexEmpresta, isso não é algo positivo, pois dificulta a leitura da planilha.

Além disso, existem alguns valores nulos, ou seja, valores vazios. Por exemplo, a coluna "Justificativa" não está sendo preenchida.

Repare também que existem campos com o mesmo nome. Desse modo, não é possível identificar rapidamente ao que cada nome faz referência. Por exemplo, existem duas colunas chamadas "status". Uma contém os status de pagamento e o outro status é referente ao empréstimo.

A padronização de informações e de nomenclatura de colunas é essencial para conseguir ter uma melhor organização, além de facilitar a utilização da planilha no dia-a-dia da gerência.

Também é importante fazer uma separação das informações de acordo com sua categoria. Nesse caso, podemos separar as informações de clientes, score de crédito, conta bancária, empréstimo e pagamento. Através dessa organização, conseguiremos identificar informações, fazer consultas e acessar dados de forma mais clara e objetiva.

Igor: Quando uma empresa está começando, é comum que um processo que fique na cabeça de uma única pessoa. Por exemplo, a pessoa responsável por essa planilha na FlexEmpresta sabe o que a coluna status representa.

No entanto, se for necessário passar essa tarefa para alguém mais ou envolver mais pessoas do time, esse conhecimento precisa ser compartilhado. A centralização de informações em uma única pessoa não é o ideal para a empresa. É preciso documentar todos esses processos.

A modelagem pode ajudar nisso, criando padrões e ferramentas que tornam a estrutura documentável. Assim, qualquer pessoa poderá consultar um documento para entender o conteúdo e a finalidade de uma planilha, bem como o significado de cada campo.

Dani: E, no caso da FlexEmpresta, não vamos mais utilizar apenas planilhas para organizar os dados. A equipe também vai utilizar ferramentas de mercado que vão facilitar o dia-a-dia e a tomada de decisão, como a SGBD relacional.

Próximos passos

Conseguimos fazer um bom alinhamento, entendendo muito bem a estrutura dos dados e como podemos organizá-los. Agora, podemos seguir na construção do nosso projeto e desenvolver a primeira etapa da nossa modelagem de dados, que é o modelo conceitual.

Sobre o curso Modelagem de dados: identificando entidades, atributos, relacionamentos

O curso Modelagem de dados: identificando entidades, atributos, relacionamentos possui 148 minutos de vídeos, em um total de 57 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados 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 SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas