Modelo Hierárquico de Dados
MODELO HIERÁRQUICO
F
Ana Carolina Salgado
Fernando Fonseca
Valéria Times
/Classificação
F
Apresenta
problemas
quando
relacionamentos não -hierárquicos
F
representa
4 INFORMATION
ßÉ
dado um nome
estrutura é definida por uma coleção
de nomes de campos (itens de dados)
ßCada campo tem um tipo de dado como
inteiro, real, etc.
ßSua
MANAGEMENT
SYSTEMS
(IMS)
IBM
Não existe nenhum documento original para
descrever o modelo
/Apareceram sistemas
4 TIME- SHARED
DATA
MANAGEMENT
(TDMS)
System Development Corporation
4 MULTI - ACCESS
RETRIEVAL
SYSTEM
(MARS VI)
Control Data Corporation
Conceitos Estruturais Principais
/Registro
4 Coleção de campos de valores que provêm
informação
sobre
uma
entidade
ou
relacionamento
4 Registros de um mesmo tipo são agrupados
em um tipo de registro
/Hierarquias governamentais
Representa organizações hierárquicas de forma
direta e natural
Modelo Hierárquico de Dados
Estruturas de Banco de Dados
Hierárquicos
F
de línguas humanas
/Corporações
Modelo Hierárquico de Dados
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
Estruturas de Bancos de Dados
Hierárquicos
F
Conceitos Estruturais Principais (Cont.)
/Relacionamento Pai -Filho
4 Relacionamento
1:N entre dois tipos de
registros
4 O tipo de registro pai está do lado 1: do
relacionamento, enquanto o tipo filho está
do lado :N
4 Uma ocorrência do relacionamento ou tipo
pai -filho consiste de um registro do tipo pai
e um número qualquer (zero ou mais) do
tipo filho
1
Esquema de BD Hierárquico
F
F
Diagrama Hierárquico
DEPARTAMENTO
Consiste de um dado número de esquemas
hierárquicos ou hierarquias
/Cada hierarquia consiste de um um número de
tipos de registros e de relacionamentos pai filho
Diagrama Hierárquico
Forma visual de mostrar um esquema hierárquico
/Tipos
de registros são mostrados em
retângulos
/Relacionamentos pai -filho são representados
por linhas conectando pai e filho
DNOME
EMPREGADO
NOME NASC CPF
PROJETO
SAL
Propriedades
/Um tipo de registro, chamado de raiz não
participa de relacionamentos como registro
filho
/Cada
tipo de registro, exceto a raiz, participa
de exatamente um relacionamento como
registro filho
/Um tipo de registro pode participar de
qualquer número de relacionamentos como
registro pai
Esquema Hierárquico
F
Propriedades (Cont.)
/Um tipo de registro que não participa de
nenhum relacionamento como registro pai, é
chamado de folha
/Se
um tipo de registro participa em mais de
um relacionamento como registro pai, então
seus tipos de registros filhos são ordenados
4 No diagrama hierárquico, por convenção, a
ordenação é da esquerda para a direita
Esquema Hierárquico
F
Um esquema hierárquico define uma estrutura de
dados em árvore
/Tipos de registros são nós
/Tipos
F
de relacionamentos são arcos
Representação de Relacionamentos M:N
/Através da duplicação de instâncias
registro filho
PROJETO
M:N
EMPREGADO
do
PNOME PNUMER PLOCAL
TIPOS DE REGISTROS (DEP.,EMP., PROJ.)
RELACIONAMENTO PAI- FILHO:
FILHO
DEPARTAMENTO- PROJETO
Esquema Hierárquico
F
DNÚMERO DGER
Esquema Hierárquico
PROJETO
A
EMPREGADOS TRAB. NO PROJ.
E1, E3, E5
B
E2, E4, E6
C
E1, E4
D
E2,E3,E4,E5
/Relacionamentos Pai -Filho Virtuais
4 Problemas
do Modelo Hierárquico
¶ M:N
· Tipos
de registros participarem como
filhos em mais de um relacionamento
2
Esquema Hierárquico
4 Problemas
Esquema Hierárquico
(Cont.)
¸ Relacionamentos
4 Solução
com mais de dois tipos
ßUtilizar
um tipo de registro virtual PONTEIRO
de registros
4 Casos
1 e 2 podem ser resolvidos por
duplicação
ßGasto de armazenamento
ßManter consistência nas cópias de um
mesmo registro
4 Caso 3
ø Cada
um dos seus registros contém
um ponteiro para um registro de
outro tipo
ßCriar um relacionamento pai -filho entre
um dos tipos de registro e o virtual
ßCriar um relacionamento virtual entre o
outro tipo de registro (pai virtual) e o
registro virtual (filho virtual)
ßTipos
de relacionamentos hierárquicos
são binários
Esquema Hierárquico
ø Relacionamento
PROJETO
Virtual
No diagrama, uma seta sairá do filho
virtual para o pai virtual
Hierarquia 1
Hierarquia 2
PROJETO
Restrições de Integridade
F
EMPREGADO
Nenhuma ocorrência de registro, exceto raízes,
pode existir sem estar relacionada a uma
ocorrência de registro pai
/Um registro filho não pode ser inserido sem
estar ligado a um registro pai
/Um
registro filho pode ser removido
independentemente de seu registro pai
/A remoção de um registro pai resulta em
todos os seus filhos e descendentes sendo
removidos automaticamente
EMPREGADO
EPONTEIRO
Restrições de Integridade
/Um
F
F
F
ponteiro num filho virtual tem que apontar
para um registro pai virtual existente
4 A remoção de um registro pai virtual não
deve ser permitida enquanto existirem
ponteiros de registros filhos virtuais
Se um registro filho tiver dois ou mais registros
pais de um mesmo tipo de registro, deve ser
duplicado para cada registro pai
Um registro filho tendo dois ou mais pais de tipos
de registros diferentes, deve ter no máximo um
pai real e todos os outros virtuais
Regras particulares a cada SGBD implementado
Um Exemplo
F
Modelo Hierárquico de uma Companhia
/Departamentos descritos por Nome e Número
/Locais
descritos por um Código e Endereço
descritos por Nome, Número e Local
/Empregados descritos por Nome, CPF e
Salário
/Dependentes descritos por Nome, Nascimento
e Parentesco
/Projetos
3
Um Exemplo
Um Exemplo
/Considerar
também
Departamento está situado em vários
locais
4 Empregados
são supervisionados por um
único Empregado.
4 Um Departamento pode ter mais de um
gerente e deseja-se guardar a data de início
de cada um deles como gerente. Porém,
cada Empregado gerencia um único
Departamento.
4 Cada
4 Cada
Projeto é da responsabilidade de um
único Departamento
4 Empregados estão alocados a um único
Departamento. Eles podem atuar em mais
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
DNOME
EMPREGADO
DNÚMERO
ENOME
LOCAL
PROJETO
LCOD END
PNOME PNUM PLOC
GERENTE
Definição de Dados
ESAL
SUPERVISÃO
F
PTS
campos de cada tipo de registro
tipos de dados de cada campo
4 Definir chaves e restrições
4 Determinar raízes
4 Definir
PTP
PTE
DEPENDENTE
ATUA
DPNOME DPNASC
PTT
HIERARQUIA 1
Linguagem Hierárquica de Definição de Dados HDDL
/Para definir um Esquema de BD Hierárquico
4 Definir
PODE ATUAR
TRABALHA
INÍCIO PTG
ECPF
4 Para
DPPAR
cada registro não -raiz determinar o pai
relacionamentos virtuais
4 Especificar
HIERARQUIA 2
Definição de Dados
F
Sintaxe
schema name = < nome >
hierarchies = < hierarchy 1 >, < hierarchy 2 >, ...
/*Raiz*/
record
name = < nome >
type = root of < hierarchy n >
data items =
< nomes de campo > < tipo >
key = < campo(s) >
[ order by < campo(s) >]
Definição de Dados
F
Sintaxe (Cont.)
/*Outros*/
record
name = < nome >
parent = < registro pai >
child number = < número de ordem >
data items =
< nomes de campo > < tipo >
key = < campo(s) >
[ order by < campo(s) >]
4
Definição de Dados
F
Sintaxe (Cont.)
/*Registro Virtual*/
...
data items =
[ < nomes de campo > < tipo > ]
< nome do ponteiro > pointer with
virtual parent = < pai virtual >
Definição de Dados - Exemplo
/*Outros*/
record
name = Dependente
parent = Empregado
child number = 1
data items =
DPnome character 20
DPnasc date
Dppar
character 10
Definição de Dados - Exemplo
schema name = Companhia
hierarchies = Hierachia 1, Hierarchia 2
/*Raiz*/
record
name = Empregado
type = root of Hierarchia 2
data items =
Enome character 15
ECPF
character 12
Esalário real
key = ECPF
order by Enome
Definição de Dados - Exemplo
/*Registro Virtual*/
record
name = Supervisão
parent = Empregado
child number = 2
data items =
PTS pointer with virtual parent = Empregado
key = DPnome
order by DPnasc
Vantagens e Desvantagens
F
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
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
5
Download

MODELO HIERÁRQUICO