SlideShare uma empresa Scribd logo
1 de 70
Baixar para ler offline
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
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.
   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.
   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.
   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.
Cabeçalho do esquema
Especificação do elemento empresa (raiz)
   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>
   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.
   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
   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

Mais procurados

Centralised and distributed databases
Centralised and distributed databasesCentralised and distributed databases
Centralised and distributed databasesForrester High School
 
A la découverte du Web sémantique
A la découverte du Web sémantiqueA la découverte du Web sémantique
A la découverte du Web sémantiqueGautier Poupeau
 
MongoDB Schema Design
MongoDB Schema DesignMongoDB Schema Design
MongoDB Schema DesignMongoDB
 
Putting Historical Data in Context: how to use DSpace-GLAM
Putting Historical Data in Context: how to use DSpace-GLAMPutting Historical Data in Context: how to use DSpace-GLAM
Putting Historical Data in Context: how to use DSpace-GLAM4Science
 
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Amazon Web Services
 
NoSQL databases and managing big data
NoSQL databases and managing big dataNoSQL databases and managing big data
NoSQL databases and managing big dataSteven Francia
 
Row or Columnar Database
Row or Columnar DatabaseRow or Columnar Database
Row or Columnar DatabaseBiju Nair
 
Security and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache AtlasSecurity and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache AtlasDataWorks Summit/Hadoop Summit
 
Banco de dados temporal
Banco de dados temporalBanco de dados temporal
Banco de dados temporalHanter Duarte
 
Master Data Services - 2016 - Huntington Beach
Master Data Services - 2016 - Huntington BeachMaster Data Services - 2016 - Huntington Beach
Master Data Services - 2016 - Huntington BeachJeff Prom
 
Apache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for HadoopApache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for HadoopCloudera, Inc.
 
Dublin Core, the DCMI Abstract Model & DC Application Profiles
Dublin Core, the DCMI Abstract Model & DC Application ProfilesDublin Core, the DCMI Abstract Model & DC Application Profiles
Dublin Core, the DCMI Abstract Model & DC Application ProfilesEduserv Foundation
 
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 MillionHow One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 MillionDataWorks Summit
 
Data base management system
Data base management systemData base management system
Data base management systemNavneet Jingar
 

Mais procurados (20)

Bases de datos
Bases de datosBases de datos
Bases de datos
 
Centralised and distributed databases
Centralised and distributed databasesCentralised and distributed databases
Centralised and distributed databases
 
A la découverte du Web sémantique
A la découverte du Web sémantiqueA la découverte du Web sémantique
A la découverte du Web sémantique
 
MongoDB Schema Design
MongoDB Schema DesignMongoDB Schema Design
MongoDB Schema Design
 
Putting Historical Data in Context: how to use DSpace-GLAM
Putting Historical Data in Context: how to use DSpace-GLAMPutting Historical Data in Context: how to use DSpace-GLAM
Putting Historical Data in Context: how to use DSpace-GLAM
 
Base de datos
Base de datosBase de datos
Base de datos
 
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
Best Practices for Building a Data Lake with Amazon S3 - August 2016 Monthly ...
 
NoSQL databases and managing big data
NoSQL databases and managing big dataNoSQL databases and managing big data
NoSQL databases and managing big data
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
Row or Columnar Database
Row or Columnar DatabaseRow or Columnar Database
Row or Columnar Database
 
Security and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache AtlasSecurity and Data Governance using Apache Ranger and Apache Atlas
Security and Data Governance using Apache Ranger and Apache Atlas
 
Banco de dados temporal
Banco de dados temporalBanco de dados temporal
Banco de dados temporal
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Snowflake Datawarehouse Architecturing
Snowflake Datawarehouse ArchitecturingSnowflake Datawarehouse Architecturing
Snowflake Datawarehouse Architecturing
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Master Data Services - 2016 - Huntington Beach
Master Data Services - 2016 - Huntington BeachMaster Data Services - 2016 - Huntington Beach
Master Data Services - 2016 - Huntington Beach
 
Apache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for HadoopApache Sqoop: A Data Transfer Tool for Hadoop
Apache Sqoop: A Data Transfer Tool for Hadoop
 
Dublin Core, the DCMI Abstract Model & DC Application Profiles
Dublin Core, the DCMI Abstract Model & DC Application ProfilesDublin Core, the DCMI Abstract Model & DC Application Profiles
Dublin Core, the DCMI Abstract Model & DC Application Profiles
 
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 MillionHow One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
How One Company Offloaded Data Warehouse ETL To Hadoop and Saved $30 Million
 
Data base management system
Data base management systemData base management system
Data base management system
 

Destaque

Apostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTApostila XML, DTD, XSD e XSLT
Apostila XML, DTD, XSD e XSLTRicardo Terra
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Ferramentas para Construção de IDE
Ferramentas para Construção de IDEFerramentas para Construção de IDE
Ferramentas para Construção de IDEGPrimola
 
Uma DSL para declarar a Ordem de Execução de Aspectos
Uma DSL para declarar a Ordem de Execução de AspectosUma DSL para declarar a Ordem de Execução de Aspectos
Uma DSL para declarar a Ordem de Execução de AspectosGPrimola
 
Improvement of no sql technology for relational databases v2
Improvement of no sql technology for relational databases v2Improvement of no sql technology for relational databases v2
Improvement of no sql technology for relational databases v2Tsendsuren Munkhdalai
 
Sistemas de informação moveis eCommerce eBusiness eGovernment
Sistemas de informação moveis eCommerce eBusiness eGovernmentSistemas de informação moveis eCommerce eBusiness eGovernment
Sistemas de informação moveis eCommerce eBusiness eGovernmentGPrimola
 
Minicurso Programação Android
Minicurso Programação AndroidMinicurso Programação Android
Minicurso Programação AndroidGPrimola
 
Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosAricelio Souza
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 
XML - Data Modeling
XML - Data ModelingXML - Data Modeling
XML - Data ModelingJoel Briza
 
Curso de desenvolvimento de aplicações para iOS com Objective-C
Curso de desenvolvimento de aplicações para iOS com Objective-CCurso de desenvolvimento de aplicações para iOS com Objective-C
Curso de desenvolvimento de aplicações para iOS com Objective-CMaurício Linhares
 
Regulamento jornada PRINCE2
Regulamento jornada PRINCE2Regulamento jornada PRINCE2
Regulamento jornada PRINCE2Fernando Palma
 
7. Key-Value Databases: In Depth
7. Key-Value Databases: In Depth7. Key-Value Databases: In Depth
7. Key-Value Databases: In DepthFabio Fumarola
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
Introdução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USPIntrodução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USPUniversidade de São Paulo
 

Destaque (20)

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

Semelhante a XML e bancos de dados: estruturação e acesso a dados

Semelhante a XML e bancos de dados: estruturação e acesso a dados (20)

A e xtensible markup language (xml)
A e xtensible markup language (xml)A e xtensible markup language (xml)
A e xtensible markup language (xml)
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemantica
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
 
Conceitos de xml
Conceitos de xmlConceitos de xml
Conceitos de xml
 
Tp 4 xml
Tp 4   xmlTp 4   xml
Tp 4 xml
 
Aula Xml Schema - XSD
Aula Xml Schema - XSDAula Xml Schema - XSD
Aula Xml Schema - XSD
 
Pro php and xml web services xml canonical
Pro php and xml web services   xml canonicalPro php and xml web services   xml canonical
Pro php and xml web services xml canonical
 
Parte5 xml
Parte5 xmlParte5 xml
Parte5 xml
 
JustJava 2004: JAXB
JustJava 2004: JAXBJustJava 2004: JAXB
JustJava 2004: JAXB
 
XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3Aplicando Transformação em XML usando XSLT e XSL-FO - 3
Aplicando Transformação em XML usando XSLT e XSL-FO - 3
 
XML
XMLXML
XML
 
Curso de xml
Curso de xmlCurso de xml
Curso de xml
 
XML_WS.pdf
XML_WS.pdfXML_WS.pdf
XML_WS.pdf
 
Java e XML
Java e XMLJava e XML
Java e XML
 
Introdução HTML_CSS.pptx
Introdução  HTML_CSS.pptxIntrodução  HTML_CSS.pptx
Introdução HTML_CSS.pptx
 
Curso de XHTML
Curso de XHTMLCurso de XHTML
Curso de XHTML
 
Xml
XmlXml
Xml
 
XSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPathXSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPath
 

XML e bancos de dados: estruturação e acesso a dados

  • 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
  • 5.
  • 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.
  • 8.
  • 9.
  • 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.
  • 15.
  • 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.
  • 22.
  • 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.
  • 33.
  • 35. Especificação do elemento empresa (raiz)
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 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>
  • 52.
  • 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.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 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
  • 68.
  • 69.
  • 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/