modelo hierÁrquico ana carolina salgado fernando fonseca valéria times

29
MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Upload: internet

Post on 19-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

MODELO HIERÁRQUICO

Ana Carolina Salgado

Fernando FonsecaValéria Times

Page 2: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Modelo Hierárquico de Dados

Desenvolvido para modelar os muitos tipos de organizações hierárquicas existentes no mundo real Esquemas de classificação para espécies dos

reinos animal e vegetal Classificação de línguas humanas Corporações Hierarquias governamentais

Representa organizações hierárquicas de forma direta e natural

Page 3: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Modelo Hierárquico de Dados

Apresenta problemas quando representa relacionamentos não-hierárquicos

Não existe nenhum documento original para descrever o modelo Apareceram sistemas

TIME-SHARED DATA MANAGEMENT (TDMS)

System Development Corporation MULTI-ACCESS RETRIEVAL SYSTEM

(MARS VI)

Control Data Corporation

Page 4: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Modelo Hierárquico de Dados

INFORMATION MANAGEMENT SYSTEMS (IMS)

IBM

Page 5: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Estruturas de Banco de Dados Hierárquicos

Conceitos Estruturais Principais Registro

Coleção de campos de valores que provêm informação sobre uma entidade ou relacionamento

Registros de um mesmo tipo são agrupados em um tipo de registroÉ dado um nomeSua estrutura é definida por uma coleção

de nomes de campos (itens de dados)Cada campo tem um tipo de dado como

inteiro, real, etc.

Page 6: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Estruturas de Bancos de Dados Hierárquicos

Conceitos Estruturais Principais (Cont.) Relacionamento Pai-Filho

Relacionamento 1:N entre dois tipos de registros

O tipo de registro pai está do lado 1: do relacionamento, enquanto o tipo filho está do lado :N

Uma ocorrência do relacionamento ou tipo pai-filho consiste de um registro do tipo pai e um número qualquer (zero ou mais) do tipo filho

Page 7: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema de BD Hierárquico

Consiste de um dado número de esquemas hierárquicos ou hierarquias Cada hierarquia consiste de um um número de

tipos de registros e de relacionamentos pai-filho Diagrama Hierárquico

Forma visual de mostrar um esquema hierárquico Tipos de registros são mostrados em retângulos Relacionamentos pai-filho são representados por

linhas conectando pai e filho

Page 8: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Diagrama Hierárquico

DEPARTAMENTO

DNOME DNÚMERO DGER

EMPREGADO

NOME NASC CPF SAL

PROJETO

PNOME PNUMER PLOCAL

TIPOS DE REGISTROS (DEP.,EMP., PROJ.)

RELACIONAMENTO PAI-FILHORELACIONAMENTO PAI-FILHO: DEPARTAMENTO-PROJETO

Page 9: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema Hierárquico

Propriedades Um tipo de registro, chamado de raiz não

participa de relacionamentos como registro filho

Cada tipo de registro, exceto a raiz, participa de exatamente um relacionamento como registro filho

Um tipo de registro pode participar de qualquer número de relacionamentos como registro pai

Page 10: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema Hierárquico

Propriedades (Cont.) Um tipo de registro que não participa de

nenhum relacionamento como registro pai, é chamado de folha

Se um tipo de registro participa em mais de um relacionamento como registro pai, então seus tipos de registros filhos são ordenados

No diagrama hierárquico, por convenção, a ordenação é da esquerda para a direita

Page 11: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema Hierárquico

Um esquema hierárquico define uma estrutura de dados em árvore Tipos de registros são nós Tipos de relacionamentos são arcos

Representação de Relacionamentos M:N Através da duplicação de instâncias do

registro filho PROJETO

EMPREGADO

M:N

Page 12: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema Hierárquico

PROJETO EMPREGADOS TRAB. NO PROJ.

A E1, E3, E5

B E2, E4, E6

C E1, E4

D E2,E3,E4,E5 Relacionamentos Pai-Filho Virtuais

Problemas do Modelo Hierárquico M:N Tipos de registros participarem como filhos

em mais de um relacionamento

Page 13: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema Hierárquico

Problemas (Cont.)Relacionamentos com mais de dois tipos

de registros Casos 1 e 2 podem ser resolvidos por

duplicaçãoGasto de armazenamentoManter consistência nas cópias de um

mesmo registro Caso 3

Tipos de relacionamentos hierárquicos são binários

Page 14: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema Hierárquico

SoluçãoUtilizar um tipo de registro virtual -

PONTEIROCada um dos seus registros contém

um ponteiro para um registro de outro tipo

Criar um relacionamento pai-filho entre um dos tipos de registro e o virtual

Criar um relacionamento virtual entre o outro tipo de registro (pai virtual) e o registro virtual (filho virtual)

Page 15: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Esquema Hierárquico

Relacionamento Virtual

No diagrama, uma seta sairá do filho virtual para o pai virtual

PROJETO

EMPREGADO

PROJETO

EPONTEIRO

EMPREGADO

Hierarquia 1 Hierarquia 2

Page 16: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Restrições de Integridade

Nenhuma ocorrência de registro, exceto raízes, pode existir sem estar relacionada a uma ocorrência de registro pai Um registro filho não pode ser inserido sem

estar ligado a um registro pai Um registro filho pode ser removido

independentemente de seu registro pai A remoção de um registro pai resulta em todos

os seus filhos e descendentes sendo removidos automaticamente

Page 17: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Restrições de Integridade

Um ponteiro num filho virtual tem que apontar para um registro pai virtual existente

A remoção de um registro pai virtual não deve ser permitida enquanto existirem ponteiros de registros filhos virtuais

Se um registro filho tiver dois ou mais registros pais de um mesmo tipo de registro, deve ser duplicado para cada registro pai

Um registro filho tendo dois ou mais pais de tipos de registros diferentes, deve ter no máximo um pai real e todos os outros virtuais

Regras particulares a cada SGBD implementado

Page 18: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Um Exemplo

Modelo Hierárquico de uma Companhia Departamentos descritos por Nome e Número Locais descritos por um Código e Endereço Projetos descritos por Nome, Número e Local Empregados descritos por Nome, CPF e

Salário Dependentes descritos por Nome, Nascimento

e Parentesco

Page 19: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Um Exemplo

Considerar também Cada Departamento está situado em vários

locais Cada Projeto é da responsabilidade de um

único Departamento Empregados estão alocados a um único

Departamento. Eles podem atuar em mais de um Projeto e vice-versa

Cada Empregado pode ter vários Dependentes, mas cada um desses só pode estar ligado a um único Empregado

Page 20: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Um Exemplo

Empregados são supervisionados por um único Empregado.

Um Departamento pode ter mais de um gerente e deseja-se guardar a data de início de cada um deles como gerente. Porém, cada Empregado gerencia um único Departamento.

Page 21: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

PODE ATUAR

PTP

DEPARTAMENTO

DNOME DNÚMERO

EMPREGADO

ENOME ECPF ESAL

PROJETO

PNOME PNUM PLOC

GERENTE

INÍCIO PTG

TRABALHA

PTE

ATUA

HORAS PTT

SUPERVISÃO

PTS

DEPENDENTE

DPNOME DPNASC DPPAR

HIERARQUIA 1 HIERARQUIA 2

LOCAL

LCOD END

Page 22: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Definição de Dados

Linguagem Hierárquica de Definição de Dados - HDDL Para definir um Esquema de BD Hierárquico

Definir campos de cada tipo de registro Definir tipos de dados de cada campo Definir chaves e restrições Determinar raízes Para cada registro não-raiz determinar o pai Especificar relacionamentos virtuais

Page 23: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Definição de Dados

Sintaxe

schema name = < nome >

hierarchies = < hierarchy 1 >, < hierarchy 2 >, ...

/*Raiz*/

record

name = < nome >

type = root of < hierarchy n >

data items =

< nomes de campo > < tipo >

key = < campo(s) >

[ order by < campo(s) >]

Page 24: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Definição de Dados

Sintaxe (Cont.)

/*Outros*/

record

name = < nome >

parent = < registro pai >

child number = < número de ordem >

data items =

< nomes de campo > < tipo >

key = < campo(s) >

[ order by < campo(s) >]

Page 25: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Definição de Dados

Sintaxe (Cont.)

/*Registro Virtual*/

. . .

data items =

[ < nomes de campo > < tipo > ]

< nome do ponteiro > pointer with virtual parent = < pai virtual >

Page 26: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Definição de Dados - Exemploschema name = Companhia

hierarchies = Hierachia 1, Hierarchia 2

/*Raiz*/

record

name = Empregado

type = root of Hierarchia 2

data items =

Enome character 15

ECPF character 12

Esalário real

key = ECPF

order by Enome

Page 27: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Definição de Dados - Exemplo

/*Outros*/

record

name = Dependente

parent = Empregado

child number = 1

data items =

DPnome character 20

DPnasc date

Dppar character 10

key = DPnome

order by DPnasc

Page 28: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Definição de Dados - Exemplo

/*Registro Virtual*/

record

name = Supervisão

parent = Empregado

child number = 2

data items =

PTS pointer with virtual parent = Empregado

Page 29: MODELO HIERÁRQUICO Ana Carolina Salgado Fernando Fonseca Valéria Times

Vantagens e Desvantagens Vantagens:

Adequação a aplicações com estrutura arborescente

Simplicidade sobretudo na implementação Interessante para aplicações cuja utilização é

conhecida a priori Comercialização bastante divulgada dos SGBD

Desvantagens: Dificuldade de representação dos

relacionamentos M:N entre entidades Anomalias para operações de atualização Independência lógica reduzida Ausência de interfaces declarativas