Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

26
Prof. Alexander Roberto Valdameri Banco de Dados Banco de Dados Abordagem Abordagem Hierárquica Hierárquica

Transcript of Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

Page 1: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

Prof. Alexander Roberto Valdameri

Banco de Dados Banco de Dados Abordagem Abordagem

HierárquicaHierárquica

Page 2: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierá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.

Page 3: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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.

Page 4: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 5: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 6: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 7: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

7

Fonte: http://www.cs.yale.edu/homes/avi/db-book/b.pdf

BD Hierárquico – Representaçãocom replicação de dados

Page 8: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 9: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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.

Page 10: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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.

Page 11: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 12: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

Banco de Dados Banco de Dados Abordagem em RedeAbordagem em Rede

Page 13: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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).

Page 14: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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.

Page 15: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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”.

Page 16: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 17: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 18: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

18

BD em Rede – Representação

EMPREGADO

Codigo_Empregado ...

PROJETO

Codigo_Projeto ...

E_P

EMPREGADO

Codigo_Empregado ...

PROJETO

Codigo_Projeto ...

P_E

Page 19: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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.

Page 20: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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 ...

Page 21: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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)

Page 22: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 23: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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

Page 24: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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.

Page 25: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

25

Outros Produtos:

• IDS – Honeywell Inc.• VAX-DBMS – Digital Inc.• TOTAL/SUPRA – Cincom Inc.• IDMS – Xerox.• IMAGE – Hewlett-Packard.

Page 26: Prof. Alexander Roberto Valdameri Banco de Dados Abordagem Hierárquica.

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?