© Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não-...

75
© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 1 Bancos de Dados Não- Bancos de Dados Não- Convencionais Convencionais Msc, Marcelo Bezerra de Alcântara [email protected]

Transcript of © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não-...

Page 1: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 1

Bancos de Dados Não-Bancos de Dados Não-ConvencionaisConvencionais

Msc, Marcelo Bezerra de Alcâ[email protected]

Page 2: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 2

SumárioSumário

• BD Orientado a Objetos e Objeto-

Relacional

• BDs XML

• Banco de Dados Móveis

Page 3: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 3

BDs Relacionais (BDRs)BDs Relacionais (BDRs)

• Dominam atualmente o mercado de SGBDs

• Adequados a aplicações ditas convencionais– folha de pagamento– automação bancária– controle de estoque– ...

Page 4: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 4

BDR - CaracterísticasBDR - Características

• Orientados a registros– todas as tuplas com a mesma estrutura– todos os atributos com tamanho fixo

• Tipos de dados simples – não-estruturados e monovalorados

(atributos atômicos)– tamanho pequeno– numéricos ou cadeias de caracteres

Page 5: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 5

BDR - CaracterísticasBDR - Características

• Operações DML simples– consultas baseadas em predicados simples

de seleção e/ou junção por igualdade de chaves

– não envolvem procedimentos complexos sobre os dados

• operações analíticas, invocação de métodos, ...

• Transações de curta duração– operações bancárias– cadastros gerais

• Atualizações “in-place”– dados históricos não são mantidos no BD

Page 6: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 6

Evolução do Hardware dos Evolução do Hardware dos ComputadoresComputadores

• Torna viável o desenvolvimento de aplicações de grande porte (não-convencionais)– área científica, projetos arquitetônicos e de

engenharia, controle ambiental e urbano, aplicações Web distribuídas, ...

• Aplicações Não-Convencionais– dados (“entidades”) com representação

(estrutura e relacionamentos) complexa– operações complexas sobre estes dados

Page 7: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 7

Exemplos de Aplicações Não-Exemplos de Aplicações Não-ConvencionaisConvencionais

• CAD/CAM– dados: projetos arquitetônicos, projetos de

componentes mecânicos– características: representação complexa

com possíveis versões

• Sistemas de Informação Geográfica– dados: mapas e entidades do terreno– características: representação gráfica

(áreas geográficas); diversas operações analíticas

Page 8: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 8

Exemplos de Aplicações Não-Exemplos de Aplicações Não-ConvencionaisConvencionais

• Aplicações Web– dados: documentos semi-estruturados

(XML)– características: representação e consultas

complexas• estruturas hierárquicas; buscas por palavras-

chave, ...

• Sistemas Hipermídia– dados: imagens, vídeos, áudios, ...– características: dados longos; novas

operações de manipulação

Page 9: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 9

Novas Necessidades de Novas Necessidades de Gerenciamento de DadosGerenciamento de Dados

• Representação de entidades complexas– estrutura não-fixa, vários níveis de

composição, dados de diversas mídias, dados semi-estruturados, ...

– atributos não-atômicos (conjuntos, tuplas, listas, ...)

• Suporte à versões e históricos– representação de diversos estados de uma

entidade

• Exemplos: mapa, histórico de vendas, ...

Page 10: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 10

Novas Necessidades de Novas Necessidades de Gerenciamento de DadosGerenciamento de Dados

• Transações longas– longa duração (horas, dias, semanas, ...)– podem ser compostas por sub-transações– exemplo: projeto arquitetônico

• Extensões na DML e nas RIs– novas operações de manipulação (I/E/A/C

de dados em estruturas complexas - listas, tuplas, ...)

– relacionamentos com semânticas bem definidas (composto por, sucessor, adjacente, ...)

Page 11: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 11

ComparativoComparativo

atualização não é “in-place”atualização “in-place”

operações DML envolvem procedimentos complexos

operações DML simples

outras semânticas de relacionamento (composição,

adjacência, ...)

relacionamentos de associação (por chave)

transações longastransações curtas

atributos complexosatributos atômicos

estrutura não-fixaestrutura fixa

Dados Não-ConvencionaisDados Convencionais

Page 12: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 12

BDs Não-ConvencionaisBDs Não-Convencionais

• Novos modelos de dados para atender aos requisitos de dados de aplicações não-convencionais– tópico de pesquisa na área de BD

• Exemplos– BD Orientado a Objeto– BD XML– Banco de dados móveis– . . .

Page 13: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 13

BD Orientado a ObjetosBD Orientado a Objetos

• BDOO: paradigma OO + SGBD– orientação a objetos

• encapsulamento: objeto “encapsula” uma estrutura (atributos) e um comportamento (métodos)

– vantagem: cada aplicação pode definir uma visão particular dos dados

• reusabilidade: novos objetos podem aproveitar propriedades já definidas em outros objetos

– vantagem: redefinições de dados são evitadas– SGBD

• gerenciamento eficiente de dados operacionais (persistentes)

– acesso otimizado e concorrente; segurança; integridade; ...

• SGBDOO: gerenciamento de objetos persistentes

Page 14: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 14

Modelo de Dados OOModelo de Dados OO

• BDR– modelo formalmente definido e com um conjunto

fixo de conceitos• BDOO

– falta de consenso sobre um padrão (conjunto de conceitos)

• SGBDOOs com modelos heterogêneos– carência de uma base formal

• início das pesquisas em BDOO– muita atividade experimental, voltada às necessidades das

aplicações• tentativa de padronização: ODMG

Page 15: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 15

Modelo de Dados OO - ConceitosModelo de Dados OO - Conceitos

1. Identidade de objeto (OID)

2. Métodos

3. Classes

4. Estruturas complexas

5. Herança

6. Late Binding (ligação tardia)

Page 16: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 16

Identidade do Objeto (OID)Identidade do Objeto (OID)

• Identificador único de cada objeto– gerado pelo SGBDOO e imutável– visível ou não para o usuário

• Diferenças com relação a BDR– chave primária é passível de alteração

• consistência de unicidade• consistência de integridade referencial

– chave primária em alguns casos é um atributo artificial e visível ao usuário

• atributo adicional sem muita semântica

Page 17: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 17

Relacionamentos entre ObjetosRelacionamentos entre Objetos

• Referências a OIDs

• Vantagem– tipo do dado para referências é uniforme (OID)

• evita inconsistência de tipo de dado

objeto Pessoa objeto Automóvel

proprietário

marca: WV modelo: Gol i . . .

automóvel

nome: João Silva sexo: M. . .

OID(João Silva)

OID(WV Gol i)

Page 18: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 18

Igualdade de IdentidadeIgualdade de Identidade

• Introduz dois tipos de comparação– igualdade de identidade (=) (para OIDs)– igualdade de valor (= =) (para atributos)

– o1 = = o2 (verdadeiro!)– o1 = o2 (?)

• Observação– OID não dispensa (não substitui) a definição de

um identificador visível para o usuário

o1nome: João Silva

o2 nome: João Silva

sexo: M sexo: M

Page 19: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 19

MétodosMétodos

• Operações associadas a um objeto– comportamento de um objeto é mantido no BD– BDR mantém apenas a estrutura dos dados

• Composição– assinatura (interface pública do objeto)– implementação (LPOO utilizada pelo BDOO)

• Vantagem: encapsulamento de comportamento– simplifica o código das aplicações– cada aplicação acessa uma interface particular

• autorizações de acesso e/ou visões podem ser aplicadas a nível de métodos

– métodos podem servir para programar RIs• BDOOs não possuem, em geral, instruções sofisticadas

para RIs, como checks e triggers

Page 20: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 20

MétodosMétodos

objeto Pessoa objeto Automóvel

proprietário

marca: WV modelo: Gol i . . .

automóvel

nome: João Silva sexo: M

. . .

idade( )temAutomóvel?( )

nome( )

Page 21: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 21

ClasseClasse• Conjunto de objetos (instâncias) com a

mesma estrutura e comportamento• Base para a formulação de operações

– função idêntica a de uma tabela em um BDR• Vantagem: reusabilidade

– instâncias de uma classe compartilham a mesma estrutura e implementação de métodos

CPFnomesalário

cargo?demite

Empregados

cargo

reajustaSalário

50558976-90; João Silva; R$670,00; secretário

43539083-77; Maria Souza; R$890,00; dentista

75237111-81; Pedro Santos; R$990,00; faxineiro

. . .

i

i

i

Page 22: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 22

Estruturas ComplexasEstruturas Complexas

• Atributos com domínios não-atômicos– característica não suportada por BDRs

• Tipos de domínios– primitivos (atômicos)

• inteiros, cadeias de caracteres, datas, ...– referência (OIDs)

• nomes de classes (determinam relacionamentos)– construídos a partir de construtores de tipos

• definição de domínios complexos pelo usuário

• Vantagem– flexibilidade na definição de objetos complexos

Page 23: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 23

Construtores de TiposConstrutores de Tipos

• Tupla (tuple)– domínio é um registro

• Conjunto/Coleção (set/bag)– domínio é um grupo de dados

• Lista (list)– domínio é um grupo ordenado de dados

• Exemplos de domínios complexos– conjunto de inteiros– tuplas de listas de strings– listas de conjuntos de tuplas– ...

Page 24: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 24

Exemplo de ClasseExemplo de ClasseClasse Empregados (

CPF: integer,

nome: string,

endereço: TUPLE ( rua: string,

número: integer,

cidade: Cidades ),

especializações: LIST(string), (por ordem de experiência)

cargo: string;

departamento: Departamentos,

salário: real,

atividades: SET (TUPLE (projeto: Projetos,

tarefa: string) ) );

construtores de tipos

referência

primitivos

Page 25: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 25

HerançaHerança

• Suporte à representação de relacionamentos com semântica de generalização e especialização– especialização

• classe (subclasse) herda propriedades de outra classe (superclasse) e define novas propriedades

• subclasse: categorização da superclasse– generalização (É-UM)

• propriedades comuns de classes (subclasses) podem ser definidas uma única vez em uma superclasse

• Vantagem: reusabilidade

Page 26: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 26

Hierarquia de HerançaHierarquia de Herança

salárioEmpregados

cargo

reajustaSalário

nome

idade

Pessoas

endereço

alteraEndereço

CPF

alteraInstituição

Estudantesinstituição

DN

Universitárioscurso

Page 27: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 27

Late BindingLate Binding

• Característica herdada de LPOO• Overloading (sobrecarga)

– uso de um mesmo nome para mais de um método– exemplo: imprimir() em Pessoas e Imagens

• Late Binding (vinculação tardia)– escolha do código do método a ser executado em

tempo de execução (depende da classe do objeto e dos parâmetros)

• LP procedurais: early binding– vinculação entre código e nome de procedimento

definido em tempo de compilação– não é possível um nome ligado a mais de um

código

Page 28: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 28

Modelo de Dados OO Modelo de Dados OO

• Comparação com o modelo relacional– maior nível de abstração

• modelo de objetos tem maior afinidade semântica com um modelo conceitual de dados

– representação mais natural de uma entidade do mundo real

– mais adequado a representação de dados complexos de aplicações não-convencionais

• aplicações CAD/CAM, sistemas de informação geográfica, ...

– modelo mais complexo• maior número de conceitos

Page 29: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 29

ExemploExemplo

DNCPF

Professores áreasPesquisa (1, N)

nome

titulação

cidade

endereço

ruanúmero

salário

créditos

nome

(1,N)

(0,N)

códigocódigo título

Projetos Disciplinas

Docência

fase

Vínculo

(1,N)

(0,N)

ModelagemConceitual

Page 30: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 30

ExemploExemplo

endereço : TUPLE ( rua, número, cidade)

Professores

nomeCPF

salárioDNtitulaçãoáreasPesquisa: LIST(string)

projetos: SET(Projetos)disciplinas: SET(Disciplinas)

ModelagemLógica OO

Page 31: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 31

ExemploExemplo

Professores

cidadenúmerorua titulaçãonome salárioCPF

ÁreasPesquisa

Docência

CPF Codd

DN

Pesquisa

CPF Codp

ModelagemLógica Relacional

CPF Área ordem

Page 32: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 32

BD Objeto-Relacional - MotivaçãoBD Objeto-Relacional - Motivação

• SGBDs Relacionais (SGBDRs)– sistemas já consolidados no mercado– boa performance

• muitos anos de pesquisa e aprimoramento• eficiência: otimização de consultas,

gerenciamento de transações

– não atendem adequadamente os requisitos de dados de novas categorias de aplicações

Page 33: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 33

BD Objeto-Relacional - MotivaçãoBD Objeto-Relacional - Motivação

• SGBDs Orientado a Objetos (SGBDOO)– modelo de dados mais rico

• adequado ao mercado de aplicações não-convencionais

– pior desempenho, se comparado com SGBDR– heterogeneidade a nível de modelo e de

capacidades de consulta e atualização• SGBDs Objeto-Relacional (SGBDOR)

– combina as melhores características do modelo de objetos no modelo relacional

• modelo rico + eficiência no gerenciamento de dados– tecnologia relativamente nova – exemplos: Oracle, Informix, DB2, Postgres

Page 34: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 34

Classificação de Classificação de StonebreakerStonebreaker

BDORBDOO

BD RelacionaisSistemas de

ArquivosDados

Simples

Complexos

ConsultasSimples Complexas

• Pai da tecnologia OR (1997)

• Classifica os principais sistemas gerenciadores de dados em 4 quadrantes

Page 35: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 35

Classificação de Classificação de StonebreakerStonebreaker

BDORBDOO

BD RelacionaisSistemas de

ArquivosDados

Simples

Complexos

Simples Complexas

• Quadrantes de tipos de gerenciadores de dados

Consultas• dados são registros de tamanho fixo• poucas consultas predefinidas, em geral buscas por igualdade de campos dos registros

Page 36: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 36

Classificação de Classificação de StonebreakerStonebreaker

BDORBDOO

BD RelacionaisSistemas de

ArquivosDados

Simples

Complexos

Simples Complexas

• Quadrantes de tipos de gerenciadores de dados

Consultas• dados são linhas de tabelas cujos atributos possuem domínios simples• flexibilidade de consultas com SQL

Page 37: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 37

Classificação de Classificação de StonebreakerStonebreaker

BDORBDOO

BD RelacionaisSistemas de

ArquivosDados

Simples

Complexos

Simples Complexas

• Quadrantes de tipos de gerenciadores de dados

Consultas• dados são objetos com estrutura complexa• capacidade de consulta limitada, baseada em navegação por objetos (poucos usam todos os recursos da OQL)

Page 38: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 38

Classificação de Classificação de StonebreakerStonebreaker

BDORBDOO

BD RelacionaisSistemas de

ArquivosDados

Simples

Complexos

Simples Complexas

• Quadrantes de tipos de gerenciadores de dados

Consultas

• dados são tabelas com estrutura complexa• uso do padrão SQL estendido (SQL-3) para garantir flexibilidade nas consultas

Page 39: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 39

Classificação de Classificação de StonebreakerStonebreaker

BDORBDOO

BD RelacionaisSistemas de

ArquivosDados

Simples

Complexos

Simples Complexas

• Tendência– migração para tecnologia OR

Consultas

Page 40: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 40

BDR x BDOO x BDORBDR x BDOO x BDOR

tendência: alcançar larga

escala

pequena escalalarga escalauso comercial

modelo rico + eficiência de

acesso

modelo de dados rico

eficiência de acesso

vantagem

SQL estendido para objetos

OQL (em geral, não é full)

SQL fulluso de SQL

razoavelmente novo

razoavelmente maduro

maduromaturidade

espera-se que seja alta

baixaaltaperformance

simsimnãosuporte a dados complexos

SQL-3ODMG 3.0SQL-2padrão

BDORBDOOBDRCritério

Page 41: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 41

SQL-3 (SQL 99)SQL-3 (SQL 99)

• Versão mais atual da SQL

• Extensão da SQL-2 (SQL 92)– tratamento de objetos– consultas recursivas– instruções de programação– ...

Page 42: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 42

SQL-3SQL-3

• Suporte ao tratamento de objetos– tabelas aninhadas (objetos linha)– tipos abstratos de dados (TADs)– referências e OIDs– objetos complexos– definição de comportamento– herança

Page 43: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 43

Computação MóvelComputação Móvel

• Novo paradigma que altera premissas importantes em várias áreas da computação.– Redes

• Precisam ser ubíquas, com configuração dinâmica.

– Engenharia de Software• Código móvel.

– Bancos de dados• Acesso a qualquer dado em qualquer lugar e

qualquer momento.

Page 44: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 44

Bancos de Dados MóveisBancos de Dados Móveis

• Rede de Computadores Móveis– Unidades Móveis– Unidades Fixas– Estações de Bases

• Um ou mais bancos de dados– Em qualquer unidade

Page 45: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 45

Bancos de Dados MóveisBancos de Dados Móveis

• Características comumente encontradas:– Autonomia– Heterogeneidade– Distribuição

• Acesso de um host móvel a um banco de dados (residindo em um host móvel ou fixo).

• Computador móvel pode ser cliente ou servidor de uma requisição.

Page 46: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 46

Bancos de Dados MóveisBancos de Dados Móveis

Page 47: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 47

Fatores e ConsequênciasFatores e Consequências

• Velocidade dos links• Escalabilidade• Mobilidade• Localização• Poder das baterias• Desconectividade• Replicação/Caching• Handoff

• Aplicações– Localização e contexto

• Transações– Novos modelos

• Recuperação– desconexão

• Replicação– desconexão

• Consultas– Localização e custo.

Page 48: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 48

IntegraçãoIntegração

• Bancos de dados federados.• Arquitetura dos mediadores.• Bancos de Dados Múltiplos

(Multidatabase System – MDBS)– Multidatabase Language (MDL).

Page 49: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 49

Disseminação de DadosDisseminação de Dados

•Push-based systems• Relevância de dados.• Solução: o cliente se inscreve para receber dados de

seu interesse.• Periodicidade.• Broadcast Disks• Essencial uso de cache e prefetching.

•Pull-based systems

Page 50: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 50

HoardingHoarding

REINTEGRAÇÃO

CARGAANTECIPADA DE

DADOS(HOARDING)

OPERAÇÕESDESCONECTADAS

Page 51: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 51

TransaçõesTransações

• Ambiente multi-usuário• Aplicações locais e remotas

– Entrelaçamento• Falhas constantes e intermitência• Computação Móvel + Heterogeneidade

≠ Atomicidade– Divisão de Transações

• Mudança freqüente de dados.

Page 52: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara Banco de Dados Não Convenionais - 52

Alguns Bancos DisponíveisAlguns Bancos Disponíveis

• Sybase Ultralite• Oracle Lite Mobile Server• DB2 Everyplace• Microsoft SQL Server CE

Page 53: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

O que é XML?O que é XML?

• XML (eXtensible Markup Language)• Lingagem de marcação proposta pelo W3C

– W3C (World Wide Web Consortium) – Orgão responsável pela recomendação de padrões e protocolos para a web.

• Padrão para representação e troca de dados na Web.

• Descreve os dados, dando semântica a unidades de informação

• Soluciona as limitações de HTML

Page 54: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

O Que é XML? O Que é XML?

<?xml version="1.0" ><livros> <livro> <ISBN>1234</ISBN> <titulo>Inside XML</titulo> <editora>New Riders</editora> <edição>3ª</edição> <autor> <nome>Steven</nome> <endereco>NY</endereco> </autor> <autor> <nome>Holzner</nome> <endereco>Miami</endereco> </autor> </livro> <livro> ... </livro></livros>

ISBN titulo editora edição autor

StevenHolzner

endereco

NY Miami

nome

livro

autor

endereco nome

livro

livros

1234 Inside XML

New Riders

Elemento Raiz

Exemplo Documento XML

Page 55: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

O que é XML?O que é XML?

• XML não é apenas um outra linguagem de marcadores

• A maioria das linguagens provê um conjunto fixo de marcadores. XML é extensível

<livro><titulo>Inside XML</titulo><autor>Steven Holzner</autor><preco>R$ 150,00 </preco>

</livro>

Page 56: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Limitações da HTMLLimitações da HTML

• Documentos HTML foram criados para serem utilizados apenas por Browsers

• HTML não é extensível• Um documento HTML corresponde a uma

visão particular da informação• HTML enfatiza a formatação e não o

conteúdo• Em um documento HTML não é fornecida

nenhuma semântica além do formato

Page 57: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Benefícios da XMLBenefícios da XML

• Permite que um mesmo conteúdo seja usado de diferentes formas. Documentos XML podem ser usados e reusados de diferentes formas e em diferentes formatos

• Os autores de documentos XML podem concentrar-se no conteúdo e não na formatação

• Oferece o contexto no qual os dados estão sendo usados

Page 58: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Benefícios da XMLBenefícios da XML

• Documentos XML são auto descritíveis• Documentos XML são como banco de

dados de informações• O conteúdo dos documentos pode ser

manipulado e reorganizado pelo browser

• Permite a troca de dados na Web• Facilita a publicação de dados

Page 59: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

O que posso fazer com XML? O que posso fazer com XML?

• Separar dados do HTML – Dados podem ser armazenados fora dos documentos HTML

(em arquivos XML)– HTML será usada apenas para seu propósito inicial:

apresentação dos dados.

• Trocar dados na Internet (ou qq meio eletrônico). – Aplicativos podem “conversar” em XML. – Aplicações de comércio Eletrônico – Aplicações para transferência de dados na tecnologia de

celulares com ligação com a Internet (ex:a tecnologia WAP). – Transferência de dados entre Banco de Dados

Page 60: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

O que posso fazer com XML? O que posso fazer com XML?

• Compartilhar dados entre diferentes sistemas e diferentes plataformas de sotwares

• Publicar dados armazenados em Banco de Dados

• “Parse” XML para acessar o seu conteúdo• Manipular XML usando DOM• Consultar XML usando Xpath ou Xquery• Transformar XML usando XSLT

Page 61: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Áreas de atuação do XMLÁreas de atuação do XML

• Publicação de conteúdo disponível a diversos sites Web

• Aplicações de comércio eletrônico, onde diferentes organizações colaboram para atender um cliente

• Dispositivos portáteis e telefones inteligentes com novas linguagens de marcação otimizadas para esses dispositivos

• Linguagens baseadas em XML , tais como: MathML, CML, etc.

Page 62: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Linguagens Baseadas em XMLLinguagens Baseadas em XML

• Linguagens baseadas em XML consistem de um conjunto de tipos de elementos os quais possuem um nome e um significado

• O conjunto de tipos de elementos são usados para definir os tipos dos documentos e são definidos em um esquema XML

Page 63: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Linguagens Baseadas em XMLLinguagens Baseadas em XML

• MathML ( Mathematical Markup Language)– Marcação de expressões matemáticas

• CML ( Chermical Markup Language)– Marcação de fórmulas químicas

• SMIL ( Sunchonized Multimedia Language)– Define o formato e o comportamento

temporal de documentos multimídia

Page 64: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Linguagens Baseadas em XMLLinguagens Baseadas em XML

• BIOML ( BIOpolymer Markup Language)– Marcação de Polímeros

• GEML(Gene Expression Markup Language)– Marcação de informações genéticas

• ArchML(software Architecture Markup Language)– Marcação de projetos de arquiteturas de software

distribuído• Obs: Existem centenas de aplicações de XML

– www.xml.com

Page 65: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Padrões XMLPadrões XML

• DTD (Document Type Definition)– Permite se definir uma gramática para criar

documentos específicos

• Namespaces– Permite utilizar nomes repetidos para tags

utilizando espaços de nomes diferentes

• XML Schema– Estende o conceito de DTDs

Page 66: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Padrões XMLPadrões XML

• XLInks– Links entre documentos– Uma forma generalizada dos conceitos de

âncoras e links de HML

• XPointer– Permite um recurso ser identificado pela sua

localização contextual.

• XPath – É uma linguagem para referenciar partes de um

documento XML

Page 67: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Padrões XMLPadrões XML

• Xquery– Permite a consulta dentro de documentos

• XSLT (eXtensible Style Language Transformation)– Transformação de documentos XML

• CSS– Linguagem de estilo. Foi definida

primeiramente para HTML

Page 68: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Manipulando conteúdo de Manipulando conteúdo de documentos XMLdocumentos XML

• DOM( Document Object Model)– Manipula documentos XML como sendo

uma árvore de objetos

• SAX(Simple API for XML)– Utiliza o conceito de eventos para a

manipulação de documentos XML

Page 69: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Ferramentas para manipulação de Ferramentas para manipulação de documentos XMLdocumentos XML

• Parsers– Validadores

• Validam a sintaxe do documento em relação à DTD ou esquema

– Não validadores• Verifica apenas se o documento é bem-

formado

Page 70: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

Ferramentas para manipulação Ferramentas para manipulação de documentos XMLde documentos XML

• Editores– XML Spy(www.xmlspy.com)– XML Notepad (www.micrososft.com) – Xeena( www.alphaWorks.ibm.com/tech/xeena)

• Browsers– Netscape Navigator 6.0– Internet Explorer 5.0

• Outros softwares para XML– www.xmlsoftware.com

Page 71: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

ReferênciasReferências

• www.xml.org• www.xml.xom• www.msdn.microsoft.com/xml• www.xmlsoftware.com• www.w3c.org

Page 72: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

SGBDs para XMLSGBDs para XML

Aplicação Aplicação Aplicação

Internet

Relacional

OO OR

Visão XML

Page 73: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

SGBDs para XMLSGBDs para XML

• Sistema Gerenciador de Banco de Dados XML Nativo(Native XML Database – NXD)– É um BD projetado especificamente para

armazenar e manipular dados XML– O acesso aos dados é através de XML e

padrões relacionados, como XSLT, DOM e SAX

– Ex: Tamino, dbXML , X-Hive

Page 74: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

SGBDs para XMLSGBDs para XML

• Sistema Gerenciador de Banco de Dados compatível com XML( XML Enabled Database – EXDB)– É um BD que tem como funcionalidade adicional

um nível de mapeamento para XML

– Esse nível de mapeamento gerencia o armazenamento e a recuperação de dados XML

– Ex: As soluções para XML propostas pela Oracle e Microsoft

Page 75: © Marcelo Bezerra de AlcântaraBanco de Dados Não Convenionais - 1 Bancos de Dados Não- Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br.

© Marcelo Bezerra de Alcântara

SGBDs para XMLSGBDs para XML

• Sistema Gerenciador de Banco de Dados XML Híbrido( Hybrid XML Database – HXD)– É um banco de dados que pode ser tratado

ou como banco de dados nativo ou como um banco de dados compatível com XML, dependendo dos requesitos da aplicação

– Ex: Excelon e Ozone