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

P rof. Alexander Roberto Valdameri

  • Upload
    lam

  • View
    23

  • Download
    1

Embed Size (px)

DESCRIPTION

P rof. Alexander Roberto Valdameri. Banco de Dados Abordagem Hierárquica. 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. - PowerPoint PPT Presentation

Citation preview

Page 1: P rof. Alexander Roberto Valdameri

Prof. Alexander Roberto Valdameri

Banco de Dados Banco de Dados Abordagem Abordagem

HierárquicaHierárquica

Page 2: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

7

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

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

Page 8: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

Banco de Dados Banco de Dados Abordagem em RedeAbordagem em Rede

Page 13: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

18

BD em Rede – Representação

EMPREGADO

Codigo_Empregado ...

PROJETO

Codigo_Projeto ...

E_P

EMPREGADO

Codigo_Empregado ...

PROJETO

Codigo_Projeto ...

P_E

Page 19: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

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: P rof. Alexander Roberto Valdameri

25

Outros Produtos:

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

Page 26: P rof. Alexander Roberto Valdameri

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?