©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.

Slides:



Advertisements
Apresentações semelhantes
Faculdades Integradas Santa Cruz
Advertisements

Standard para representar e trocar informação estruturada
Electronic Data Interchange
Laboratório de Informática Introdução à Linguagem HTML
Profa. Rudson apostilas.wikidot.com/hipermidia
Helena Galhardas DEI IST
1 FEUPXML Anotação de Documentos Elementos, Atributos, Entidades, Comentários, Declarações e Instruções de Processamento.
Modelo Entidade-Relacionamento
Software Básico Silvio Fernandes
XML (eXtensible Markup Language) W3C - World Wide Web Consortium Documentos TXT estruturados? Por que XML? XML, ou eXtensible Markup Language, é uma linguagem.
Validação HTML.
XML - Extensible Markup Language
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Vânia Maria Ponte Vidal
Gerenciamento de Dados XML
Encontro Linguagem HTML; 13. Hospedagem na WWW.
XML DTDs e Schemas Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 21/10/2002 Autor: Marden Menezes Costa.
HTML Básico João Araujo.
XML Extended Markup Language
Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações
©Silberschatz, Korth and Sudarshan (modificado)5.1.1Database System Concepts Capítulo 5: Outras linguagens Query-by-Example (QBE) Datalog.
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
XML Schema Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa Fumagalli.
Document Type Definition - DTD
Tópicos avançados em internet A
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
ACCESS Introdução às Tecnologias de Informação II
1ª Aula de Html Íria Albuquerque.
2.2.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
INTRODUÇÃO ÁS BASES DE DADOS
Soluções de CTI • CRM • Contact Center • Call Center
Capítulo 7: Design de Bases de Dados
1.
Document Type Definition (DTD) Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003.
Profº Cláudio Barbosa XHTML – Introdução  XHTML (eXtensible HyperText Markup Language) – linguagem baseada na XML para.
Professor: Márcio Amador
Repositório de Tabelas Corporativas do Ministério da Saúde
Banco de Dados Aplicado ao Desenvolvimento de Software
Linguagem XML Criando um documento XML válido
Universidade do Estado do Rio de Janeiro Instituto de Matemática e Estatística XML: Extensible Markup Language EquipeEquipe: Adriana Cristina de Oliveira.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
XML – Extensible Markup Language [Introdução] Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa.
©Silberschatz, Korth and Sudarshan (modificado)7.3.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
Cascading Style Sheets (css). Cascading Style Sheets  Cascading Style Sheets (CSS) é uma linguagem de estilo utilizada para definir a apresentação de.
©Silberschatz, Korth and Sudarshan (Modificado)1.1Database System Concepts Capítulo 1: Introdução Função dos Sistemas de Bases de Dados Visão dos dados.
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Produção de Sites Unidade 9 – XML Prof.: Henrique Santos.
The Petri Net Markup Language (PNML) Wellington João da Silva Mestrado Ciência da Computação.
©Silberschatz, Korth and Sudarshan (modificado)10.2.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.
PROGRAMAÇÃO WEB AULA XHTML
©Silberschatz, Korth and Sudarshan (modificado)7.3.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
HTML HyperText Markup Language. 2 Origem O HTML foi criado, juntamente com o HTTP nos laboratórios do CERN, na europa para permitir a consulta de documentos.
Validando Documentos XML Vânia Maria Ponte Vidal
XML Prof. Dr. Fernando Gauthier INE/UFSC. XML XML (Extensible Markup Language) é uma linguagem para marcar documentos que contêm informações estruturadas.
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
RDF -Resource Description Framework
XML: Conceitos, Tecnologias e Aplicações Vânia Maria Ponte Vidal
2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
Java e XML Eduardo Aranha. Slogans de Java e de XML Java – “Portabilidade de Código” XML – “Portabilidade de Dados” Java e XML – “Portabilidade de Código.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Banco de Dados Universidade do Estado de Santa Catarina
1 Sistemas Multimídia Fundamentos Básicos - HTML Prof. Hemir Santiago Prof. Hemir Santiago.
Profº Cláudio Barbosa HTML - Introdução  HTML – Hypertext Markup Language – Linguagem de Marcação de Hipertexto;  Linguagem.
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
Apresentação TI Alunos: Isadora Bernardo, Lucas Medeiros, Marcela Muniz e Renata Coutinho.
Design para Web 3 XHTML.
Rhizome. Roteiro Definição Metas Características Arquitetura Tecnologias envolvidas Referências.
Transcrição da apresentação:

©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Transformação de documentos XML: XPath e XSLT Mapeamento entre documentos XML e Bases de Dados relacionais

©Silberschatz, Korth and Sudarshan (modificado)10.1.2Database System ConceptsIntrodução XML: Extensible Markup Language Definido pelo WWW Consortium (W3C) Extensão ao HTML Desenhado originalmente como uma linguagem de marcação de documentos (markup language) e não como uma linguagem de bases de dados.  Os documentos tem marcadores (tags) que fornecem informação adicional sobre partes do documento  E.g. XML Introdução …  Vem no seguimento do SGML (Standard Generalized Markup Language), mas é mais simples de usar

©Silberschatz, Korth and Sudarshan (modificado)10.1.3Database System ConceptsIntrodução XML versus HTML  Ao contrário do HTML (que também deriva do SGML), o XML é extensível  O utilizador pode adicionar novos tipos de tags e definir depois, separadamente, como lidar com as novas tags (nomeadamente para display).  No XML, os dados, a sintaxe em que são descritos, e a forma como são visualizados são definidos separadamente.  No HTML, a sintaxe é fixa (o conjunto de tags está predefinido) e os marcadores definem simultaneamente os dados e a sua visualização. O objectivo do XML era (será que ainda é?) substituir o HTML como linguagem para colocar páginas na Web E o que é que isto tem a ver com Bases de dados?!?

©Silberschatz, Korth and Sudarshan (modificado)10.1.4Database System Concepts XML para Bases de Dados A possibilidade de especificar novas tags, e de criar uma estrutura imbricada de tags, tornou o XML uma óptima linguagem para troca de dados (e não só de documentos). As tags tornam os dados algo auto-documentados  E.g. A-101 Lx 500 A-101 João

©Silberschatz, Korth and Sudarshan (modificado)10.1.5Database System Concepts XML: Motivação A troca de informação é, hoje em dia, uma tarefa crítica e com importância crescente  Exemplos:  Banca: transferência de fundos  Aplicações B2B (processamento de compras entre empresas)  Dados científicos –Química: ChemML, … –Genética: BSML (Bio-Sequence Markup Language), …  O fluxo de papel entre organizações tende a ser substituído por fluxo (electrónico) de informação. Cada área de aplicação tem os seus próprios standards para representar a informação O XML tornou-se a base para a geração de formatos de troca de dados

©Silberschatz, Korth and Sudarshan (modificado)10.1.6Database System Concepts XML: Motivação (Cont.) Cada standard baseado em XML define quais os elementos válidos a transmitir através de:  Linguagens de especificação de tipos em XML  DTD (Document Type Descriptors)  XML Schema  Descrição textual (ou formal via RDF, OWL) da semântica O XML permite que sejam definidas novas tags:  Isto é restrito pelos DTDs Existe actualmente uma grande variedade de produtos para fazer parsing, transformar (em HTML) e pesquisar dados em documentos XML

©Silberschatz, Korth and Sudarshan (modificado)10.1.7Database System Concepts Estrutura dos dados em XML Tag: label para uma secção de dados Elemento: secção de dados começada por e terminada pelo correspondente Os inícios e fins de secções têm que estar bem emparelhados (como estrutura de parêntesis)  Exemplo correcto  … ….  Exemplo incorrecto  … ….  Formalmente: A cada tag de início deve corresponder exactamente uma tag de fim, que está no contexto do mesmo nó antecessor imediato Um documento tem um único elemento de nível mais alto (raiz)

©Silberschatz, Korth and Sudarshan (modificado)10.1.8Database System Concepts Exemplo de elementos imbricados Luís 5 de Outubro Lisboa A-102 Caparica 400 …..

©Silberschatz, Korth and Sudarshan (modificado)10.1.9Database System Concepts Motivação para dados imbricados A imbricação de dados não é suportada em bases de dados relacionais  Pode causar dados redundantes (e.g. informação de contas com vários clientes)  A normalização substitui estruturas imbricadas por existência de várias tabelas com restrições de chaves externas  As bases de dados objecto-relacional suportam dados imbricados Mas imbricação de dados é importante na transferência de dados  A aplicação externa pode não ter acesso à tabela referenciada pelas chaves externas!

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Estrutura dos dados em XML(Cont.) O XML permite misturar texto com sub-elementos  Exemplo: Esta conta já quase não é usada. A-101 Lx 500  Isto é útil para marcação de documentos, mas desencorajado em representação de dados…

©Silberschatz, Korth and Sudarshan (modificado) Database System ConceptsAtributos Os elementos podem ter atributos A-101 Lx 500 Os atributos são especificados dentro da tag de início, por pares da forma nome=valor Um elemento pode ter vários atributos, mas cada nome de atributo só pode ocorrer uma vez em cada tag 

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Atributos versus sub-elementos Distinção entre sub-elementos e atributos  No contexto de um documento, os atributos são partes da marcação, e sub-elementos são partes dos dados do documento propriamente dito.  No contexto de representação de dados, a diferença não é tão clara  A mesma informação pode ser representada das duas formas – …. – A-101 …  Sugestão: usar atributos para identificadores (ou chaves) de elementos, e usar sub-elementos para outros atributos

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Mais sobre sintaxe XML A sintaxe de elementos sem sub-elementos nem texto, pode ser abreviada terminando a tag de início /> e evitando a tag de fim  Para guardar strings que tenham a forma de tags (sem as querer interpretar como tal) usar  … ]]>  Aqui, e são simplesmente strings de dados

©Silberschatz, Korth and Sudarshan (modificado) Database System ConceptsNamespaces Os dados em XML podem servir para ser transferidos entre empresas A mesma tag pode ter significados diferentes em empresas diferentes, o que pode causar confusão na troca de documentos Solução: usar nome-único:elemento-único Para evitar a geração de nomes únicos grandes por todo o documento, podem usar-se os Namespaces do XML … R. Ouro Lx …

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Esquemas de Documentos XML Em bases de dados, os esquemas definem que informação pode ser armazenada, com que estrutura, e quais os tipos dos vários valores Os documentos XML não têm obrigatoriamente um esquema associado Mas, quando para uso em transferência de dados, é importante associar esquemas a documentos XML  Caso contrário, como poderia um site interpretar de forma automática dados recebidos de outro site? Dois mecanismos para especificar esquemas de XML:  Document Type Definition (DTD)  Muito usado, mais simples  XML Schema  Mais recente, mais potente, e com uso cada vez maior

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Document Type Definition (DTD) O tipo (esquema) de um documento XML pode ser especificado por um DTD Um DTD define a estrutura de dados permitida em XML  Que elementos podem aparecer  Que atributos pode ter (ou têm que ter) cada um dos elementos  Que sub-elementos podem (ou têm que) ocorrer dentro de cada elementos, e quantas vezes Os DTD não servem para restringir tipos de dados  Todos os valores são representados como strings Sintaxe de um DTD 

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Especificação de elementos em DTDs Um sub-elemento pode ser especificado como:  nomes de elementos, ou  #PCDATA (parsed character data), i.e., strings  EMPTY (nenhum sub-elemento) ou ANY (tudo pode aparecer como sub- elemento) Exemplo A especificação de sub-elementos pode conter expressões regulares:  Notação: – “ | ” - alternativas – “ + ” - 1 ou mais ocorrências – “ * ” - 0 ou mais ocorrências

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Exemplo de DTD <!DOCTYPE banco [ ]> Link para exemplo

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Especificação de atributos em DTDs Para cada atributo, especifica-se  Nome  Tipo do atributo  CDATA  ID (identificador) ou IDREF (referência para ID) ou IDREFS (múltiplos IDREFs)  Restrições adicionais  obrigatório (#REQUIRED)  Com valor por defeito (valor),  Nenhum dos dois (#IMPLIED) Exemplos   <!ATTLIST cliente id-clienteID #REQUIRED contasIDREFS #REQUIRED >

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts IDs e IDREFs Um elemento tem no máximo um atributo do tipo ID O valor dum atributo de tipo ID tem que ser único em todo o documento XML  O atributo com tipo ID é um identificador do objecto (elemento) Um atributo do tipo IDREF tem que conter um valor que exista num atributo de tipo ID, no mesmo documento XML Um atributo do tipo IDREFS contém um conjunto de (0 ou mais) valores, onde cada um desses valores tem que existir como ID de algum elemento do mesmo documento

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Exemplo de DTD com atributos <!DOCTYPE banco-2[ <!ATTLIST conta num-contaID #REQUIRED clientesIDREFS #REQUIRED> <!ELEMENT cliente (nome-cliente, rua-cliente, local-cliente)> <!ATTLIST cliente id-cliente ID #REQUIRED contasIDREFS #REQUIRED> … … ]>

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Documento XML com atributos ID e IDREF Caparica 500 Luís R. República Lx Maria R. 5 de Outubro Porto Exemplo1Exemplo2

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Limitações de DTDs Não é possível especificar tipos de elementos e atributos  Todos os tipos são strings. Não há inteiros, reais, etc. É difícil especificar conjuntos (não ordenados) de sub-elementos  Em bases de dados a ordem é (normalmente) irrelevante  (A | B)* permite especificar um conjunto não ordenado, mas não permite garantir que cada um de A e B ocorre pelo menos uma vez Os IDs e IDREFs são não tipados  O atributos cliente de uma conta pode ter referências a outras contas (o que não faz sentido!)  clientes deveria apenas conter referências para identificadores de clientes

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts XML Schema XML Schema é uma outra linguagem (mais recente e sofisticada) que endereça os problemas dos DTDs. Tem mecanismos para  Tipos de valores  E.g. inteiros, string, etc  Valores min/max  Tipos definidos pelo utilizador  Ao contrário do que acontece com DTDs, a sintaxe do XML Schema é a sintaxe do XML  Representação mais standard, mas verboso  Integrado com namespaces  Outras features  Listas, restrições de chave primária e estrangeira, herança, etc...

©Silberschatz, Korth and Sudarshan (modificado) Database System Concepts Versão XML Schema do exemplo anterior ….. Definições para cliente e depositante….