O que é modelagem de dados?
Modelagem de dados é o processo de criar uma representação visual, ou esquema, que define os sistemas de coleta e gerenciamento de informações de qualquer organização. Esse blueprint ou modelo de dados ajuda diferentes partes interessadas, como analistas de dados, cientistas e engenheiros, a criar uma visão unificada dos dados da organização. O modelo descreve quais dados a empresa coleta, a relação entre diferentes conjuntos de dados e os métodos que serão usados para armazenar e analisar esses dados.
Por que a modelagem de dados é importante?
Atualmente, as organizações coletam grandes quantidades de dados de várias fontes diferentes. No entanto, dados brutos não são suficientes. Você precisa analisar os dados para obter insights acionáveis que possam orientar na tomada de decisões comerciais lucrativas. Uma análise precisa de dados exige coleta, armazenamento e processamento de dados eficientes. Existem várias tecnologias de banco de dados e ferramentas de processamento de dados, e diferentes conjuntos de dados exigem ferramentas distintas para uma análise eficiente.
A modelagem de dados dá a você a chance de entender seus dados e fazer as escolhas tecnológicas certas para armazenar e gerenciar esses dados. Da mesma forma que um arquiteto projeta um esquema antes de construir uma casa, as partes interessadas da empresa projetam um modelo de dados antes de desenvolver soluções de banco de dados para suas organizações.
A modelagem de dados traz os seguintes benefícios:
- Reduz erros no desenvolvimento de softwares de banco de dados
- Facilita a velocidade e a eficiência da concepção e criação do banco de dados
- Cria consistência na documentação de dados e na concepção do sistema em toda a organização
- Facilita a comunicação entre engenheiros de dados e equipes de business intelligence
Quais são os tipos de modelos de dados?
A modelagem de dados geralmente começa representando conceitualmente os dados e, em seguida, representando-os novamente no contexto das tecnologias escolhidas. Analistas e partes interessadas criam vários tipos diferentes de modelos de dados durante o estágio de concepção de dados. Veja a seguir os três tipos principais de modelos de dados:
Modelo de dados conceitual
Modelos de dados conceituais oferecem uma visão geral dos dados. Eles explicam o seguinte:
- Quais dados o sistema contém
- Atributos de dados e condições ou restrições nos dados
- A quais regras de negócios os dados estão relacionados
- Como os dados são mais bem organizados
- Requisitos de segurança e integridade de dados
As partes interessadas e os analistas de negócios normalmente criam o modelo conceitual. Trata-se de uma representação diagramática simples que não segue as regras formais de modelagem de dados. O que importa é que ele ajuda as partes interessadas técnicas e não técnicas a compartilhar uma visão comum e concordar com a finalidade, o escopo e o design de seus projetos de dados.
Exemplo de modelos de dados conceituais
Por exemplo, o modelo de dados conceituais para uma concessionária de automóveis pode mostrar as entidades de dados assim:
- Uma entidade Showrooms que representa informações sobre os diferentes pontos de venda que a concessionária possui
- Uma entidade Carros, que representa os vários carros que a concessionária estoca atualmente
- Uma entidade Clientes, que representa todos os clientes que fizeram uma compra na concessionária
- Uma entidade Vendas, que representa as informações sobre a venda propriamente dita
- Uma entidade Vendedor, que representa as informações sobre todos os vendedores que trabalham para a concessionária
Esse modelo conceitual também incluiria requisitos de negócios, como os seguintes:
- Cada carro deve pertencer a um showroom específico.
- Cada venda deve ter pelo menos um vendedor e um cliente associados.
- Cada carro deve ter o nome da marca e o número do produto.
- Cada cliente deve fornecer seu número de telefone e endereço de e-mail.
Portanto, modelos conceituais atuam como uma ponte entre as regras de negócios e o sistema de gerenciamento de banco de dados físico (DBMS) subjacente. Modelos de dados conceituais também são chamados de modelos de domínio.
Modelo de dados lógico
Modelos de dados lógicos mapeiam as classes de dados conceituais para estruturas de dados técnicas. Eles fornecem mais detalhes sobre os conceitos de dados e as relações de dados complexas que foram identificados no modelo de dados conceitual, como estes:
- Tipos de dados dos vários atributos (por exemplo, string ou número)
- Relações entre as entidades de dados
- Atributos primários ou campos-chave nos dados
Arquitetos e analistas de dados trabalham juntos para criar o modelo lógico. Eles seguem um dos vários sistemas formais de modelagem de dados para criar a representação. Às vezes, equipes ágeis podem optar por pular essa etapa e passar diretamente dos modelos conceituais para os físicos. No entanto, esses modelos são úteis para projetar bancos de dados grandes, chamados de data warehouses, e para projetar sistemas de relatórios automáticos.
Exemplo de modelos de dados lógicos
Em nosso exemplo de concessionária de automóveis, o modelo de dados lógico expandiria o modelo conceitual e examinaria mais profundamente as classes de dados, da seguinte forma:
- A entidade Showrooms tem campos como nome e localização como dados de texto e um número de telefone como dados numéricos.
- A entidade Clientes tem um endereço de e-mail de campo com o formato [email protected] ou [email protected]. O nome do campo não pode ter mais de 100 caracteres.
- A entidade Vendas tem o nome de um cliente e o nome de um vendedor como campos, juntamente com a data de venda como um tipo de dados de data e o valor como um tipo de dados decimal.
Portanto, modelos lógicos atuam como uma ponte entre o modelo de dados conceitual e a tecnologia de base e a linguagem de banco de dados que os desenvolvedores utilizam para criar o banco de dados. No entanto, eles são independentes de tecnologia, e você pode implementá-los em qualquer linguagem de banco de dados. Em geral, engenheiros de dados e partes interessadas tomam decisões tecnológicas depois de terem criado um modelo de dados lógico.
Modelo de dados físico
Modelos de dados físicos mapeiam os modelos de dados lógicos para uma tecnologia de DBMS específica e utilizam a terminologia do software. Por exemplo, eles fornecem detalhes sobre o seguinte:
- Tipos de campos de dados, conforme representados no DBMS
- Relações de dados, conforme representados no DBMS
- Detalhes adicionais, como ajuste de performance
Engenheiros de dados criam o modelo físico antes da implementação final do projeto. Eles também seguem técnicas formais de modelagem de dados para garantir que tenham coberto todos os aspectos do projeto.
Exemplo de modelos de dados físicos
Suponha que a concessionária de automóveis tenha decidido criar um arquivamento de dados no Amazon S3 Glacier Flexible Retrieval. Seu modelo de dados físico descreve as seguintes especificações:
- Em Vendas, o valor da venda é um tipo de dados flutuante e a data da venda é um tipo de dados de carimbo de data/hora.
- Em Clientes, o nome do cliente é um tipo de dados de string.
- Na terminologia do S3 Glacier Flexible Retrieval, um cofre é a localização geográfica dos seus dados.
Seu modelo de dados físico também inclui detalhes adicionais, como em qual região da AWS você criará seu cofre. Portanto, o modelo de dados físico atua como uma ponte entre o modelo de dados lógico e a implementação final da tecnologia.
Quais são os tipos de técnicas de modelagem de dados?
Técnicas de modelagem de dados são os diferentes métodos que você pode usar para criar modelos de dados distintos. As abordagens se desenvolveram ao longo do tempo em função das inovações nos conceitos de banco de dados e na governança de dados. Veja a seguir os principais tipos de modelagem de dados:
Modelagem de dados hierárquica
Na modelagem de dados hierárquica, você pode representar as relações entre os vários elementos de dados em um formato semelhante a uma árvore. Modelos de dados hierárquicos representam relações de um para muitos, com pais ou classes de dados raiz mapeados para vários filhos.
No exemplo da concessionária de automóveis, a classe principais Showrooms teria as entidades Carros e Vendedores como secundários, porque há vários carros e vendedores trabalhando em um showroom.
Modelagem de dados de grafos
A modelagem de dados hierárquica evoluiu com o passar do tempo e se transformou na modelagem de dados de grafos. Modelos de dados de grafos representam relações de dados que tratam entidades igualmente. As entidades podem se vincular entre si em relações de um para muitos ou de muitos para muitos sem qualquer conceito de pai ou filho.
Por exemplo, um showroom pode ter vários vendedores, e um vendedor também pode trabalhar em vários showrooms se os seus turnos variarem de acordo com o local.
Modelagem de dados relacional
A modelagem de dados relacional é uma abordagem de modelagem popular que visualiza classes de dados como tabelas. Diferentes tabelas de dados se unem ou se vinculam usando chaves que representam a relação de entidades do mundo real. Você pode usar a tecnologia de banco de dados relacional para armazenar dados estruturados, e um modelo de dados relacional é um método útil para representar sua estrutura de banco de dados relacional.
Por exemplo, a concessionária de automóveis teria modelos de dados relacionais que representam a tabela Vendedores e a tabela Carros, conforme mostrado aqui:
ID do vendedor | Nome |
1 | Jane |
2 | John |
ID do carro | Marca do carro |
C1 | XYZ |
C2 | ABC |
ID do vendedor e ID do carro são chaves primárias que identificam exclusivamente entidades individuais do mundo real. Na tabela Showroom, essas chaves primárias atuam como chaves estrangeiras que vinculam os segmentos de dados.
ID do showroom | Nome do showroom | ID do vendedor | ID do carro |
S1 | Showroom de NY | 1 | C1 |
Em bancos de dados relacionais, as chaves primária e estrangeira trabalham juntas para mostrar a relação de dados. A tabela anterior demonstra que showrooms podem ter vendedores e carros.
Modelagem de dados de relações entre entidades
A modelagem de dados de relações entre entidades (ER) usa diagramas formais para representar as relações entre entidades em um banco de dados. Arquitetos de dados usam várias ferramentas de modelagem de ER para representar dados.
Modelagem de dados orientada a objetos
A programação orientada a objetos usa estruturas de dados, chamadas de objetos, para armazenar dados. Esses objetos de dados são abstrações de software de entidades do mundo real. Por exemplo, em um modelo de dados orientado a objetos, a concessionária de automóveis teria objetos de dados, como Clientes, com atributos do tipo nome, endereço e número de telefone. Você armazenaria os dados do cliente de modo que cada cliente do mundo real fosse representado como um objeto de dados de cliente.
Modelos de dados orientados a objetos superam muitas das limitações dos modelos de dados relacionais e são populares em bancos de dados multimídia.
Modelagem de dados dimensional
A computação empresarial moderna usa a tecnologia de data warehouse para armazenar grandes quantidades de dados para análise. Você pode usar projetos de modelagem de dados dimensionais para armazenamento e recuperação de dados em alta velocidade a partir de um data warehouse. Modelos dimensionais usam dados duplicados ou redundantes e priorizam a performance ao uso de menos espaço para o armazenamento de dados.
Por exemplo, em modelos de dados dimensionais, a concessionária de automóveis tem dimensões como Carro, Showroom e Tempo. A dimensão Carro tem atributos como nome e marca, mas a dimensão Showroom tem hierarquias como estado, cidade, nome da rua e nome do showroom.
O que é o processo de modelagem de dados?
O processo de modelagem de dados segue uma sequência de etapas que você deve realizaar repetidamente até criar um modelo de dados abrangente. Em qualquer organização, várias partes interessadas se reúnem para criar uma visualização completa dos dados. Embora as etapas variem com base no tipo de modelagem de dados, a sequência a seguir representa uma visão geral.
Etapa 1: identificar entidades e suas propriedades
Identifique todas as entidades no seu modelo de dados. Cada entidade deve ser logicamente distinta de todas as demais e pode representar pessoas, locais, coisas, conceitos ou eventos. Cada entidade é distinta, porque tem uma ou mais propriedades exclusivas. Você pode pensar em entidades como substantivos e em atributos como adjetivos no seu modelo de dados.
Etapa 2: identificar as relações entre entidades
As relações entre as diferentes entidades estão no centro da modelagem de dados. Regras de negócios inicialmente definem essas relações em um nível conceitual. Você pode imaginar relações como se fossem os verbos no seu modelo de dados. Por exemplo, o vendedor vende muitos carros, ou o showroom emprega muitos vendedores.
Etapa 3: identificar a técnica de modelagem de dados
Depois de entender conceitualmente suas entidades e as relações entre elas, você pode determinar a técnica de modelagem de dados que melhor se adapta ao seu caso de uso. Por exemplo, você pode usar a modelagem de dados relacional para dados estruturados, mas a modelagem de dados dimensional para dados não estruturados.
Etapa 4: otimizar e iterar
Você pode otimizar ainda mais seu modelo de dados para adequá-lo aos seus requisitos de tecnologia e performance. Por exemplo, se planeja usar o Amazon Aurora e uma linguagem de consulta estruturada (SQL), você colocará suas entidades diretamente em tabelas e especificará relações usando chaves estrangeiras. Por outro lado, se optar por usar o Amazon DynamoDB, será necessário pensar nos padrões de acesso antes de modelar a tabela. Como o DynamoDB prioriza a velocidade, primeiro você determina como acessará seus dados e, em seguida, modela-os no formato em que serão acessados.
Normalmente, você revisará essas etapas várias vezes à medida que sua tecnologia e seus requisitos mudarem com o passar do tempo.
Como a AWS pode ajudar com a modelagem de dados?
Você também pode usar o AWS Amplify DataStore para modelagem de dados mais rápida e fácil a fim de criar aplicações Web e móveis. Ele tem uma interface visual e baseada em código para definir seu modelo de dados com relações, o que acelerará o desenvolvimento das suas aplicações.
Comece a usar a modelagem de dados na AWS criando uma conta gratuita hoje mesmo.
Próximas etapas na AWS
Obtenha acesso instantâneo ao nível gratuito da AWS.