SlideShare uma empresa Scribd logo
Giorgio Prímola F. G. Torres – 59377
      Vitor Madureira Sales – 51091
     Wagner J. da S. Freitas – 56571
   De que modo os bancos de dados são usados
    e acessados a partir da Internet?

   O HTML é muito utilizado para formatar e
    estruturar documentos Web.

    Ele não é adequado para especificar dados
    estruturados que são extraídos de bancos de
    dados.
   O XML (Linguagem Estendida de Marcação) —
    surgiu como o padrão para estruturar e trocar
    dados pela Web.

   O XML pode ser usado para fornecer
    informação sobre a estrutura e o significado
    dos dados nas páginas web.
Veremos a seguir:
  Diferenças  entre dados estruturados,     semi-
   estruturados e não estruturados.
   Modelo de Dados Hierárquicos (Árvore).
   Documentos XML, DTD (Definição de Tipo de
    Documento) e esquema XML.
   Como vários tipos de documentos XML podem
    ser armazenados e recuperados.
   Consultas XML
XML e Banco de Dados XML Nativo
Dados Estruturados
 A informação armazenada em bancos de
  dados é conhecida como dados estruturados
  porque é representada em um formato rígido
  (segue o mesmo formato dos outros registros
  daquela tabela).

   O SGBD assegura que os dados sigam as
    estruturas e restrições especificadas no
    esquema.
Dados Semi-Estruturados
   Esses dados podem possuir uma estrutura,
    mas nem toda a informação coletada terá
    estrutura idêntica.
   Atributos adicionais podem ser introduzidos
    em alguns dos itens de dados mais novos a
    qualquer momento, e não há nenhum
    esquema predefinido.
   São baseados no uso de estruturas de dados
    de árvore ou de grafos em lugar das
    estruturas planas do modelo relacional.
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
   Os nodos internos representam         objetos
    individuais ou atributos compostos.
   Os nodos folhas representam valores de
    dados de fato de atributos simples
    (atômicos).
   Nomes de atributos, relacionamentos e
    classes (tipos de objetos) no modelo semi-
    estruturado é misturada com os objetos e
    seus valores de dados na mesma estrutura de
    dados.
Dados não Estruturados

   Existe uma indicação muito limitada do tipo dos
    dados.
   Os tags especificam a formatação do documento
    em vez do significado dos vários elementos de
    dados do documento.
   Os tags HTML especificam informações, como
    tamanho de fonte e estilo (negrito, itálico etc),
    cor, níveis de cabeçalhos em documentos, e
    assim por diante.
Dados não Estruturados
Dados não Estruturados
Dados não Estruturados

   documento de texto HTML é muito difícil de
    ser interpretado porque eles não incluem
    informação de esquema sobre o tipo de
    dados nos documentos.
XML e Banco de Dados XML Nativo
   Baseado em dois conceitos de estruturação:
    elementos e atributos de elementos.

   Atributos de elemento fornecem informações
    adicionais aos elementos.

   Elementos são definidos por tag de início e
    tag de fim.
   Tag de início: <exemplo>

   Tag de fim: </exemplo>

   Elementos são classificados em duas categorias:
    simples e complexos.

   Elementos simples são representados pelas
    folhas da árvore; Elementos complexos são os
    nós e a raiz.
   Elementos simples são caracterizados por
    conter valores de dados.

   Ex.: <nome>Brasil</nome>

   Diferença entre XML e HTML: a tag <nome> é
    um nome de um valor de dado, ela não indica
    como o valor Brasil será exibido no
    documento.
   Elementos complexos são representações
    hierárquicas de outros elementos.
   Ex.:
       <paises>
             ...
             <pais>
                   <nome>Brasil</nome>
       <populacao>190.732.694</populacao>
                   <area>8.514.876,599</area>
                   ...
             </pais>
             ...
       </paises>
Caracterização quanto ao conteúdo
   Documentos XML centrados em dados:
    possuem muitos itens de dados e são,
    normalmente, estruturados, com o propósito
    de troca e exibição pela internet.
   Documentos XML centrados em documento:
    possuem muito texto, podendo representar
    artigos de jornais ou revista; não seguem
    uma estruturação padrão.
   Documentos XML híbridos:

Possuem muitos itens de dados, assim como
grande quantidades de texto, e também não
são estruturados.
XML e Banco de Dados XML Nativo
   Para um documento XML ser bem formado,
    ele deve respeitar algumas condições:

   Começar com uma declaração XML:

    <?xml version=―1.0‖ encoding="utf-8" standalone=―yes‖?>


   Deve seguir a estrutura de árvore, contendo
    apenas uma raiz.
 Deve estar sintaticamente correto.
Isso permite que qualquer processador de
documentos XML possa lê-lo corretamente.

   Não há restrição quanto aos nomes das tags.
   Exemplo:
      <?xml version=―1.0‖ encoding="utf-8" standalone=―yes‖?>
      <projetos>
              <projeto>
                      <nome>ProjetoX</nome>
                      <numero>190.732.694</numero>
                      <localizacao>depArquitetura</localizacao>
                      ...
              </projeto>
      </projetos>
   SAX – Simple API for XML:
    API independente de linguagem, que provê
    acesso serial a um documento XML.

   DOM – Document Object Model:
    API independente de linguagem, que provê
    acesso e manipulação à representação da
    estrutura indicada por um documento XML,
    na memória.
   Para um documento XML ser válido, além de
    ser bem formado, os nomes das tags devem
    seguir uma estrutura especificada em um
    arquivo.

   XML DTD.

   Schema XML.
   Exemplo DTD:

<!DOCTYPE projetos [
       <!ELEMENT paises (projeto+)>
       <!ELEMENT projeto (Nome, Numero, Localizacao, NumDepto?, Trabalhadores)>
       <!ELEMENT Nome (#PCDATA)>
       <!ELEMENT Numero (#PCDATA)>
       <!ELEMENT Localizacao (#PCDATA)>
       <!ELEMENT NumDepto (#PCDATA)>
       <!ELEMENT Trabalhadores (Trabalhador*)>
       <!ELEMENT Trabalhador (SSN, UltimoNome?, PrimeiroNome?, horas)>
       <!ELEMENT SSN (#PCDATA)>
       <!ELEMENT UltimoNome (#PCDATA)>
       <!ELEMENT PrimeiroNome (#PCDATA)>
       <!ELEMENT horas (#PCDATA)>
]>
   Um documento XML que segue uma DTD
    deve especificá-la em seu cabeçalho:

       <?xml version=―1.0‖ encoding="utf-8" standalone=―no‖?>
       <!DOCTYPE projetos SYSTEM ―projets.dtd‖>


   Ou incluir a DTD no início do próprio
    documento XML.
   Limitações da DTD:
   Os tipos de dados em DTD não são muito
    genéricos;
   Documento DTD possui sua própria sintaxe,
    sendo necessário um processador de texto
    especializado;
   Ordem a ser seguida no documento XML é a
    ordem que está especificada no DTD.
   Schema    XML especifica a estrutura de
    documentos XML usando as mesmas regras
    de sintaxe de XML.

   Também é baseado no modelo de dados de
    árvore, tendo como elementos principais
    atributos e elementos, mas também utiliza
    conceitos adicionais a estes, herdados de
    banco de dados, como chaves, referências e
    identificadores.
   Como o documento de esquema XML é um
    documento XML, ele deve começar com um
    cabeçalho inicial comum de XML.
   O segundo item num documento de esquema
    XML, diz respeito a um conjunto específico de
    elementos (tags) utilizado naquele documento.
    Esse conjunto é definido através de um arquivo
    hospedado em um site.

   É chamado de namespace de XML.
XML e Banco de Dados XML Nativo
Cabeçalho do esquema
Especificação do elemento empresa (raiz)
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
   Ex.:
       <xsd:schema xmlns:xsd=―http://www.w3.org/2001/XMLSchema‖>


   O site entre aspas contém o arquivo que será usado
    como namespace.

   xsd (XML Shema Descriptor)é a variável que guarda o
    arquivo que contém o namespace para o documento.

   xmlns especifica que a variável xsd é uma variável de
    namespace, isto é, ela será usada como prefixo para
    todos os elementos (nomes de tags) de esquema.
   Após a definição do namespace pode-se
    adicionar um elemento que conterá apenas
    informações sobre aquele esquema.
   Ex.:
       <xsd:annotation>
              <xsd:documentation xml:lang=―en‖>Enterprise Schema
              </xsd:documentation>
       </xsd:annotation>
   No exemplo, as tags xsd:annotation e
    xsd:documentation do esquema xsd, servem
    para descrever comentários e descrições
    gerais sobre o documento. Além disso, o
    atributo xml:lang especifica o idioma usado
    para compor aquele documento.
   Cada elemento, simples ou composto, pode
    ser especificado por uma tag. Normalmente
    não é especificado o tipo do elemento raiz,
    pois seu tipo é o que está descrito no
    documento.
   Exemplo de elemento raiz.:
       <xsd:element name=―enterprise‖>
              <xsd:complexType>
                     <xsd:sequence>
                            ...
                     <xsd:sequence>
              </xsd:complexType>
       </xsd:element>
   Exemplo de elemento simples:
       <xsd:element name=―nomeDepartamento‖ type=―xsd:string‖ />



    ◦ Um elemento simples é, normalmente,
      caracterizado como um elemento vazio,
      representado apenas pelos atributos.
   Exemplo elemento composto 1:

      <xsd:element name=―departamento‖>
             <xsd:complexType name>
                   <xsd:sequence>
                         ―lista de elementos simples ou
                                 compostos‖
                   </xsd:sequence>
             </xsd:complexType>
      </xsd:element>
   Exemplo elemento composto 2:
      <xsd:element name=―departamento‖ type=―Departamento‖/>
      ...
      <xsd:complexType name=―Departamento‖>
             <xsd:sequence>
                     ―lista de elementos simples ou compostos‖
             </xsd:sequence>
      </xsd:complexType>


   A diferença entre os dois elementos
    compostos é que o segundo elemento é de
    um tipo complexo.
   Ocorrência mínima e máxima de um
    elemento pode ser especificada utilizando os
    atributos minOccurs e maxOccurs dentro da
    tag de um elemento.
   Exemplo:

       <xsd:element name=―departamento‖ type=―Departamento‖
                      minOccurs=―0‖ maxOccurs=―unbounded‖ />
   Especificação de elemento único, correspondente
    a atributo único em um banco de dados
    relacional, mas que não é atributo chave:

       <xsd:unique name=―nomeDependenteUnico‖>
              <xsd:selector xpath=―dependenteTrabalhador‖/>
              <xsd:field xpath=―nomeDependente‖/>
       </xsd:unique>

   xsd:selector xpath indica qual atributo do tipo de
    dado Trabalhador será único; e xsd:field xpath
    indica o campo do atributo, caso esse atributo
    seja um elemento complexo.
   Para especificar chaves primárias usa-se a tag
    xsd:key no lugar da tag xsd:unique.

   Chaves estrangeiras:

       <xsd:keyref name=―refChaveuSSNGerenteDepartamento‖
                                 refer=―chaveuSSNTrabalhador‖>
               <xsd:selector xpath=―departamento‖/>
               <xsd:field xpath=―uSSNGerenteDepartamento‖/>
       </xsd:keyref>
XML e Banco de Dados XML Nativo
   Uso de um SGBD para armazenar os documentos como
    texto.

   Uso de um SGBD para armazenar o conteúdo do documento
    como elemento Xml.

   Uso de um sistema especializado para o armazenamento de
    dados XML nativos.

   Criação ou publicação de documentos XML customizados a
    partir de bancos de dados relacionais preexistentes.
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
   Xquery é conhecida pela expressão FLWR que
    representa as quatro principais clásulas do
    Xml
   FOR/LET associam valores às variáveis
   WHERE filtra o resultado vindo das cláusulas
    FOR/LET
   RETURN gera a saída da consulta
XML e Banco de Dados XML Nativo
XML e Banco de Dados XML Nativo
   Elmasri, Ramez
        Sistemas de Banco de Dados / Ramez Elmasri e Shamkant B.
    Navathe – Pearson Addison Weasley, 2005.

   World Wide Web Consortium
        http://www.w3c.org/

   Wikipedia
         http://pt.wikipedia.org/wiki/XML/

Mais conteúdo relacionado

PPTX
Sql server ___________session_17(indexes)
PDF
Oracle GoldenGate導入Tips
PPTX
Structured query language(sql)ppt
PPT
01 oracle architecture
PDF
Banco de dados - Aula 1 SQL
PDF
Aula2 - SQL
PPTX
PostgreSQL- An Introduction
PDF
監査ログをもっと身近に!〜統合監査のすすめ〜
Sql server ___________session_17(indexes)
Oracle GoldenGate導入Tips
Structured query language(sql)ppt
01 oracle architecture
Banco de dados - Aula 1 SQL
Aula2 - SQL
PostgreSQL- An Introduction
監査ログをもっと身近に!〜統合監査のすすめ〜

Mais procurados (20)

PDF
Oracle GoldenGate FAQ
PPSX
Linguagem SQL
PPTX
Oracle architecture with details-yogiji creations
PPTX
Oracle backup and recovery basics
PDF
Tutorial - Criando Banco com MySQL Workbench
PDF
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
PPTX
Basics of MongoDB
PDF
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
PPT
Oracle Sql Tuning
PPTX
Let's Play Flink – Fun with Streaming in a Gaming Company
PDF
Oracle 21c: New Features and Enhancements of Data Pump & TTS
PPTX
HTML - Aula 01 - Estrutura básica e tags básicas no html
PDF
Oracle database performance tuning
PPTX
03 spark rdd operations
PPTX
Qlik Replicate - Control Tableの詳細
PPTX
¿que es mongodb?
PDF
Modelo conceitual fisico_logico_er[1]
PPTX
An Introduction To NoSQL & MongoDB
DOCX
Oracle architecture
PDF
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Oracle GoldenGate FAQ
Linguagem SQL
Oracle architecture with details-yogiji creations
Oracle backup and recovery basics
Tutorial - Criando Banco com MySQL Workbench
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Basics of MongoDB
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
Oracle Sql Tuning
Let's Play Flink – Fun with Streaming in a Gaming Company
Oracle 21c: New Features and Enhancements of Data Pump & TTS
HTML - Aula 01 - Estrutura básica e tags básicas no html
Oracle database performance tuning
03 spark rdd operations
Qlik Replicate - Control Tableの詳細
¿que es mongodb?
Modelo conceitual fisico_logico_er[1]
An Introduction To NoSQL & MongoDB
Oracle architecture
Oracle GoldenGate for Big Data 12.2 セットアップガイド
Anúncio

Destaque (20)

PDF
Aula Introdução a Linguagem XML
PDF
Apostila XML, DTD, XSD e XSLT
PPTX
Modelos de banco de dados
PDF
Ferramentas para Construção de IDE
PPT
Web Service - XML
PDF
Uma DSL para declarar a Ordem de Execução de Aspectos
PPTX
Improvement of no sql technology for relational databases v2
PPTX
eXtensible Markup Language (XML)
PDF
Sistemas de informação moveis eCommerce eBusiness eGovernment
PDF
Minicurso Programação Android
PPT
Banco de Dados XML
PDF
Sistemas NoSQL, surgimento, características e exemplos
PPT
Conceitos e arquitetura do sistema de banco de dados
PPTX
XML - Data Modeling
PDF
Curso de desenvolvimento de aplicações para iOS com Objective-C
PDF
Regulamento jornada PRINCE2
PPT
7. Key-Value Databases: In Depth
PPTX
No sql Orientado a documento
PDF
Banco de Dados - Conceitos Básicos
PDF
Introdução à XML - Serviço de Biblioteca da EEFE-USP
Aula Introdução a Linguagem XML
Apostila XML, DTD, XSD e XSLT
Modelos de banco de dados
Ferramentas para Construção de IDE
Web Service - XML
Uma DSL para declarar a Ordem de Execução de Aspectos
Improvement of no sql technology for relational databases v2
eXtensible Markup Language (XML)
Sistemas de informação moveis eCommerce eBusiness eGovernment
Minicurso Programação Android
Banco de Dados XML
Sistemas NoSQL, surgimento, características e exemplos
Conceitos e arquitetura do sistema de banco de dados
XML - Data Modeling
Curso de desenvolvimento de aplicações para iOS com Objective-C
Regulamento jornada PRINCE2
7. Key-Value Databases: In Depth
No sql Orientado a documento
Banco de Dados - Conceitos Básicos
Introdução à XML - Serviço de Biblioteca da EEFE-USP
Anúncio

Semelhante a XML e Banco de Dados XML Nativo (20)

PPT
Arquitetura: XML + RDF ate WebSemantica
PDF
XML_WS.pdf
PDF
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
PDF
XML Schema (2002)
PDF
Oracle XML DB - Conceitos iniciais
PPT
PDF
PDF
XML: Uma Introdução Prática (2001)
PDF
Tecnologias XML e XML no SQL Server 2016
PDF
01- Introdução ao XML
DOCX
Tp 4 xml
PPT
XML - Parte 1
PPT
PPT
Conceitos de xml
PPTX
Parte5 xml
PDF
Aula Xml Schema - XSD
PDF
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
PPTX
XML - Introdução
PDF
Apostila xml
PDF
Oracle XML DB
Arquitetura: XML + RDF ate WebSemantica
XML_WS.pdf
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
XML Schema (2002)
Oracle XML DB - Conceitos iniciais
XML: Uma Introdução Prática (2001)
Tecnologias XML e XML no SQL Server 2016
01- Introdução ao XML
Tp 4 xml
XML - Parte 1
Conceitos de xml
Parte5 xml
Aula Xml Schema - XSD
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
XML - Introdução
Apostila xml
Oracle XML DB

Último (11)

PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Design - Introdução a Gestalt e teoria das formas
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Utilizando code blockes por andre backes
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Tipos de servidor em redes de computador.pptx
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Manejo integrado de pragas na cultura do algodão
Design - Introdução a Gestalt e teoria das formas
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Viasol Energia Solar -Soluções para geração e economia de energia
Arquitetura de computadores - Memórias Secundárias
Utilizando code blockes por andre backes
Eng. Software - pontos essenciais para o início
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Tipos de servidor em redes de computador.pptx

XML e Banco de Dados XML Nativo

  • 1. Giorgio Prímola F. G. Torres – 59377 Vitor Madureira Sales – 51091 Wagner J. da S. Freitas – 56571
  • 2. De que modo os bancos de dados são usados e acessados a partir da Internet?  O HTML é muito utilizado para formatar e estruturar documentos Web.  Ele não é adequado para especificar dados estruturados que são extraídos de bancos de dados.
  • 3. O XML (Linguagem Estendida de Marcação) — surgiu como o padrão para estruturar e trocar dados pela Web.  O XML pode ser usado para fornecer informação sobre a estrutura e o significado dos dados nas páginas web.
  • 4. Veremos a seguir:  Diferenças entre dados estruturados, semi- estruturados e não estruturados.  Modelo de Dados Hierárquicos (Árvore).  Documentos XML, DTD (Definição de Tipo de Documento) e esquema XML.  Como vários tipos de documentos XML podem ser armazenados e recuperados.  Consultas XML
  • 6. Dados Estruturados  A informação armazenada em bancos de dados é conhecida como dados estruturados porque é representada em um formato rígido (segue o mesmo formato dos outros registros daquela tabela).  O SGBD assegura que os dados sigam as estruturas e restrições especificadas no esquema.
  • 7. Dados Semi-Estruturados  Esses dados podem possuir uma estrutura, mas nem toda a informação coletada terá estrutura idêntica.  Atributos adicionais podem ser introduzidos em alguns dos itens de dados mais novos a qualquer momento, e não há nenhum esquema predefinido.  São baseados no uso de estruturas de dados de árvore ou de grafos em lugar das estruturas planas do modelo relacional.
  • 10. Os nodos internos representam objetos individuais ou atributos compostos.  Os nodos folhas representam valores de dados de fato de atributos simples (atômicos).  Nomes de atributos, relacionamentos e classes (tipos de objetos) no modelo semi- estruturado é misturada com os objetos e seus valores de dados na mesma estrutura de dados.
  • 11. Dados não Estruturados  Existe uma indicação muito limitada do tipo dos dados.  Os tags especificam a formatação do documento em vez do significado dos vários elementos de dados do documento.  Os tags HTML especificam informações, como tamanho de fonte e estilo (negrito, itálico etc), cor, níveis de cabeçalhos em documentos, e assim por diante.
  • 14. Dados não Estruturados  documento de texto HTML é muito difícil de ser interpretado porque eles não incluem informação de esquema sobre o tipo de dados nos documentos.
  • 16. Baseado em dois conceitos de estruturação: elementos e atributos de elementos.  Atributos de elemento fornecem informações adicionais aos elementos.  Elementos são definidos por tag de início e tag de fim.
  • 17. Tag de início: <exemplo>  Tag de fim: </exemplo>  Elementos são classificados em duas categorias: simples e complexos.  Elementos simples são representados pelas folhas da árvore; Elementos complexos são os nós e a raiz.
  • 18. Elementos simples são caracterizados por conter valores de dados.  Ex.: <nome>Brasil</nome>  Diferença entre XML e HTML: a tag <nome> é um nome de um valor de dado, ela não indica como o valor Brasil será exibido no documento.
  • 19. Elementos complexos são representações hierárquicas de outros elementos.  Ex.: <paises> ... <pais> <nome>Brasil</nome> <populacao>190.732.694</populacao> <area>8.514.876,599</area> ... </pais> ... </paises>
  • 20. Caracterização quanto ao conteúdo  Documentos XML centrados em dados: possuem muitos itens de dados e são, normalmente, estruturados, com o propósito de troca e exibição pela internet.  Documentos XML centrados em documento: possuem muito texto, podendo representar artigos de jornais ou revista; não seguem uma estruturação padrão.
  • 21. Documentos XML híbridos: Possuem muitos itens de dados, assim como grande quantidades de texto, e também não são estruturados.
  • 23. Para um documento XML ser bem formado, ele deve respeitar algumas condições:  Começar com uma declaração XML: <?xml version=―1.0‖ encoding="utf-8" standalone=―yes‖?>  Deve seguir a estrutura de árvore, contendo apenas uma raiz.
  • 24.  Deve estar sintaticamente correto. Isso permite que qualquer processador de documentos XML possa lê-lo corretamente.  Não há restrição quanto aos nomes das tags.
  • 25. Exemplo: <?xml version=―1.0‖ encoding="utf-8" standalone=―yes‖?> <projetos> <projeto> <nome>ProjetoX</nome> <numero>190.732.694</numero> <localizacao>depArquitetura</localizacao> ... </projeto> </projetos>
  • 26. SAX – Simple API for XML: API independente de linguagem, que provê acesso serial a um documento XML.  DOM – Document Object Model: API independente de linguagem, que provê acesso e manipulação à representação da estrutura indicada por um documento XML, na memória.
  • 27. Para um documento XML ser válido, além de ser bem formado, os nomes das tags devem seguir uma estrutura especificada em um arquivo.  XML DTD.  Schema XML.
  • 28. Exemplo DTD: <!DOCTYPE projetos [ <!ELEMENT paises (projeto+)> <!ELEMENT projeto (Nome, Numero, Localizacao, NumDepto?, Trabalhadores)> <!ELEMENT Nome (#PCDATA)> <!ELEMENT Numero (#PCDATA)> <!ELEMENT Localizacao (#PCDATA)> <!ELEMENT NumDepto (#PCDATA)> <!ELEMENT Trabalhadores (Trabalhador*)> <!ELEMENT Trabalhador (SSN, UltimoNome?, PrimeiroNome?, horas)> <!ELEMENT SSN (#PCDATA)> <!ELEMENT UltimoNome (#PCDATA)> <!ELEMENT PrimeiroNome (#PCDATA)> <!ELEMENT horas (#PCDATA)> ]>
  • 29. Um documento XML que segue uma DTD deve especificá-la em seu cabeçalho: <?xml version=―1.0‖ encoding="utf-8" standalone=―no‖?> <!DOCTYPE projetos SYSTEM ―projets.dtd‖>  Ou incluir a DTD no início do próprio documento XML.
  • 30. Limitações da DTD:  Os tipos de dados em DTD não são muito genéricos;  Documento DTD possui sua própria sintaxe, sendo necessário um processador de texto especializado;  Ordem a ser seguida no documento XML é a ordem que está especificada no DTD.
  • 31. Schema XML especifica a estrutura de documentos XML usando as mesmas regras de sintaxe de XML.  Também é baseado no modelo de dados de árvore, tendo como elementos principais atributos e elementos, mas também utiliza conceitos adicionais a estes, herdados de banco de dados, como chaves, referências e identificadores.
  • 32. Como o documento de esquema XML é um documento XML, ele deve começar com um cabeçalho inicial comum de XML.  O segundo item num documento de esquema XML, diz respeito a um conjunto específico de elementos (tags) utilizado naquele documento. Esse conjunto é definido através de um arquivo hospedado em um site.  É chamado de namespace de XML.
  • 35. Especificação do elemento empresa (raiz)
  • 42. Ex.: <xsd:schema xmlns:xsd=―http://www.w3.org/2001/XMLSchema‖>  O site entre aspas contém o arquivo que será usado como namespace.  xsd (XML Shema Descriptor)é a variável que guarda o arquivo que contém o namespace para o documento.  xmlns especifica que a variável xsd é uma variável de namespace, isto é, ela será usada como prefixo para todos os elementos (nomes de tags) de esquema.
  • 43. Após a definição do namespace pode-se adicionar um elemento que conterá apenas informações sobre aquele esquema.  Ex.: <xsd:annotation> <xsd:documentation xml:lang=―en‖>Enterprise Schema </xsd:documentation> </xsd:annotation>
  • 44. No exemplo, as tags xsd:annotation e xsd:documentation do esquema xsd, servem para descrever comentários e descrições gerais sobre o documento. Além disso, o atributo xml:lang especifica o idioma usado para compor aquele documento.
  • 45. Cada elemento, simples ou composto, pode ser especificado por uma tag. Normalmente não é especificado o tipo do elemento raiz, pois seu tipo é o que está descrito no documento.  Exemplo de elemento raiz.: <xsd:element name=―enterprise‖> <xsd:complexType> <xsd:sequence> ... <xsd:sequence> </xsd:complexType> </xsd:element>
  • 46. Exemplo de elemento simples: <xsd:element name=―nomeDepartamento‖ type=―xsd:string‖ /> ◦ Um elemento simples é, normalmente, caracterizado como um elemento vazio, representado apenas pelos atributos.
  • 47. Exemplo elemento composto 1:  <xsd:element name=―departamento‖> <xsd:complexType name> <xsd:sequence> ―lista de elementos simples ou compostos‖ </xsd:sequence> </xsd:complexType> </xsd:element>
  • 48. Exemplo elemento composto 2: <xsd:element name=―departamento‖ type=―Departamento‖/> ... <xsd:complexType name=―Departamento‖> <xsd:sequence> ―lista de elementos simples ou compostos‖ </xsd:sequence> </xsd:complexType>  A diferença entre os dois elementos compostos é que o segundo elemento é de um tipo complexo.
  • 49. Ocorrência mínima e máxima de um elemento pode ser especificada utilizando os atributos minOccurs e maxOccurs dentro da tag de um elemento.  Exemplo:  <xsd:element name=―departamento‖ type=―Departamento‖ minOccurs=―0‖ maxOccurs=―unbounded‖ />
  • 50. Especificação de elemento único, correspondente a atributo único em um banco de dados relacional, mas que não é atributo chave: <xsd:unique name=―nomeDependenteUnico‖> <xsd:selector xpath=―dependenteTrabalhador‖/> <xsd:field xpath=―nomeDependente‖/> </xsd:unique>  xsd:selector xpath indica qual atributo do tipo de dado Trabalhador será único; e xsd:field xpath indica o campo do atributo, caso esse atributo seja um elemento complexo.
  • 51. Para especificar chaves primárias usa-se a tag xsd:key no lugar da tag xsd:unique.  Chaves estrangeiras:  <xsd:keyref name=―refChaveuSSNGerenteDepartamento‖ refer=―chaveuSSNTrabalhador‖> <xsd:selector xpath=―departamento‖/> <xsd:field xpath=―uSSNGerenteDepartamento‖/> </xsd:keyref>
  • 53. Uso de um SGBD para armazenar os documentos como texto.  Uso de um SGBD para armazenar o conteúdo do documento como elemento Xml.  Uso de um sistema especializado para o armazenamento de dados XML nativos.  Criação ou publicação de documentos XML customizados a partir de bancos de dados relacionais preexistentes.
  • 67. Xquery é conhecida pela expressão FLWR que representa as quatro principais clásulas do Xml  FOR/LET associam valores às variáveis  WHERE filtra o resultado vindo das cláusulas FOR/LET  RETURN gera a saída da consulta
  • 70. Elmasri, Ramez Sistemas de Banco de Dados / Ramez Elmasri e Shamkant B. Navathe – Pearson Addison Weasley, 2005.  World Wide Web Consortium http://www.w3c.org/  Wikipedia http://pt.wikipedia.org/wiki/XML/