Mundo .NET Ed. № 16 – Recursividade, Hierarquias, CTEs e Consultas SQL aplicadas ao Marketing de Rede

Boa Tarde Pessoal,

Esse mês fui convidado pela revista Mundo .NET para escrever um artigo referente ao SQL Server. Há sempre algo a dizer sobre SQL Server, mas dentre uma gama de possibilidades, resolvi escolher um tema de negócio bem atual e que representa um desafio de modelagem sobre tudo para iniciantes. Na edição № 16 da revista, escrevi um artigo sobre a implementação de um modelo de dados de uma empresa que trabalha com Marketing de rede. O artigo detalha não somente a elaboração do modelo em si, mas principalmente, como resolver as dificuldades natas na elaboração de consultas que aparecem em modelos similares.

Normalmente uma empresa que utiliza a estratégia de Marketing não faz uma propaganda maciça de seus produtos. Ao contrário, a empresa revende grandes quantidades de produtos a alguns poucos distribuidores que se encarregam de repassá-los ao mercado seja através de uma venda direta a um consumidor ou de forma indireta utilizando outros colaboradores para efetuar as vendas.

Uma das principais características do Marketing de rede é a presença da indicação dos membros participantes. A empresa repassa os produtos a seus distribuidores que podem ter uma rede de colabores que por sua vez podem contar com outras pessoas para efetuar as vendas. Essa pirâmide de colaboradores faz com que conceitualmente exista uma relação hierárquica. Um colaborador pode vender diretamente, mas também pode recrutar outros colaboradores para realizarem as vendas e esses últimos também podem ter sua rede de colaboradores. Não importa se um colaborador faz a venda direta ou se a faz indireta através de sua rede particular de colaboradores. No final das contas todos são colaboradores. Isso incorre no fato de que um colaborador pode referenciar-se a outro colaborador.

O detalhe da relação hierárquica não é exclusivo do marketing de rede. Os modelos de dados estão repletos de situações desse tipo como a relação empregado – supervisor, centro de custo filho – centro de custo pai, contribuinte – dependente, etc. A implementação de relacionamentos recursivos (self join) pode ser trabalhosa, mas existem boas alternativas para lidar com ele. Nesse artigo eu demonstro como fazê-lo através das CTEs já que elas estão presentes tanto nas versões 2005 como 2008 do SQL Server.

Aos que adquirirem a revista, espero que apreciem o material. Aos que não conhecem a revista Mundo .NET abaixo o link da revista.

Revista Mundo.NET
http://www.mundodotnet.com.br/

Para quem deseja conhecer outras alternativas para lidar com relacionamentos hierárquicos seguem algumas referências:

Modelagem de Dados: Hierarquias – Parte 1
http://www.plugmasters.com.br/sys/materias/586/1/Modelagem-de-Dados%3A-Hierarquias—Parte-1

Modelagem de Dados: Hierarquias – Parte 2
http://www.plugmasters.com.br/sys/materias/587/1/Modelagem-de-Dados%3A-Hierarquias—Parte-2

Modelagem de Dados: Hierarquias – Parte 3
http://www.plugmasters.com.br/sys/materias/680/1/Modelagem-de-Dados%3A-Hierarquias—Parte-3

Modelagem de Dados: Hierarquias – Parte 4
http://www.plugmasters.com.br/sys/materias/694/1/Modelagem-de-Dados%3A-Hierarquias—Parte-4

[ ]s,

Gustavo

Uma resposta para “Mundo .NET Ed. № 16 – Recursividade, Hierarquias, CTEs e Consultas SQL aplicadas ao Marketing de Rede

  1. Pingback: T-SQL Tuesday #18 – CTEs | Blog do Leka

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s