A modelagem de dados pode ajudar empresas a alcançar resultados melhores e organizar as informações do negócio
Todo aplicativo possui uma estrutura muito fundamental e básica, lidando com organização, manipulação e apresentação de dados para atender aos requisitos estabelecidos para que aquele sistema funcione. Isso é chamado de modelo de dados, ou seja, uma representação conceitual que serve para expressar e comunicar requisitos de negócios.
Em outras palavras, ele apresenta visualmente a natureza dos dados envolvidos, bem como as regras de negócio que governam estes dados, e a forma como eles são organizados no banco de dados em questão.
O que são modelos de dados e principais características
Basicamente, o processo de modelagem de dados pode ser comparado ao processo de construir uma casa. Assim, considere o seguinte cenário:
-
Uma empresa A pretende construir uma casa de hóspedes. Essa seria nossa base de dados.
-
Para isso, chama-se um arquiteto de construção. Este seria nosso modelador de dados.
-
Em seguida, a empresa A explica ao arquiteto todos os requisitos de construção, ou seja, os requisitos do negócio.
-
O arquiteto, ou modelo de dados, desenvolve o plano solicitado e entrega à empresa A. Este é o modelo de dados.
-
Por fim, com o modelo em mãos, a empresa A chama outros engenheiros para construir a casa de hóspedes. Estes outros engenheiros são os cientistas e desenvolvedores de dados.
Portanto, a ideia do modelo de dados é realmente criar uma estrutura básica, que define como as informações devem ser capturadas e armazenadas em um banco de dados. O objetivo principal é armazenar e recuperar os dados da maneira mais eficaz possível.
Atualmente, existem diferentes tipos de modelos de dados, sendo os mais conhecidos:
Modelo de Dados Conceituais (CDM)
O modelo de dados conceitual inclui todas as principais entidades e relacionamentos, e não contém muito nível de detalhes de informações sobre atributos. Ele é frequentemente usado na fase de planejamento inicial.
Modelo de dados lógicos (LDM)
É uma extensão do modelo de dados conceitual. Inclui todas as entidades, atributos, grupos de chaves e relacionamentos que representam informações de negócios e definem regras de negócios.
Modelo de Dados Físicos (PDM)
Enfim, este modelo de dados inclui todas as tabelas, colunas, relacionamentos e propriedades de banco de dados necessários para a implementação física de bancos de dados. Entre os parâmetros importantes de um modelo de dados físico, estão: desempenho do banco de dados, estratégia de indexação, armazenamento físico e desnormalização.
Modelagem de dados: relacional x dimensional
Além disso, existem diferentes técnicas de modelagem de dados, sendo as principais a modelagem de dados relacionais e de dados dimensionais.
No caso da modelagem de dados relacionais (ER), esta é uma técnica utilizada em sistemas transacionais do tipo OLTP. Nesse caso, os modelos de dados de processamento de transações precisam ser eficientes em leitura e gravação, pois lidam com operações CRUD em tempo real. Um bom exemplo disso são os sistemas de pontos de venda (POS).
Já a técnica Dimensional Data Modeling é usada para projetar datawarehouses para aplicativos tipo OLAP, que suportam análises de negócios e relatórios de casos de uso.
Nesse caso, antes de iniciar qualquer esforço de modelagem de dados, o primeiro passo é entender o negócio e listar as métricas que precisam ser rastreadas e medidas. Isso pode incluir métricas de sucesso (como taxa de conversão) ou métricas relacionadas a desempenho do produto ou recurso (como taxa de cancelamento ou rejeição). Assim, definidas estas métricas de negócios, o modelo de dados é criado usando um processo de design específico.
Dependendo dos requisitos de negócios, seu modelo de dados pode ser relacional ou dimensional. Tudo depende do objetivo da modelagem de dados.
Estudo de caso e aplicação de um modelo de dados em empresas
Por fim, para deixar a explicação sobre modelagem de dados um pouco mais clara, trazemos um estudo de caso de uma empresa, divulgado em artigo da Towards Data Science. Trata-se de uma empresa, que podemos chamar de ABC, que possui 200 mercearias espalhadas por oito estados do país. Cada uma das lojas têm departamentos diferentes, como Necessidades Diárias, Cosméticos, Alimentos Congelados, Laticínios, etc.
Além disso, cada loja tem cerca de 20.000 produtos individuais em suas prateleiras, chamados de unidades de manutenção de estoque (SKUs). Assim, cerca de 6.000 destes SKUs vêm de fabricantes externos, e portanto possuem códigos de barras impressos na embalagem do produto. Esses códigos de barras são chamados de Códigos de Produto Universais (UPCs).
Os dados são coletados pelo sistema de Ponto de Venda (POS) em 2 locais: porta da frente, onde é medido o takeaway do cliente, e porta dos fundos, onde os fornecedores fazem entregas.
Com isso, na mercearia, a administração se preocupa com a logística de pedido, estocagem e venda de produtos, com o objetivo de maximizar os lucros. Nesse sentido, a empresa realiza diversos esquemas promocionais, como reduções temporárias de preços, anúncios em jornais, displays, etc.
No caso desta empresa, foi preciso projetar um modelo de dados capaz de analisar as operações da cadeia de supermercados como um todo. Para isso, foi preciso antes definir os requisitos de negócios. No caso da empresa ABC, a ideia era entender melhor a jornada de compra dos clientes conforme capturadas pelo sistema POS.
Em seguida, foi realizada a identificação dos atributos necessários para organizar e estruturar os dados. Nesse caso específico, a empresa precisava ter noção dos dados sobre um determinado produto, em determinada loja, em determinado dia, e sob determinado esquema proporcional. Isso daria uma ideia maior sobre dimensões de data, produto, loja e promoção.
Na próxima etapa, a empresa ABC realizou o uso de um modelo de dados conceituais, com um modelo de dados preliminar sendo feito com base nas informações coletadas sobre as entidades. E, por fim, realizou-se a finalização dos atributos e o desenho final do modelo de dados lógico.
Assim, com a ajuda da modelagem de dados, a empresa conseguiu criar tabelas físicas que podem ser utilizadas em seus bancos de dados, com scripts personalizados e específicos para o negócio em questão.
Conclusão
Ou seja, é possível perceber que a modelagem de dados é uma das tarefas mais importantes no projeto de um aplicativo de software. Isso porque ela estabelece as bases de como os dados serão organizados, armazenados, recuperados e apresentados, mas também determina quais são as necessidades específicas daquele projeto.
O ideal é que todos os Cientistas de Dados e profissionais da área tenham um entendimento básico sobre modelagem de dados, estando preparados para se envolverem na criação de um modelo, e também a ler um modelo de dados já existente. Com isto, a empresa já está a meio caminho andado de poder aplicar este tipo de ferramenta e usufruir de seus benefícios sempre que possível.