Modelagem de Dados
- Marcelo Puentes
- há 5 dias
- 8 min de leitura
Atualizado: há 3 dias
A modelagem trata do relacionamento entre tabelas, isto é, da relação (conexão lógica) gerada a cada par de tabelas para que os dados dessas tabelas se interliguem através de dados comuns. Isso trás várias vantagens para a estrutura de dados e desepenho do banco de dados e/ou do relatório, tratando-se de POWER BI.
Alguns motivos para usarmos relacionamentos:
Evitar a redundância de dados nas tabelas
Trás leveza ao modelo de dados
Economida de estaço e processamento.
Facilita a criação de realtórios, melhorando os processos de busca e analise de dados
O modelo de dados é a estrutura central dos dados das tabelas, em outras palavras, é o recurso que determina a organização, padronização e relação entre os dados os diferentes conjuntos de dados no seu relatório. Sem um bom modelo de dados é impossível obter um relatório funcional e confiável.
Os relacionamentos entre as tabelas se dá partir de conexões entre campos comuns A CADA PAR de tabelas existentes no relatório.
Na literatura de diz que o modelo no POWER BI se dá geralmente no formato Estrela, mas isso não é necessariamente verdade. Na verdade dependerá muito dos conjuntos de dados existentes no modelo.
Para definir os relacionamentos é importante ter em mente a classificação das tabelas do modelo. Podemos classificar as tabelas como:
Tabelas Fato
Tabelas Dimensão
Classificação das Tabelas
Tabelas Fato
Geralmente conhecidas como Tabelas “Narrativas” ou “Históricas”, isto é, são tabelas que armazenam dados com históricos de vendas, movimentação financeira, atendimentos, movimentação de estoque, dentre outros.
Outra característica é que são tabela extensas, com grande volume de dados, elevado número de atualizações.
Os dados dessas tabelas é que serão analisados nos relatórios, alimentarão os gráficos e demais visuais estatísticos.
Tabelas Dimensão
Geralmente conhecidas como tabela de Cadastro, isto é, tabelas que armazenam dados característicos e descritivos de pessoas, objetos, produtos, categorias, lojas (matriz e filias), etc.
Os dados dessas tabelas geralmente são usados para filtrar os dados das tabelas Fato.
Exemplo de tabela FATO

Exemplo de Tabela Dimensão

*Observe que o IDLivro não se repete na tabela Fato, porém se repete na tabela Dimensão
Esquema de Modelagem Tipo Estrela
Como dito anteriormente, o tipo de modelagem mais comum em BI é a do tipo estrela.
Nesse modelo existirá uma única tabela Fato centralizando as conexões com as demais tabelas do modelo.
É importante destacar que o modelo Estrela nem sempre será a melhor opção.
O modelo sempre dependerá do conjunto de dados e tabelas existentes no modelo de dados.
Nesse sentido não devemos nos prender a um único modelo, no caso do modelo estrela, e sim observar as tabelas disponíveis no modelo de dados.
Neste artigo abordaremos funções do grupo Text.
Esquema de Modelagem Tipo Estrela - Exemplos

Fonte das Imagens: site Caderno de Prova - https://cadernodeprova.com.br/esquema-estrela-star-schema/
Um-para-Um
Considerando dois conjuntos de dados (tabelas) A e B, significa que para cada linha (registro) da tabela A só, e somente só, haverá nenhum ou um registro correspondente na tabela B.
É uma relação estabelecida entra duas tabela Fato

Um-para-Muitos
Considerando dois conjuntos de dados (tabelas) A e B, significa que para cada linha (registro) da tabela A haverá nenhum, um ou mais registros correspondentes na tabela B.

Muitos-para-Muitos
Tipo de relacionamento, ou cardinalidade, onde vários registros de uma Tabela A, encontra paridade vários registros na Tabela B, e vice e versa.
Em outras palavras, considerando dois conjuntos de dados (tabelas) A e B, significa que para cada linha (registro) da tabela A haverá nenhum, um ou mais registros correspondentes na tabela B, e vice versa.
Mas vale destacar que, tecnicamente, não existe relacionamentos de Muitos – para – Muitos.
Embora o POWER BI permita esse tipo de relacionamento, essa carinalidade gera uma alteração no volume de registros, trazendo para o relatório um alteração nos resultados apresentados.
As tabelas abaixo exemplificam uma relação (cardinalidade) de Muitos - para - Muitos, de forma direta. Essa não é a melhor forma, pois isso causará problemas na estrutura de dados, e o modelo será corrompido:
Haveria a necessidade de repetir valores várias vezes em colunas diferentes.
Ficará praticamente impossível realizar buscas bidirecionais eficientes, filtrar ou agregar dados de forma coerente.
A exclusão ou alteração de registros implicaria na atualizar múltiplas linhas, aumentando muito o risco de erros e dados órfãos.

A melhor solução, quando for necessário gerar uma relação (cardinalidade) de Muitos – para – Muitos, é acrescentar uma terceira tabela.
Vamos considerar dois conjuntos de dados, sendo A representanto a dTabLivros, e B representando a tabela dTabAutor. Havendo a necessidade de criar uma relação entre ambas, que seria de Muitos - para - Muitos, visto que:
Um autor pode escrever vários livros
Um livros pode ser escrito por vários autores
Criamos uma terceira tabela C representando fTabEscreve. Essa terceira tabela também pode ser chamada de “Tabela Bridge”, ou Tabela Ponte. Veja o exemplo abaixo:

Assista o vídeo abaixo, onde explicaremos e exemplificaremos as funções desse artigo.
Para seguir os exemplos propostos, baixe o aquivo Excel localizado no link abaixo:
Caso não tenhs o POWER BI Desktop instalado sua máquina, baixe-o atráves do botão abaixo:
Criando Exemplo de Modelo de Dados e Cardinalidade entre Tabelas
Crie uma instância do POWER BI clicando no ícone do POWER BI, criado após a instalação

Após abrir o Power BI, será apresentada a tela abaixo:

Clique no botão em destaque (Relatório em Branco), e a tela abaixo será apresentada:

O próximo passo é importar os dados da base baixada no início desse artigo, uma pasta Excel chamada EstudoSobreFuncoes.
Para importar os dados dessa base, clicando no botão "Pasta de Trabalho do Excel", como destacado na tela abaixo:

Para realizar a importação, siga os passos abaixo
1 - Clique no botão destacado na imagem acima: Pasta de Trabalho do Excel
2 - Na tela que será apresenta, selecione a pasta Excel "BaseLivraria" e clique no botão Abrir, como apresentada na tela abaixo:

3 - Na próxima tela selecione TODAS as tabelas, e clique no botão "Carregar". Observe a tela abaixo:

Observe que todas as tabelas serão carregadas para o POWER BI

Observe o destaque no botão "Aplicar alterações". Esse botão não precisa ser clicado, pois a alterações, no caso a carga de dados, já está em processamento.
Vamos a modelagem de dados:
5 - Clique que no botão "Exibição de Modelo".

A partir de agora vamos iniciar a análise sobre modelo
Observe que o próprio POWER BI procura auxiliar, sgerindo conexões entre as tabelas.

As representações de cardinalidade no POWER BI são:

6 - Para desfazer uma relação clique com o botão direito do mouse sobre a linha da relação exitente e selecione a opção "Excluir".

Observe o resultado:

7 - Para estabelecer uma relação (ou cardinalidade) entre duas tabelas, observer o campos comuns entre as tabelas e arraste um para cima do outro.
Na sequência a tela "Novo Relacionamento" será apresentada, como exposto na tela abaixo:

Identificação dos pontos destacados:
Na Tela de Modelo de Dados
1 - Campo IdGenero da tabela TabGenero. Esse é o campo comum entre a TabGenero e TabLivros.
2 - Campo IdGenero da tabela TabLivros. Esse é o campo entre a tabela TabLivros e TabGenero.
Na tela "Novo Relacionamento", temos os seguintes pontos:
1 - Campo IdGenero da tabela TabLivros
2 - Campo IdGenero da tabela TabGenero
3 - Cardinalidade definida como Muitos - para - Um (o mesmo que Um - para - Muitos), mas trás as opções de Um - para - Um, e Muitos - para -Muitos.
4 - Direção do Filtro Cruzado definido como Único, isto significa que TabGenero (Tabela Dimensão) filtrará TabLivros (Tabela Fato, quando TabGenero é a referência). Quando selecionado Ambos, significa que a relação será de TabGenero para TabLivro, e vice e eversa.
5 - "Ativar este Relacionamento", quando selecionado, significa que é a relação válida entre as tabelas.
Obs.: Existem situações em que a relação estará destivada, e a linha da cardinalidade ficará tracejada.
Quando o caso a relação só será reconhecida através uma função DAX USERELATIONSHIP.
Na tela abaixo apresenta uma relação ATIVA:

A tela abaixo apresenta uma Cardinalidade INATIVA

Observe a tela abaixo e veja a análise que faremos sobre a cardinalidade (ou relação) estabelecida entre TabGenero e TabLivros:

Vamos observar e definir os pontos em destaque:
Os números 1 e 2 representam que a relação entre TabGenero(1) e TabLivros(*) é de Um - Para - Vários
O número 3 representa filtro é um único sentido, isto é, TabGenero filtra TabLivros.
Os números 4 representam o campo comum entre as tabelas.
Chaves Primária (Primary-key) e Estrangeira (Foreign-key)
Como comentado em alguns pontos anteriores desse artigo, os relacionamentos serão sempre entre campos comuns e/ou equivalentes entre cada par de tabelas.
Os campos comuns serão sempre no mesmo tipo, ou de tipos compatíveis, como por exemplo:
Texto - Texto
Número - Número
Data - Data
O que são chaves primárias e estrangeiras
As chaves são de extrema impostância para banco de dados relacionais, pois definem como as relações entre as tabelas acontecerão.
Para entendermos melhor os conceitos seguintes, vamos sempre ter em mente que estamos falando de duas tabelas: A e B.
Chave Primária (ou Primaty-key, ou PK): É a chave que torna um registro EXCLUSIVO na tabela de dados. Garante que não haverá duas ou mais linhas exatamente iguais na mesma tabela (tabela dimensão).
Por exemplo, o RG e/ou CPF tornam cada pessoa física única diante do estado. Na empresa em que trabalhamos, academia ou faculdade que frequentamos temos a matrícula, que torna cada funcionário ou aluno dentro da instituição.
Exemplo de Tabela Dimensão e Identificação da Chave Primária:

Observe que o Id do Autor não se repete.
Chave Estrangeira (ou Foreign-Key, ou FK): É a chave garante a ponte entre duas tabelas, identificando na segunda tabela um registro vindo da primeira tabela. Ela serve de ponte entre duas tabela.
Os dados vindos da tabela dimensão podem, ou não, se repretirem na segunda tabela (geralmente uma tabela FATO).
Exemplo de Tabela FATO com identificação da Chave Estrangeira:

Os relacionamentos sempre serão entre par de tabelas, mas uma tabela pode forma pares com várias tabelas.
Chave Composta (ou Chave Primária Composta)
É formada por duas ou mais colunas (limite aceitável - três colunas), para representar uma chave primária.
Por exemplo, alguns orgãos de estado necessitam das passoes físicas três informações: Nome Completo, Data de Nascimento e Nome da Mãe. Esses três dados, juntos, são pacazes de identificar uma pessoa física em um banco de dados.
Esse recurso é capaz de manter a integridade dos dados em relacionamentos de Muitos - para - Muitos.
Gostou? Deixe seus comentários. Se torne membro do nosso canal no YouTube e nos siga em nossas redes sociais.
Grande abraço.
Até o próximo artigo.


Comentários