Pessoal,
Hoje vamos falar sobre relacionamentos entre tabelas.
Essa é uma dúvida muito recorrente para iniciantes na área de BI e é um assunto bem recorrente no nosso grupo do WhatsApp.
O conceito aplica-se em todas as ferramentas de BI, não somente no Power BI. Dominar o assunto é importante para que o seu modelo funcione adequadamente.
Mas, o que é esse relacionamento entre tabelas?
Quando importamos dados no Power BI, é comum carregarmos mais de uma tabela. Por exemplo: Cliente, Produto, Região, Vendas…
Geralmente, cada tabela contém informações pertinentes ao seu título, como: código do cliente, nome do cliente, sexo do cliente…
Produto contém o código do produto, descrição do produto…
E assim por diante.
Sabendo que cada tabela armazena informações pertinentes ao seu título, é possível perceber que o fluxo abaixo faz sentido:
O cliente compra produto em uma determinada região.
Essas relações entre quem compra, o que compra e onde compra, são o que chamamos de relacionamentos.
Relacionamento é a existência de uma informação em comum entre duas ou mais tabelas. Para sabermos qual produto o cliente comprou, é preciso existir o código do cliente e o código do produto juntos em uma tabela, assim, conseguimos vincular uma compra a um determinado cliente.
No exemplo abaixo, temos quatro tabelas: Cliente, Região, Produto e Vendas.
Note que a tabela de Vendas possui as informações do cliente, a região que ele fez a compra e qual produto ele comprou.
Analisando as informações do quadro em vermelho, notamos que a Venda de código 1 foi realizada para a cliente Maria, pois o código do cliente que consta nessa linha é o 1 e, ao avaliarmos na tabela de cliente, quem possui o código 1, constatamos que é a Maria.
Notou que precisamos ir na tabela cliente para sabermos quem fez a compra? Essa consulta só foi possível porque temos o código do cliente em ambas as tabelas: Vendas e Cliente. Esse campo em comum é o que permitiu esse relacionamento entre as tabelas.
Na tabela de cliente essa coluna chave é chamada de Primary Key ou chave primária, pois, ela é o campo que atribui um código único para cada cliente.
A tabela de Vendas ela é chamada de Foreign Key ou Chave Estrangeira, pois, ela não faz parte do contexto de vendas, mas, ela é necessária para identificar junto a tabela de clientes para quem foi realizada a venda.
Agora que entendemos o que é um Relacionamento e como ele funciona, precisamos entender quais tipos existem.
Temos três tipos possíveis:
- Um para um
- Um para vários
- Vários para vários
Um para um ou 1:1
Esse tipo de relacionamento ocorre quando existe apenas um atributo possível para cada tabela do relacionamento.
Ex: Cliente e Documento
Cada cliente (1) pode ter apenas um CPF (1).
Note que para cada ocorrência da tabela cliente existe apenas uma linha correspondente na tabela documento.
1 para vários ou 1:N
Esse tipo de relacionamento é o mais comum de acontecer. Nesse cenário temos um atributo com possibilidade de ter mais de um correspondente na outra tabela.
Ex: Cliente e Telefone
Um único cliente (1) pode ter mais de um telefone (N). No exemplo abaixo, a cliente Maria possui mais de um número celular.
Vários para vários ou N:N
Esse relacionamento acontece quando temos vários atributos possíveis em ambos os lados.
Ex: Pedidos e Produtos
Vários pedidos podem ter mais de um produto e um mesmo produto pode estar em mais de um pedido.
Por questão de performance e desempenho do ambiente em que esse cenário ocorre, não recomenda-se manter o modelo com esse tipo de relacionamento. Uma prática muito comum e aconselhável nesse caso é criar uma terceira tabela auxiliar contendo os códigos dos pedidos e dos produtos.
Agora que entendemos como os relacionamentos funcionam, podemos avaliar no Power BI como eles acontecem de fato.
Abordaremos isso no post seguinte. 😉
Deixe sua opinião e comentário!
Abs.
Meirieli Ribeiro
Parabéns Meirieli pela iniciativa e conteúdo, excelente explicação
Obrigada, Paulo! Tudo feito com carinho pensando na melhor forma possível de explanar o assunto. Conto com sua visita aqui nos seguintes para continuar aprimorando a qualidade e quantidade de assuntos abordados. Um grande abraço.