© marcelo bezerra de alcântarabanco de dados não convenionais - 1 bancos de dados não-...
TRANSCRIPT
© 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]
© 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
3ª
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