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