260 likes | 406 Views
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.
E N D
Prof. 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.
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.
Linguagem de Definição - DDL schema name = EMPRESA Hierarchies = HIERARQUIA1 record 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
Linguagem de Definição - DDL record 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
BD Hierárquico – Representaçãocom replicação de dados Fonte: http://www.cs.yale.edu/homes/avi/db-book/b.pdf
BD Hierárquico – Representaçãosolução alternativa para replicação de dados Fonte: http://www.cs.yale.edu/homes/avi/db-book/b.pdf
Linguagem de Manipulação - DML Alguns Comandos DML: A linguagem hospedeira é chamada de DL/1.
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.
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
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).
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.
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”.
BD em Rede – Modelo de Dados DepartamentoRegistro Proprietário AlunoRegistro Membro
BD em Rede – Representação • Registro Departamento • • Registro Aluno • •
BD em Rede – Representação E_P P_E
BD em Rede – Representação Modelo em Rede não permite representar um relacionamento N:N entre dois tipos de registros em um único tipo de conjunto. P_E E_P
BD em Rede – Representação E_T P_T Este tipo de registro adicional de conjunto “TRABALHA_EM” é denominado tipo de registro de ligação.
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)
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
Linguagem de Manipulação - DML Alguns Comandos DML:
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.
Outros Produtos: • IDS – Honeywell Inc. • VAX-DBMS – Digital Inc. • TOTAL/SUPRA – Cincom Inc. • IDMS – Xerox. • IMAGE – Hewlett-Packard.
Exercícios: • Explique a diferença entre os SGBDs baseados nos modelos hierárquico, de rede e relacional. • Cite algumas desvantagens do modelo hierárquico em relação ao modelo de rede. • Comente sobre a independência lógica e física dos dados nos modelos hierárquicos e de rede. • Por que ocorreu uma certa resistência por parte das empresas ao adotarem o CODASYL como produto para gerenciamento de dados? • Em qual(is) arquitetura(s) os modelos de rede e hierárquico eram/são encontrados?