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

Post on 17-Apr-2015

115 views 8 download

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

© 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ântaramalcantara@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

© 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– ...

© 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

© 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

© 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

© 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

© 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

© 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, ...

© 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, ...)

© 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

© 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– . . .

© 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

© 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

© 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)

© 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

© 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)

© 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

© 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

© 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( )

© 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

© 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

© 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– ...

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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)

© 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

© 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

© 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

© 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– ...

© 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

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

© 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

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

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

Bancos de Dados MóveisBancos de Dados Móveis

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

© 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).

© 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

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

HoardingHoarding

REINTEGRAÇÃO

CARGAANTECIPADA DE

DADOS(HOARDING)

OPERAÇÕESDESCONECTADAS

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

© 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

© 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

© 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

© 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>

© 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

© 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

© 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

© 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

© 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

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© Marcelo Bezerra de Alcântara

SGBDs para XMLSGBDs para XML

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

Internet

Relacional

OO OR

Visão XML

© 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

© 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

© 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