Bancos de Dados NãoConvencionais
Msc, Marcelo Bezerra de Alcântara
[email protected]
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 1
Sumário
• BD Orientado a Objetos e ObjetoRelacional
• BDs XML
• Banco de Dados Móveis
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 2
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 - 3
BDR - 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 - 4
BDR - 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 - 5
Evolução do Hardware dos
Computadores
• Torna viável o desenvolvimento de
aplicações de grande porte (nãoconvencionais)
– á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 - 6
Exemplos de Aplicações NãoConvencionais
• 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 - 7
Exemplos de Aplicações NãoConvencionais
• Aplicações Web
– dados: documentos semi-estruturados
(XML)
– características: representação e consultas
complexas
• estruturas hierárquicas; buscas por palavraschave, ...
• 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 - 8
Novas Necessidades de
Gerenciamento 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 - 9
Novas Necessidades de
Gerenciamento 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 - 10
Comparativo
Dados Convencionais
Dados Não-Convencionais
estrutura fixa
estrutura não-fixa
atributos atômicos
atributos complexos
transações curtas
transações longas
relacionamentos de
associação (por chave)
outras semânticas de
relacionamento (composição,
adjacência, ...)
operações DML envolvem
procedimentos complexos
operações DML simples
atualização “in-place”
© Marcelo Bezerra de Alcântara
atualização não é “in-place”
Banco de Dados Não Convenionais - 11
BDs 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 - 12
BD 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 - 13
Modelo 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 - 14
Modelo 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 - 15
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 - 16
Relacionamentos entre Objetos
• Referências a OIDs
objeto Pessoa
nome: João Silva
sexo: M
...
automóvel
objeto Automóvel
OID(WV Gol i)
OID(João Silva)
marca: WV
modelo: Gol i
...
proprietário
• Vantagem
– tipo do dado para referências é uniforme (OID)
• evita inconsistência de tipo de dado
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 17
Igualdade de Identidade
• Introduz dois tipos de comparação
– igualdade de identidade (=) (para OIDs)
– igualdade de valor (= =) (para atributos)
o1
nome: João Silva
sexo: M
o2
nome: João Silva
sexo: M
– 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
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 18
Mé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 - 19
Métodos
objeto Pessoa
nome: João Silva
sexo: M
...
automóvel
objeto Automóvel
marca: WV
modelo: Gol i
...
proprietário
nome( )
idade( )
temAutomóvel?( )
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 20
Classe
• 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
Empregados
CPF
nome
salário
cargo
cargo?
demite
reajustaSalário
i
i
i
© Marcelo Bezerra de Alcântara
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
Banco de Dados Não Convenionais - 21
Estruturas 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 - 22
Construtores 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 - 23
Exemplo de Classe
Classe Empregados (
CPF: integer,
nome: string,
primitivos
endereço: TUPLE ( rua: string,
referência
construtores de tipos
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) )
© Marcelo Bezerra de Alcântara
);
Banco de Dados Não Convenionais - 24
Heranç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 - 25
Hierarquia de Herança
Pessoas
CPF
nome
endereço
DN
idade
alteraEndereço
Empregados
salário
cargo
Estudantes
instituição
alteraInstituição
reajustaSalário
Universitários
curso
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 26
Late 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 - 27
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 - 28
Exemplo
DN
salário
endereço
CPF
nome
titulação
Professores
rua
número
cidade
áreasPesquisa (1, N)
(1,N)
(1,N)
Vínculo
Docência
créditos
(0,N)
Modelagem
Conceitual
(0,N)
Projetos
código
© Marcelo Bezerra de Alcântara
fase
Disciplinas
nome
código
título
Banco de Dados Não Convenionais - 29
Exemplo
Professores
CPF
nome
endereço : TUPLE (
rua,
número,
cidade)
salário
DN
titulação
áreasPesquisa: LIST(string)
projetos: SET(Projetos)
disciplinas: SET(Disciplinas)
© Marcelo Bezerra de Alcântara
Modelagem
Lógica OO
Banco de Dados Não Convenionais - 30
Exemplo
Professores
CPF nome rua
número
cidade
salário
titulação DN
ÁreasPesquisa
CPF
Área ordem
Docência
Modelagem
Lógica Relacional
CPF Codd
Pesquisa
CPF Codp
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 31
BD 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 - 32
BD Objeto-Relacional - Motivação
• SGBDs Orientado a Objetos (SGBDOO)
– modelo de dados mais rico
• adequado ao mercado de aplicações nãoconvencionais
– 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 - 33
Classificação de Stonebreaker
• Pai da tecnologia OR (1997)
• Classifica os principais sistemas
gerenciadores de dados em 4 quadrantes
Simples
Sistemas de
Arquivos
BD Relacionais
BDOO
BDOR
Dados
Complexos
Complexas
Simples
Consultas
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 34
Classificação de Stonebreaker
• Quadrantes de tipos de gerenciadores de
dados
Simples
Sistemas de
Arquivos
BD Relacionais
BDOO
BDOR
Dados
Complexos
Complexas
Simples
• dados são registros de tamanho fixo
• poucas consultas predefinidas,
em geral buscas por igualdade
de campos dos registros
© Marcelo Bezerra de Alcântara
Consultas
Banco de Dados Não Convenionais - 35
Classificação de Stonebreaker
• Quadrantes de tipos de gerenciadores de
dados
Simples
Sistemas de
Arquivos
BD Relacionais
BDOO
BDOR
Dados
Complexos
Complexas
Simples
• dados são linhas de tabelas cujos
atributos possuem domínios simples
• flexibilidade de consultas com SQL
© Marcelo Bezerra de Alcântara
Consultas
Banco de Dados Não Convenionais - 36
Classificação de Stonebreaker
• Quadrantes de tipos de gerenciadores de
dados
Simples
Sistemas de
Arquivos
BD Relacionais
BDOO
BDOR
Simples
Complexas
Dados
Complexos
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 - 37
Classificação de Stonebreaker
• Quadrantes de tipos de gerenciadores de
dados
Simples
Sistemas de
Arquivos
BD Relacionais
BDOO
BDOR
Dados
Complexos
Complexas
Simples
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 - 38
Classificação de Stonebreaker
• Tendência
– migração para tecnologia OR
Simples
Sistemas de
Arquivos
BD Relacionais
BDOO
BDOR
Dados
Complexos
Complexas
Simples
Consultas
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 39
BDR x BDOO x BDOR
Critério
BDR
BDOO
BDOR
padrão
SQL-2
ODMG 3.0
SQL-3
suporte a dados
complexos
não
sim
sim
performance
alta
baixa
espera-se que
seja alta
maturidade
maduro
razoavelmente
maduro
razoavelmente
novo
uso de SQL
SQL full
OQL (em geral,
não é full)
SQL estendido
para objetos
vantagem
eficiência de
acesso
modelo de dados
rico
modelo rico +
eficiência de
acesso
uso comercial
larga escala
pequena escala
tendência:
alcançar larga
escala
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 40
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 - 41
SQL-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 - 42
Computaçã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 - 43
Bancos 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 - 44
Bancos 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 - 45
Bancos de Dados Móveis
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 46
Fatores 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 - 47
Integraçã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 - 48
Disseminaçã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 - 49
Hoarding
CARGA
ANTECIPADA DE
DADOS
(HOARDING)
REINTEGRAÇÃO
© Marcelo Bezerra de Alcântara
OPERAÇÕES
DESCONECTADAS
Banco de Dados Não Convenionais - 50
Transaçõ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 - 51
Alguns Bancos Disponíveis
•
•
•
•
Sybase Ultralite
Oracle Lite Mobile Server
DB2 Everyplace
Microsoft SQL Server CE
© Marcelo Bezerra de Alcântara
Banco de Dados Não Convenionais - 52
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?
Exemplo Documento 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>
© Marcelo Bezerra de Alcântara
Elemento Raiz
livros
livro
livro
autor
autor
endereco
nome endereco
ISBN titulo editora edição
1234 Inside New 3ª
XML Riders
Miami
Holzner
NY
nome
Steven
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 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 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 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?
• 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?
• 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
• 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 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 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 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 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 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 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
documentos 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
documentos XML
• Parsers
– Validadores
• Validam a sintaxe do documento em
relação à DTD ou esquema
– Não validadores
• Verifica apenas se o documento é bemformado
© Marcelo Bezerra de Alcântara
Ferramentas para manipulação de
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ê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 XML
Aplicação
Aplicação
Aplicação
Internet
Visão XML
Relacional
© Marcelo Bezerra de Alcântara
OO
OR
SGBDs 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 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 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
© Marcelo Bezerra de Alcântara
Download

Bancos de Dados Não-Convencionais - fa7