Zusammenfassung der Ressource
Capitulo 17 - Hierarchical Retrieval
- Interpret the concept of a hierarchical query
- O objetivo de query
hierarquicas é montar uma
arvore geanalógica de registros
que se relacionam com outros
registros de uma mesma tabela
- O dado não é armazenado no banco
de dados de forma hierarquica
- Linhas da tabela podem se
relacionar com registros pai ou
registros filho.
- Create a tree-structured report
- Format hierarchical data
- Pseudocolumn
utilizadas na seleção
de uma query
- LEVEL - Retorna o nível
que o registro pertence
a hierarquia.
- retorna 1
para os
registros raiz
da arvore
(root)
- Retorna
2
para
os
filhos
- Retorna
3 para os
registros
netos
- Retorna
N de
acordo
com o
nível
- CONNECT_BY_ROOT
- SYS_CONNECT_BY_PATH
- CONNECT_BY_ISLEAF
- CONNECT_BY_ISCYCLE
- Clausulas exclusivas
- START WITH
- Determina o inicio da query
hierarquica. Basicamente
determina o registro raiz da
arvore.
- Uma query pode existir mais de um inicio de raiz
- CONNECT BY PRIOR
- Determina ao relacionamento entre
os registros pai e registros filho da
hierarquia
- Determina a direção que a
arvore irá caminhar de acordo
com a posição do Operador
PRIOR
- Exclude branches from the tree structure
- Para entender como a exclusão de nós ou toda
uma cadeia a partir de um nó é necessário
entender a ordem de execução de uma query
hierarquica.
- Primeiro é avaliado o relacionamento
(join), quando existir, sendo a junção
especificada na clausula FROM ou
clausula WHERE
- Em seguida, a condição CONNECT_BY é avalida
- Por fim, a clausula WHERE é avaliada
- Logo ao declara uma restrição na
clausula WHERE, a mesma só é
executada após a query retornar
toda a arvore hierarquica. E retira
apenas os nós de acordo com a
validação da clausua WHERE.
- Exclusão de um nó e todos os seus filhos, deve-se utilizar a condição
dentro da clausula CONNECT BY