INE BDNC. Bancos de Dados XML

Documentos relacionados
Formas de Gerência de Dados XML

Sumário. XML (extensible Markup Language)

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

Gerenciamento de Dados XML

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

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

2. Revisão e Dicas de Modelagem Conceitual

XML (extensible Markup Language)

Introdução. O que é um Banco de Dados (BD)?

XML & Banco de Dados

5. BD Temporal (BDT)

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Sistemas de Banco de Dados

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Unidade 1 Introdução

BANCO DE DADOS ORIENTADO A OBJETOS

Sumário. BD Orientado a Objetos

BD e Aplicações em Negócios

Aula 01 Conceito de Banco de Dados e SGBD

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

Sumário. Banco de Dados Temporal (BDT)

Curso: Banco de Dados I. Conceitos Iniciais

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

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Modelagem de dados usando MER. Andre Noel

Introdução a Banco de Dados Prof. Msc Denival A. dos Santos

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

Sumário. Banco de Dados Temporal

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

Análise e Projeto de Sistemas I

LISTA DE EXERCÍCIOS TEORIA DE BANCO DE DADOS

MODELAGEM DE DADOS -PROJETO CONCEITUAL DE BD. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados Relacional

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Revisando Banco de Dados. Modelo Relacional

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Banco de Dados e Aplicações em Negócios: Introdução.

INE 5454 Tópicos Especiais em Gerência de Dados

Bancos de Dados Não- Convencionais

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Unidade 4 Projeto de Banco de Dados

Modelagem Conceitual parte I

Modelagem Conceitual parte I

MODELO DE BANCO DE DADOS RELACIONAL

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

José Carlos Ramalho Alda Reis Lopes Pedro Rangel Henriques

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

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:

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Conceitos de Sistemas de Banco de Dados INE 5323

Prof. Marcelo Machado Cunha

INE 5423 Banco de Dados I

Modelo Relacional. Aula 02

Implementação de BDs Temporais

BCD29008 Banco de dados

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

INE 5423 Banco de Dados I

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

MAPEAMENTO OBJETO RELACIONAL. Professora Lucélia Oliveira

Modelagem de Sistemas Web. Modelagem de BD

BCD29008 Banco de dados

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

Introdução a Sistemas de Informação

Professor Eros Moura, DSc

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW

Sistema Gestor de Bancos de Dados (SGBD)

Revisão de Bancos de Dados

BANCO DE DADOS. Araújo Lima. Fev / Araújo

Armazenamento Nativo. Vanessa Braganholo. Vanessa Braganholo

MC536. Modelo Relacional

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Introdução ao Modelo Relacional

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Banco de Dados 08/08/2010

XML (extensible Markup Language)

INTRODUÇÃO AO MODELO RELACIONAL

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

A linguagem SQL

No contexto informático. Requisitos

Banco de Dados. SGBDs. Professor: Charles Leite

Modelos de Dados Temporais

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

Programação com Acesso a Banco de Dados

CES-30 Técnicas de Banco de Dados - BD e CE-240 Projeto de Sistema de BD

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

Modelo Entidade-Relacionamento

SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Transcrição:

INE 661300 - BDNC 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 Armazenamento e indexação de dados 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

Sintaxe XML XUpdate 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

Armazenamento Docs XML in-natura (campo longo) texto do doc preservado na íntegra (cabeçalho, comentários,...) armazenamento clusterizado de fragmentos do doc Esquema de objetos (DOM ou esquema similar a BDOO) DOM preserva ordem de elementos qualquer esquema tem a mesma estrutura (document, element,...) intenção dos dados não fica clara clusterização por profundidade bom p/ buscas na ordem da hierarquia clusterização por largura bom p/ buscas por propriedades de um elemento BDOO não preserva ordem de elementos esquema de classes gerado de acordo com os tipos de elementos complexos intenção dos dados mais clara clusterização geralmente por instâncias da mesma classe bom para buscas por dados de determinados tipos de elementos

Indexação por valor Indexação indexa valores de elementos simples e atributos ex: buscar elementos com valor XML Indexação por estrutura indexa a localização de elementos e atributos ex: buscar elementos com nome XML Indexação full-text indexa tokens em textos e valores de atributos ex: buscar elementos que contenham a palavra XML

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 Livros (1,N) (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 <!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)> 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,...