top of page

Modelagem de Dados

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


Telo: Exemplo de Tabela Fato
Telo: Exemplo de Tabela Fato

Exemplo de Tabela Dimensão


Tela; Exemplo de Tabela Dimensão
Tela; 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


Tela: Exemplos de modelo Estrela
Tela: Exemplos de modelo Estrela

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


Tela: Exemplo de Cardinalidade de Um - para - Um
Tela: Exemplo de Cardinalidade de Um - para - Um

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.


Tela: Exemplo de Cardinalidade de Um - para - Muitos
Tela: Exemplo de Cardinalidade de Um - para - Muitos

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.


Tela: Exemplo de Muitos - para - Muitos
Tela: Exemplo de Muitos - para - Muitos

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:


Tela: Exemplo de Cardinalidade Muito - para - Muitos, com Tabela Bridge
Tela: Exemplo de Cardinalidade Muito - para - Muitos, com Tabela Bridge

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


Ícone do POWER  BI
Ícone do POWER BI

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


Tela: Abrir arquivo novo
Tela: Abrir arquivo novo

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


Tela: Inicial para Criação do Painel
Tela: Inicial para Criação do Painel

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:


Tela: Importar Dados da Pasta de Trabalho do Excel
Tela: Importar Dados da Pasta de Trabalho do Excel

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:


Tela: Selecionar pasta do Excel
Tela: Selecionar pasta do Excel

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


Tela: Selecionar Todas as Tabelas
Tela: Selecionar Todas as Tabelas

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


Tela: Carga de Dados
Tela: Carga de Dados

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".


Tela: Acessar Tela de Modelagem de Dados
Tela: Acessar Tela de Modelagem de Dados

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.


Tela: Modelo de dados sugerido pelo POWER BI, após a carga de dados.
Tela: Modelo de dados sugerido pelo POWER BI, após a carga de dados.

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


Tela: Cardinalidades de Modelo de Dados no POWER BI
Tela: Cardinalidades de Modelo de Dados no POWER BI


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".


Tela: Excluir Cardinalidade
Tela: Excluir Cardinalidade

Observe o resultado:


Tela: Exclusão da Relacionamento
Tela: Exclusão da Relacionamento

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:


Tela: Novo Relacionamento
Tela: Novo Relacionamento

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:


Tela: Cardinalidade ATIVA
Tela: Cardinalidade ATIVA

A tela abaixo apresenta uma Cardinalidade INATIVA


Tela: Cardinalidade INATIVA
Tela: Cardinalidade INATIVA

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


Tela: Análise da Cardinalidade
Tela: Análise da Cardinalidade

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:


Tela: exemplo de Chave Primária
Tela: exemplo de 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:


Tela: Chave Estrangeira da Tabela TabItensDaVenda
Tela: Chave Estrangeira da Tabela TabItensDaVenda

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


Learn BI Academy - Consultoria e Treinamento
Rua Dionísio Erthal, 69 - Santa Rosa - Niterói - RJ
learnbitraining@gmail.com
Tel.: 21-9-8825-2737

© 2020 por Marcelo Puentes.

bottom of page