A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ana Carolina Salgado Fernando Fonseca Valéria Times

Apresentações semelhantes


Apresentação em tema: "Ana Carolina Salgado Fernando Fonseca Valéria Times"— Transcrição da apresentação:

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

2 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

3 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

4 Modelo Hierárquico de Dados
INFORMATION MANAGEMENT SYSTEMS (IMS) IBM

5 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 nome Sua estrutura é definida por uma coleção de nomes de campos (itens de dados) Cada campo tem um tipo de dado como inteiro, real, etc.

6 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

7 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

8 Diagrama Hierárquico RELACIONAMENTO PAI-FILHO
TIPOS DE REGISTROS (DEP.,EMP., PROJ.) RELACIONAMENTO PAI-FILHO: DEPARTAMENTO-PROJETO DEPARTAMENTO DNOME DNÚMERO DGER EMPREGADO NOME NASC CPF SAL PROJETO PNOME PNUMER PLOCAL

9 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

10 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

11 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

12 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

13 Esquema Hierárquico Problemas (Cont.)
Relacionamentos com mais de dois tipos de registros Casos 1 e 2 podem ser resolvidos por duplicação Gasto de armazenamento Manter consistência nas cópias de um mesmo registro Caso 3 Tipos de relacionamentos hierárquicos são binários

14 Esquema Hierárquico Solução
Utilizar um tipo de registro virtual - PONTEIRO Cada 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)

15 Esquema Hierárquico Relacionamento Virtual
No diagrama, uma seta sairá do filho virtual para o pai virtual Hierarquia 1 Hierarquia 2 PROJETO EMPREGADO PROJETO EMPREGADO EPONTEIRO

16 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

17 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

18 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

19 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

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

21 DEPARTAMENTO DNOME DNÚMERO EMPREGADO ENOME ECPF ESAL LOCAL LCOD END
PROJETO PNOME PNUM PLOC SUPERVISÃO PTS PODE ATUAR PTP GERENTE INÍCIO PTG TRABALHA PTE DEPENDENTE DPNOME DPNASC DPPAR ATUA HORAS PTT HIERARQUIA 2 HIERARQUIA 1

22 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

23 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) >]

24 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) >]

25 Definição de Dados Sintaxe (Cont.) /*Registro Virtual*/ . . .
data items = [ < nomes de campo > < tipo > ] < nome do ponteiro > pointer with virtual parent = < pai virtual >

26 Definição de Dados - Exemplo
schema 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

27 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

28 Definição de Dados - Exemplo
/*Registro Virtual*/ record name = Supervisão parent = Empregado child number = 2 data items = PTS pointer with virtual parent = Empregado

29 Vantagens e Desvantagens
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


Carregar ppt "Ana Carolina Salgado Fernando Fonseca Valéria Times"

Apresentações semelhantes


Anúncios Google