Conheça o Plugfeed | » Início » Desenvolvimento » Banco de dados e SQL » Modelagem de Dados: Hierarquias - Parte 4
Conheça o Plugfeed | » Início » Desenvolvimento » Banco de dados e SQL » Modelagem de Dados: Hierarquias - Parte 4 -->
 
Avaliação: | Publicado em: 23/05/2007
Modelagem de Dados: Hierarquias - Parte 4
Gustavo Maia Aguiar é graduado em Administração de Empresas e pós-graduado em bancos de dados, atua na área de tecnologia de informação desde 2001, exercendo funções de desenvolvedor, analista, administrador de banco de dados (DBA) e administrador de dados (AD). É profissional certificado (MCP, MOS, MCDBA, MCAD, MCTS, MCITP, MCT, MVP e Itil Certified Professional). Já trabalhou em instituições do governo, iniciativa privada e parceiros Microsoft em atividades de suporte, consultoria e treinamento. É membro ativo e moderador dos fóruns de SQL Server do MSDN e TechNet e das comunidades SQL Server Brasil e SQL Brasil (Orkut). Semanalmente publica artigos de banco de dados e SQL Server em seu blog.
Modelagem de Dados: Hierarquias - Parte 4

A técnica de Joe Celko

Após a seqüência de três artigos descrevendo o que são hierarquias, seus tipos e elementos, etc foram demonstradas algumas técnicas de representação como a técnica do modelo adjacente, a técnica dos caminhos materializados e a técnica da tabela ponte.

As técnicas apresentadas possuem diversos pontos fortes e fracos. Essas técnicas lidam de formas diferentes com a navegação, com consultas de superior imediato, com a economia de espaço, atualização de registros, complexidade, etc. Algumas apresentam eficiência em alguns desses aspectos enquanto podem se mostrar insatisfatórias em outros. A utilização de extensões proprietárias pode ajudar a contornar as limitações, mas nem sempre as limitações são totalmente superadas.

Será apresentada mais uma técnica que representa uma alternativa na representação de hierarquias nos modelos de dados no nível físico. Nesse artigo, será discorrida a explicação e a implementação da técnica de Joe Celko para forma de lidar com as hierarquias. Será utilizada ainda sua aplicação no exemplo da fictícia empresa ARP Associados.

A origem

Em algumas comunidades e fóruns que já participei, sempre que surgia um problema que envolvesse hierarquias, eram apontadas basicamente duas soluções. A primeira é o já descrito modelo adjacente e a segunda era o modelo dos caminhos aninhados que consiste em uma representação de autoria de Joe Celko (embora esse nome não seja citado na maioria das vezes). Entre outras atribuições, Joe Celko atua como um consultor independente e especialista em SQL e que reconhecendo as limitações da SQL para retornar determinadas combinações de dados que envolvam hierarquias, desenvolveu um modelo alternativo para modelar essas relações de tal forma que responder a determinadas perguntas resulta em uma instrução SQL mais performática e mais simples.

A técnica de Joe Celko utiliza conceitos de glóbulos e extremidades. Para representar relações hierárquicas, cada nó “engloba” os seus nós inferiores. Esse processo inicia-se no nó raiz e vai até os nós folha. Antes de propriamente partir para a implementação, a figura abaixo mostra o organograma da ARP Associados e a relação entre os níveis através dos glóbulos:

Os níveis maiores englobam os níveis menores desde o nó raiz até os nós folha. Pode-se visualizar que o retângulo azul escuro, que representa o centro de custo “Presidência” engloba todos os demais centros de custos e que de forma semelhante o centro de custo “Finanças e Contabilidade” engloba os centros de custo “Orçamento” e “Execução”.

Páginas: « Anterior 1 2 3 4 5 6 7 8 Próximo »  Próximo: Implementação I »

Este artigo é a parte 4 de 4 da seguinte série:

luiz humberto de faria <lh_faria@hotmail.com>
parabens pelo artigo
Genildo Miranda Praça <genildo_miranda@hotmail.com>
Um dos melhores artigos que já encontrei na internet: Claro, bem exemplificado e escrito.
Parabéns, pelo excelente trabalho.








Um produto Detetive.net