Banco de Dados
Abordagem
Hierárquica
Prof. Alexander Roberto Valdameri
Contextualização
• Não existe documentação original,
não há homologação;
• Baseado IMS – Information
Management System, mais utilizado
ainda hoje;
• Utilizado em ambientes corporativos
– Mainframe.
2
Estruturas Básicas do Modelo
• Dados – representados registros;
• Tipos de registros – estrutura de
dados com itens de dado (atributo);
• Tipos de relacionamento pai-filho –
RPF, cardinalidade 1:N, onde:
•
•
o registro do lado “1” é chamado de tipo
registro pai;
o(s) registro(s) do lado “N” chamado(s) tipo
registro filho.
3
BD Hierárquico - Representação
DEPARTAMENTO
CD_DEPTO
NM_DEPTO
NM_GERENTE
EMPREGADO
CD_EMP
NM_EMP
PROJETO
DT_NASC
SUPERVISOR
CD_SUP
NM_SUP
CD_PROJ
NM_PROJ
DS_LOC
DEPENDENTE
CD_DEP
NM_DEP
DT_NASC
4
Linguagem de Definição - DDL
schema name = EMPRESA
Hierarchies = HIERARQUIA1
record name = DEPARTAMENTO
type = RAIZ DE HIERARQUIA1
data items = CD_DEPTO
NM_DEPTO
NM_GERENTE
key = CD_DEPTO
order by = NM_DEPTO
record name = EMPREGADO
parent = DEPARTAMENTO
child NUMBER = 1
data items = CD_EMP
NM_EMP
DT_NASC
key = CD_EMP
order by = NM_EMP
integer
character(20)
character(30)
integer
character(30)
character(08)
5
Linguagem de Definição - DDL
record name = PROJETO
parent = DEPARTAMENTO
child NUMBER = 2
data items = CD_PROJ
NM_PROJ
DS_LOC
key = CD_PROJ
order by = NM_PROJ
record name = SUPERVISOR
parent = EMPREGADO
child NUMBER = 1
data items = CD_SUP
NM_SUP
key = CD_SUP
order by = NM_SUP
integer
character(20)
character(15)
integer
character(30)
6
BD Hierárquico – Representação
com replicação de dados
Fonte: http://www.cs.yale.edu/homes/avi/db-book/b.pdf
7
BD Hierárquico – Representação
solução alternativa para replicação de dados
Fonte: http://www.cs.yale.edu/homes/avi/db-book/b.pdf
8
Linguagem de Manipulação - DML
Alguns Comandos DML:
GET
INSERT
DELETE
REPLACE
Recuperação
Atualização de
Registros
A linguagem hospedeira é chamada de DL/1.
9
Resumindo…
• Dificuldade na implementação;
• Buscas mais complexas pela
necessidade de navegação na
estrutura de árvore;
• Manteve-se, durante anos, à frente do
modelo relacional pelas
características das implementações.
10
Outros Produtos:
• ADABAS
http://www.consist.com.br/brasil/adabas/informacao.htm
• IBM IMS
http://www.ibm.com/br/products/software/db2/ts/ims.phtml
• SYSTEM 2000
http://www.sas.com/products/system2000/index.html
11
Banco de Dados
Abordagem em Rede
Contextualização
• Em 1971, relatório apresentado pelo
Database Task Group cria o CODASYL
- Conference on Data Sistems Languages;
• Em 1978 e 1981 novos conceitos são
incorporados, passa ser conhecido
como “Modelo de Rede”;
• Linguagem Cobol como anfitriã (host).
13
Estruturas Básicas do Modelo
• Dados – representados em registros;
• Tipos de registros – estrutura de
dados com itens de dado (atributo);
• Tipos Conjunto – descrição de uma
relação 1:N entre dois tipos de
registros.
14
Estruturas Básicas do Modelo
• Relacionamentos entre os dados –
representados por ligações
(ponteiros);
• Registros no BD são organizados
como coleções arbitrárias de gráfos;
• Trata-se de um “sistema de
navegação”.
15
BD em Rede – Modelo de Dados
Departamento
Registro Proprietário
Sistemas e Computação
...
Alisson Rafael Appio
...
Leonardo Hyppolito
...
Silvia Hedla Correia Sales
...
Léo Jonathan Faht
...
Aluno
Registro Membro
16
BD em Rede – Representação
Registro
Departamento
Sistemas e Computação
Alisson Rafael Appio
...
Leonardo Hyppolito
Registro
Aluno
...
•
•
...
•
Silvia Hedla Correia Sales
Léo Jonathan Faht
...
•
...
•
17
BD em Rede – Representação
EMPREGADO
Codigo_Empregado
PROJETO
...
E_P
...
P_E
PROJETO
Codigo_Projeto
Codigo_Projeto
EMPREGADO
...
Codigo_Empregado
...
18
BD em Rede – Representação
EMPREGADO
Codigo_Empregado
P_E
...
E_P
PROJETO
Codigo_Projeto
Modelo em Rede não
permite representar um
relacionamento N:N entre
dois tipos de registros em
um único tipo de conjunto.
...
19
BD em Rede – Representação
EMPREGADO
Codigo_Empregado
PROJETO
...
Codigo_Projeto
E_T
...
P_T
TRABALHA_EM
Numero_Horas
...
Este tipo de registro adicional de conjunto
“TRABALHA_EM” é denominado tipo de registro
de ligação.
20
Linguagem de Definição - DDL
schema name is EMPRESA
record name is EMPREGADO
duplicates are not allowed for CODIGO_EMPREGADO
CODIGO_EMPREGADO type is numeric integer
NOME_EMPREGADO
type is character 30
record name is PROJETO
duplicates are not allowed for CODIGO_PROJETO
CODIGO_PROJETO
type is numeric integer
NOME_PROJETO
type is character 20
LOCAL_PROJETO
type is character 15
record name is TRABALHA_EM
duplicates are not allowed for CODIGO_EMPREGADO,CODIGO_PROJETO
CODIGO_EMPREGADO type is numeric integer
CODIGO_PROJETO
type is numeric integer
NUMERO_HORAS
type is numeric (4,1)
21
BD em Rede – Representação
Não há necessidade de redundância (replicação) do dado.
Fonte: http://www.cs.yale.edu/homes/avi/db-book/a.pdf
22
Linguagem de Manipulação - DML
Alguns Comandos DML:
FIND
Navegação
GET
Recuperação
STORE
ERASE
MODIFY
Atualização de Registros
CONNECT
DISCONNECT
RECONNECT
Atualização de Conjuntos
23
Resumindo…
• Fortemente dependente da
implementação;
• Buscas mais complexas em
comparação com o relacional;
• Aumento significativo no trabalho do
programador, seja para o projeto
como para a manipulação de dados.
24
Outros Produtos:
•
•
•
•
•
IDS – Honeywell Inc.
VAX-DBMS – Digital Inc.
TOTAL/SUPRA – Cincom Inc.
IDMS – Xerox.
IMAGE – Hewlett-Packard.
25
Exercícios:
1. Explique a diferença entre os SGBDs baseados
nos modelos hierárquico, de rede e relacional.
2. Cite algumas desvantagens do modelo hierárquico
em relação ao modelo de rede.
3. Comente sobre a independência lógica e física dos
dados nos modelos hierárquicos e de rede.
4. Por que ocorreu uma certa resistência por parte
das empresas ao adotarem o CODASYL como
produto para gerenciamento de dados?
5. Em qual(is) arquitetura(s) os modelos de rede e
hierárquico eram/são encontrados?
26
Download

Banco_de_dados_Hiera.. - Departamento de Sistemas e Computação