P rof. Alexander Roberto Valdameri
description
Transcript of P rof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Banco de Dados Banco de Dados Abordagem Abordagem
HierárquicaHierárquica
2
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.
3
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.
4
BD Hierárquico - Representação
DEPARTAMENTO
CD_DEPTO NM_DEPTO NM_GERENTE
EMPREGADO
CD_EMP NM_EMP DT_NASC
PROJETO
CD_PROJ NM_PROJ DS_LOC
DEPENDENTE
CD_DEP NM_DEP DT_NASC
SUPERVISOR
CD_SUP NM_SUP
5
Linguagem de Definição - DDLschema name = EMPRESAHierarchies = HIERARQUIA1record name = DEPARTAMENTO type = RAIZ DE HIERARQUIA1 data items = CD_DEPTO integer
NM_DEPTO character(20) NM_GERENTE character(30)
key = CD_DEPTO order by = NM_DEPTO
record name = EMPREGADO parent = DEPARTAMENTO child NUMBER = 1 data items = CD_EMP integer
NM_EMP character(30) DT_NASC character(08)
key = CD_EMP order by = NM_EMP
6
Linguagem de Definição - DDLrecord name = PROJETO
parent = DEPARTAMENTO
child NUMBER = 2
data items = CD_PROJ integer
NM_PROJ character(20)
DS_LOC character(15)
key = CD_PROJ
order by = NM_PROJ
record name = SUPERVISOR parent = EMPREGADO child NUMBER = 1 data items = CD_SUP integer
NM_SUP character(30) key = CD_SUP order by = NM_SUP
7
Fonte: http://www.cs.yale.edu/homes/avi/db-book/b.pdf
BD Hierárquico – Representaçãocom replicação de dados
8
Fonte: http://www.cs.yale.edu/homes/avi/db-book/b.pdf
BD Hierárquico – Representaçãosolução alternativa para replicação de dados
9
Linguagem de Manipulação - DML
Alguns Comandos DML:
GET Recuperação
INSERT
DELETE
REPLACE
Atualização de Registros
A linguagem hospedeira é chamada de DL/1.
10
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.
11
Outros Produtos:
• ADABAShttp://www.consist.com.br/brasil/adabas/informacao.htm
• IBM IMShttp://www.ibm.com/br/products/software/db2/ts/ims.phtml
• SYSTEM 2000http://www.sas.com/products/system2000/index.html
Banco de Dados Banco de Dados Abordagem em RedeAbordagem em Rede
13
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).
14
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.
15
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”.
16
BD em Rede – Modelo de Dados
Sistemas e Computação ...
Alisson Rafael Appio ...
Leonardo Hyppolito ...
Silvia Hedla Correia Sales ...
Léo Jonathan Faht ...
DepartamentoRegistro Proprietário
AlunoRegistro Membro
17
BD em Rede – Representação
Sistemas e Computação ...
Alisson Rafael Appio ...
Leonardo Hyppolito ...
Silvia Hedla Correia Sales ...
Léo Jonathan Faht ...
Registro Departamento
Registro Aluno
•
•
•
•
•
18
BD em Rede – Representação
EMPREGADO
Codigo_Empregado ...
PROJETO
Codigo_Projeto ...
E_P
EMPREGADO
Codigo_Empregado ...
PROJETO
Codigo_Projeto ...
P_E
19
BD em Rede – Representação
E_PP_E
EMPREGADO
Codigo_Empregado ...
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.
20
BD em Rede – Representação
E_T P_T
EMPREGADO
Codigo_Empregado ...
PROJETO
Codigo_Projeto ...
Este tipo de registro adicional de conjunto “TRABALHA_EM” é denominado tipo de registro de
ligação.
TRABALHA_EM
Numero_Horas ...
21
Linguagem de Definição - DDLschema 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)
22
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
23
Linguagem de Manipulação - DML
Alguns Comandos DML:FIND Navegação
GET Recuperação
STORE
ERASE
MODIFYAtualização de Registros
CONNECT
DISCONNECT
RECONNECT Atualização de Conjuntos
24
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.
25
Outros Produtos:
• IDS – Honeywell Inc.• VAX-DBMS – Digital Inc.• TOTAL/SUPRA – Cincom Inc.• IDMS – Xerox.• IMAGE – Hewlett-Packard.
26
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?