Formas de Gerência de Dados XML

Documentos relacionados
Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

XML & Banco de Dados

Gerenciamento de Dados XML

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

5a. Aula - XML

Ensino Técnico Integrado ao Médio FORMAÇÃO PROFISSIONAL. Plano de Trabalho Docente 2013

SISTEMA GERENCIADOR DE BANCO DE DADOS

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

BANCO DE DADOS I AULA 2. Willamys Araújo willamysaraujo7@gmail.com

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Arquitetura de Banco de Dados

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Engenharia de Software II

Análise de Sistemas 3º Bimestre (material 2)

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

Série Rações Semanais Xpath e XSLT Rogério Araújo

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Disciplina: Unidade III: Prof.: Período:

Algoritmos e Programação II

Desenvolvimento de Software

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Roteiro. Modelagem com Entidade-Relacionamento Estendido. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa.

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

DOCUMENTO DE REQUISITO DE SOFTWARE

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

XML Schema. Vanessa Braganholo. Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Modelo Entidade-Relacionamento. José Antônio da Cunha CEFET-RN

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

BANCO DE DADOS. Vinícius Pádua

O que é um banco de dados? Banco de Dados. Banco de dados

Banco de Dados I. Prof. Edson Thizon

Inteligência Artificial

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

XML (extensible Markup Language)

Tecnologia da Informação

MODELAGENS. Modelagem Estratégica

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Arquitecturas de Software Enunciado de Projecto

JAVA Express com Lógica. Subtítulo

BANCO DE DADOS I Atualizado em 13 de maio de 2009

Disciplina de Banco de Dados Parte V

Métricas de Software

Roteiro. Mapeamento dos Modelos ER e EER. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Modelo Comportamental

Modelagem De Sistemas

Suporte Nativo a XML no Oracle 10g

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc.

Fundamentos de Teste de Software

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8

Sumário. 3 Estruturas das bases de

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão Fevereiro XATA 06

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

Análise de Requisitos

Prof.: Clayton Maciel Costa

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

XML - Extensible Markup Language

Banco de Dados. Modelo Entidade - Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP

Projeto de Desenvolvimento de Software

Manual para utilização da funcionalidade de importar arquivo XML para prestação de contas

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

TERMO DE REFERÊNCIA PARA CONTRATAÇÃO DE PESSOA FÍSICA

Plano de Trabalho Docente Ensino Técnico

Programação Orientada a Objetos SANTOS, Rafael

1 Introdução Motivação O Formato MPEG-4

Diagrama de Componentes e Implantação

Objetivo do Portal da Gestão Escolar

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Mapeamento Objeto-Relacional

SuporteNativoa XML no

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Protocolo relativo a Estágio Curricular

3.2. Bibliotecas. Biblioteca Professor Antônio Rodolpho Assenço, campus Asa Sul: Os espaços estão distribuídos da seguinte forma:

LUIZ CARLOS FRANKLIN DA SILVA

Prof. José Maurício S. Pinheiro - UGB

Plant Design.com

Programação de Computadores - I. Profª Beatriz Profº Israel

MINISTÉRIO DA EDUCAÇÃO FUNDO NACIONAL DE DESENVOLVIMENTO DA EDUCAÇÃO DIRETORIA DE ASSISTÊNCIA A PROGRAMAS ESPECIAIS

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

PLANO ANUAL DE ATIVIDADES BIBLIOTECA ESCOLAR

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás

MANUAL DA MARCA Julho 2011

Transcrição:

Bancos de Dados XML

Formas de Gerência de Dados XML SGBDRs estendidos com suporte à XML adequados a dados XML fortemente estruturados ( documentos orientados a registros ) <endereço> <rua>beira-mar</rua><numero>104</numero><complemento>apto 203</complemento> <bairro>centro</bairro><cidade>florianópolis</cidade> <cep>88010-600</cep> </endereço> <endereço> <rua>lauro Linhares</rua><numero>761</numero><bairro>trindade</bairro> <cidade>florianópolis</cidade><cep>88040-900</cep> </endereço> aplicações que realizam intercâmbio de dados convencionais em XML dados de BD, arquivos, docs bem formatados em geral

Formas de Gerência de Dados XML SGBDs XML Nativos suporta um modelo de dados proprietário para dados XML (elementos, atributos, ordem,...) Adequado a dados fortemente semi-estruturados ( documentos orientados a textos ) mapeamento para BD relacional seria complexo! necessidade de consultas envolvendo padrões textuais aplicações que lidam apenas com dados no formato XML <anuncio> <transacao>vendo</transação>, por motivo de viagem,<produto>automóvel Gol I 97 </produto>, cor azul, em ótimo estado de conservação. Preço: R$<preco>9000,00</preco>. Tratar com<contato><nome>pedro</nome> fone</fone>99991111</fone></contato> </anuncio>

BDs XML Nativos - Características Esquemas lógicos baseados em coleções Consultas Atualização Conectividade Projeto de um BD XML

Coleções Noção lógica de um conjunto de docs XML a decisão por quais docs XML pertencem a uma coleção fica em geral a cargo da aplicação + : flexibilidade quanto ao conteúdo da coleção - : baixo nível de integridade dos dados uma coleção pode estar restrita a um ou vários esquemas XML geralmente representam dados de um mesmo domínio Consultas e atualizações podem ser direcionadas a coleções

Coleções - Tamino 1 BD n coleções n esquemas n tipos de documentos cada tipo de documento define um elemento raiz permitido novo doc XML: inserido em uma coleção e válido para algum tipo doc Docs sem esquema mantidos em uma coleção específica tipos de documentos

Consultas Suporte a pelo menos uma linguagem de consulta para XML uso mais extensivo de XPath uso de alguns dialetos da XQuery (tendência!) Características desejadas para uma linguagem de consulta para XML buscas textuais (por palavras-chaves, por padrões,...) consultas declarativas resultados de consultas doc XML, fragmentos de docs XML ou novas estruturas XML

Consultas Tamino consultas em XPath e XQuery estendidas suporta busca por padrão /livro[título ~= *XML* ]/título geração de docs XML como resultado exist consultas em XPath estendida suporta busca por padrão, por palavra-chave (em textos) e por proximidade /livro[título &= banco XML ]/título /livro/capitulo[near(., banco XML,50)]/@nome

Atualizações Capacidades de atualização são variadas possibilidade apenas de substituição de um doc XML completo API DOM para atualização de nodos linguagens de atualização declarativas tendência1: XUpdate (consórcio XML:DB) XML:DB consórcio de empresas responsável pelo desenvolvimento de tecnologias para BDs XML tendência2: XQuery com capacidades de atualização

XUpdate Sintaxe XML I / E de elementos, atributos e texto A do conteúdo de elementos e atributos Exemplo 1: <xupdate:appendselect= //autor[nome= Maria ]/email child= last() > <xupdate:element name="email">maria@teste.com</xupdate:element> </xupdate:append> (inclusão de um novo email para Maria) Exemplo 2: <xupdate:remove select="/listalivros/livro[1]"/> (remoção do primeiro livro)

Atualizações - Tamino XQuery possui capacidades de atualização insert, delete, rename e replace Exemplos update (inserção de autor) for $liv in input()/livro where $liv/titulo = XML do(insert (<autor><nome>joão Silva</nome></autor>) following $liv/autor[last()]) update (alteração de email de autor) for $aut in input()/livro/autor where $aut/nome = Maria Souza do (replace $aut/email with (<email>ms@new.com</email>))

Conectividade APIs Interfaces ODBC tradicionais conexão com o BD, execução de consultas e atualizações e exploração de resultados XQuery API para Java (JQX) JDBC como base Protocolos HTTP acesso via browsers Web Consórcio XML:DB proposta de uma API para BDs XML manipulação de BDs e coleções; execução de consultas Xpath e XUpdate; acesso a resultados de consultas; controle de transações

APIs - Tamino Interface principal de acesso são browsers Web um servidor Tamino deve estar sempre associado a um Web server (domínio Internet) define uma API que encapsula chamadas HTTP criação e manipulação de BDs, coleções e docs acesso: http://<nome_domínio>/tamino/<nome_bd>/ [<nome_coleção>]<comando_api_http> Outras formas de acesso API DOM para aplicações Java, Jscript e Active X API XML:DB

Tamino Conectividade HTTP

Projeto de um BD XML Não há uma metodologia consolidada Projeto tradicional de um BD (i) especificação de requisitos; (ii) modelagem conceitual; (iii) modelagem lógica e (iv) modelagem física ou implementação pode ser aplicado a um BD XML no caso de dados XML fortemente semi-estruturados revisão da modelagem física: considerar a existência de informação textual não-estruturada no conteúdo de elementos

Guia para Projeto de BD XML 1. Especificação de requisitos levantamento das necessidades de dados 2. Modelagem conceitual uso de um modelo de dados convencional (ex.: ER) 3. Modelagem lógica uso de um modelo de dados baseado em grafo adequado à representação de uma hierarquia XML 4. Modelagem física especificação do esquema XML (DTD ou XSD)

Modelagem Conceitual - Exemplo ISBN título nome Livros (0,N) autoria (1,N) Autores email (0,N) ordem nome (1,1) organização (1,N) Capítulos referências (0,N)

Modelagem Lógica Grafo orientado Nodos não-terminais (ou não-léxicos) mapeamento de entidades do ER modelam elementos compostos Nodos terminais (ou léxicos) mapeamento de atributos do ER modelam conteúdo de elemento ou de atributo Arestas rotuladas com restrições de cardinalidade mapeamento de relacionamentos ou associações entidade-atributo do ER modelam relacionamentos hierárquicos ou associações elemento-atributo no doc XML

Modelagem Lógica Eleição do nodo não-léxico central entidade central na modelagem conceitual a partir dela uma hierarquia de nodos pode ser definida com base nos seus relacionamentos no ER exemplo: Livro um nodo raiz deve ser definido como pai deste nodo (cardinalidade 1:N) sugestões de nomenclatura conjunto de ocorrências da entidade central (ex.: Livros) contexto do domínio (exemplos.: Livraria, Biblioteca,...) Mais de um nodo central pode existir... entidades independentes (ex.: livros e funcionários de uma biblioteca) todos serão filhos do nodo raiz (ex.: biblioteca)

Modelagem Lógica - Exemplo nodo léxico Livros (1,N) nodo raiz nodo central ISBN Livro (1,1) (1,1) (1,N) (1,N) Título nodo não-léxico Nome (1,1) Autor (0,N) email (1,1) Nome Capítulo (0,N) Referência (1,1) Ordem

Modelagem Física Definição de elementos e atributos do esquema nodos não-léxicos elementos compostos nodos léxicos elementos simples ou atributos Definição da ordem de sub-elementos análise das arestas que partem do nodo não-léxico Modelagem física de um nodo léxico como atributo economia de espaço no doc XML pode-se definir algumas RIs específicas como elemento recomendado para conteúdos extensos e quando se deseja manter a ordem de sub-elementos melhor legibilidade do doc XML

Modelagem Física - Exemplo (1,1) Nome ISBN <!ELEMENT Livros (Livro+)> <!ELEMENT Livro (Título, Autor+, Capítulo+)> <!ATTLIST Livro ISBN CDATA> <!ELEMENT Título (#PCDATA)> <!ELEMENT Autor (Nome, email*)> <!ELEMENT Nome (#PCDATA)> <!ELEMENT email (#PCDATA)> Livros <!ELEMENT Capítulo (Nome, Referência*)> <!ATTLIST Capítulo ordem CDATA> (1,N) <!ELEMENT Referência (#PCDATA)> (1,1) Livro (1,1) Título (1,N) (1,N) Autor Capítulo (1,1) (1,1) (0,N) (0,N) Nome email Ordem Referência DTD

Modelagem Física - Revisão <!ELEMENT Livros (Livro+)> <!ELEMENT Livro (Título, Autor+, Capítulo+)> <!ATTLIST Livro ISBN CDATA> <!ELEMENT Título (#PCDATA)> <!ELEMENT Autor (Nome, email*)> <!ELEMENT Nome (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT Capítulo (Nome, Referência*)> <!ATTLIST Capítulo ordem CDATA> <!ELEMENT Referência (#PCDATA)> ordem dos capítulos pode estar implícita no doc XML capítulos com conteúdo textual <!ELEMENT Livros (Livro+)> <!ELEMENT Livro (Título, Autor+, Capítulo+)> <!ATTLIST Livro ISBN CDATA> <!ELEMENT Título (#PCDATA)> <!ELEMENT Autor (Nome, email*)> <!ELEMENT Nome (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT Capítulo (Nome, Texto)> <!ELEMENT Texto (#PCDATA Referência)*> <!ELEMENT Referência (#PCDATA)>

BDs XML Crítica Pontos a favor dados XML são semi-estruturados overhead de gerenciamento para BDs não-xml aplicações com dados complexos semi-estruturados e/ou muito dinâmicos flexibilidade estrutural de docs XML modela melhor tais dados aplicações que lidam apenas com dados XML por quê adquirir um BD não-xml? modelo de dados diferente; recursos para o gerenciamento de dados XML é complicado Tecnologia relativamente recente algumas funcionalidades de SGBDs não são ainda tratadas ou não estão consolidadas restrições de integridade, visões,...