Você está na página 1de 5

Modelo Hierárquico de Dados

MODELO HIERÁRQUICO
F Desenvolvido para modelar os muitos tipos de
organizações hierárquicas existentes no mundo
real
/Esquemas de classificação para espécies dos
reinos animal e vegetal
Ana Carolina Salgado /Classificação de línguas humanas
/Corporações
Fernando Fonseca /Hierarquias governamentais

Valéria Times F Representa organizações hierárquicas de forma


direta e natural

Modelo Hierárquico de Dados Modelo Hierárquico de Dados


F Apresenta problemas quando representa
4 INFORMATION MANAGEMENT SYSTEMS
relacionamentos não -hierárquicos
(IMS)
F Não existe nenhum documento original para
IBM
descrever o modelo
/Apareceram sistemas
4 TIME- SHARED DATA MANAGEMENT
(TDMS)
System Development Corporation
4 MULTI - ACCESS RETRIEVAL SYSTEM
(MARS VI)
Control Data Corporation

Estruturas de Banco de Dados Estruturas de Bancos de Dados


Hierárquicos Hierárquicos
F Conceitos Estruturais Principais
/Registro F Conceitos Estruturais Principais (Cont.)
4 Coleção de campos de valores que provêm /Relacionamento Pai -Filho
informação sobre uma entidade ou 4 Relacionamento 1:N entre dois tipos de
relacionamento registros
4 Registros de um mesmo tipo são agrupados 4 O tipo de registro pai está do lado 1: do
em um tipo de registro relacionamento, enquanto o tipo filho está
ᐠdado um nome do lado :N
ßSua estrutura é definida por uma coleção 4 Uma ocorrência do relacionamento ou tipo
de nomes de campos (itens de dados) pai -filho consiste de um registro do tipo pai
ßCada campo tem um tipo de dado como
e um número qualquer (zero ou mais) do
inteiro, real, etc. tipo filho

1
Esquema de BD Hierárquico Diagrama Hierárquico

F Consiste de um dado número de esquemas DEPARTAMENTO


hierárquicos ou hierarquias DNOME DNÚMERO DGER
/Cada hierarquia consiste de um um número de
tipos de registros e de relacionamentos pai -
filho
F Diagrama Hierárquico
EMPREGADO PROJETO
Forma visual de mostrar um esquema hierárquico
/Tipos de registros são mostrados em NOME NASC CPF SAL PNOME PNUMER PLOCAL
retângulos
/Relacionamentos pai -filho são representados TIPOS DE REGISTROS (DEP.,EMP., PROJ.)
por linhas conectando pai e filho RELACIONAMENTO PAI- FILHO:
FILHO
DEPARTAMENTO- PROJETO

Esquema Hierárquico Esquema Hierárquico

F Propriedades F Propriedades (Cont.)


/Um tipo de registro, chamado de raiz não /Um tipo de registro que não participa de
participa de relacionamentos como registro nenhum relacionamento como registro pai, é
filho chamado de folha
/Cada tipo de registro, exceto a raiz, participa /Se um tipo de registro participa em mais de
de exatamente um relacionamento como um relacionamento como registro pai, então
registro filho seus tipos de registros filhos são ordenados
/Um tipo de registro pode participar de 4 No diagrama hierárquico, por convenção, a
qualquer número de relacionamentos como ordenação é da esquerda para a direita
registro pai

Esquema Hierárquico Esquema Hierárquico

F Um esquema hierárquico define uma estrutura de PROJETO EMPREGADOS TRAB. NO PROJ.


dados em árvore A E1, E3, E5
/Tipos de registros são nós B E2, E4, E6
/Tipos de relacionamentos são arcos C E1, E4
F Representação de Relacionamentos M:N D E2,E3,E4,E5
/Através da duplicação de instâncias do /Relacionamentos Pai -Filho Virtuais
registro filho
4 Problemas do Modelo Hierárquico
PROJETO
M:N ¶ M:N
· Tipos de registros participarem como
EMPREGADO filhos em mais de um relacionamento

2
Esquema Hierárquico Esquema Hierárquico

4 Problemas (Cont.) 4 Solução


¸ Relacionamentos com mais de dois tipos ßUtilizar
um tipo de registro virtual -
de registros PONTEIRO
4 Casos 1 e 2 podem ser resolvidos por ø Cada um dos seus registros contém
duplicação um ponteiro para um registro de
ßGasto de armazenamento outro tipo
ßManter consistência nas cópias de um ßCriar um relacionamento pai -filho entre
mesmo registro um dos tipos de registro e o virtual
4 Caso 3 ßCriar um relacionamento virtual entre o
outro tipo de registro (pai virtual) e o
ßTipos de relacionamentos hierárquicos
registro virtual (filho virtual)
são binários

Esquema Hierárquico Restrições de Integridade

ø Relacionamento Virtual F Nenhuma ocorrência de registro, exceto raízes,


No diagrama, uma seta sairá do filho pode existir sem estar relacionada a uma
virtual para o pai virtual ocorrência de registro pai
Hierarquia 1 Hierarquia 2 /Um registro filho não pode ser inserido sem
PROJETO estar ligado a um registro pai
PROJETO EMPREGADO
/Um registro filho pode ser removido
EMPREGADO independentemente de seu registro pai
/A remoção de um registro pai resulta em
todos os seus filhos e descendentes sendo
EPONTEIRO removidos automaticamente

Restrições de Integridade Um Exemplo


/Um ponteiro num filho virtual tem que apontar
para um registro pai virtual existente F Modelo Hierárquico de uma Companhia
4 A remoção de um registro pai virtual não /Departamentos descritos por Nome e Número
deve ser permitida enquanto existirem /Locais descritos por um Código e Endereço
ponteiros de registros filhos virtuais
/Projetos descritos por Nome, Número e Local
F Se um registro filho tiver dois ou mais registros
/Empregados descritos por Nome, CPF e
pais de um mesmo tipo de registro, deve ser
Salário
duplicado para cada registro pai
/Dependentes descritos por Nome, Nascimento
F Um registro filho tendo dois ou mais pais de tipos
e Parentesco
de registros diferentes, deve ter no máximo um
pai real e todos os outros virtuais
F Regras particulares a cada SGBD implementado

3
Um Exemplo Um Exemplo

/Considerar também 4 Empregados são supervisionados por um


4 Cada Departamento está situado em vários único Empregado.
locais 4 Um Departamento pode ter mais de um

4 Cada Projeto é da responsabilidade de um gerente e deseja-se guardar a data de início


único Departamento de cada um deles como gerente. Porém,
4 Empregados estão alocados a um único
cada Empregado gerencia um único
Departamento. Eles podem atuar em mais Departamento.
de um Projeto e vice-versa
4 Cada Empregado pode ter vários
Dependentes, mas cada um desses só pode
estar ligado a um único Empregado

DEPARTAMENTO EMPREGADO
DNOME DNÚMERO ENOME ECPF ESAL Definição de Dados

LOCAL PROJETO SUPERVISÃO F Linguagem Hierárquica de Definição de Dados -


HDDL
LCOD END PNOME PNUM PLOC PTS
/Para definir um Esquema de BD Hierárquico

4 Definir campos de cada tipo de registro


GERENTE PODE ATUAR
TRABALHA 4 Definir tipos de dados de cada campo
INÍCIO PTG PTP 4 Definir chaves e restrições
PTE
4 Determinar raízes
DEPENDENTE 4 Para cada registro não -raiz determinar o pai
ATUA
DPNOME DPNASC DPPAR 4 Especificar relacionamentos virtuais
PTT
HIERARQUIA 2
HIERARQUIA 1

Definição de Dados Definição de Dados


F Sintaxe
schema name = < nome > F Sintaxe (Cont.)
hierarchies = < hierarchy 1 >, < hierarchy 2 >, ... /*Outros*/
/*Raiz*/ record
record name = < nome >
name = < nome > parent = < registro pai >
type = root of < hierarchy n > child number = < número de ordem >
data items = data items =
< nomes de campo > < tipo > < nomes de campo > < tipo >
key = < campo(s) > key = < campo(s) >
[ order by < campo(s) >] [ order by < campo(s) >]

4
Definição de Dados - Exemplo
Definição de Dados
schema name = Companhia
hierarchies = Hierachia 1, Hierarchia 2
F Sintaxe (Cont.) /*Raiz*/
/*Registro Virtual*/ record
... name = Empregado
data items = type = root of Hierarchia 2
[ < nomes de campo > < tipo > ] data items =
< nome do ponteiro > pointer with Enome character 15
virtual parent = < pai virtual > ECPF character 12
Esalário real
key = ECPF
order by Enome

Definição de Dados - Exemplo Definição de Dados - Exemplo


/*Outros*/
record
/*Registro Virtual*/
name = Dependente
record
parent = Empregado
name = Supervisão
child number = 1
parent = Empregado
data items =
child number = 2
DPnome character 20
data items =
DPnasc date
PTS pointer with virtual parent = Empregado
Dppar character 10
key = DPnome
order by DPnasc

Vantagens e Desvantagens
F Vantagens:
/Adequação a aplicações com estrutura
arborescente
/Simplicidade sobretudo na implementação
/Interessante para aplicações cuja utilização é
conhecida a priori
/ Comercialização bastante divulgada dos SGBD
F Desvantagens:
/Dificuldade de representação dos
relacionamentos M:N entre entidades
/Anomalias para operações de atualização
/Independência lógica reduzida
/Ausência de interfaces declarativas

Você também pode gostar