XML e Banco de Dados XML Nativo

11.192 visualizações

Publicada em

Apresentação sobre banco de dados XML nativo
Presentation about XML native Databases

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
11.192
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
298
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

XML e Banco de Dados XML Nativo

  1. 1. Giorgio Prímola F. G. Torres – 59377 Vitor Madureira Sales – 51091 Wagner J. da S. Freitas – 56571
  2. 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. 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. 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. 5. 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.
  6. 6. 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.
  7. 7.  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.
  8. 8. 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.
  9. 9. Dados não Estruturados
  10. 10. Dados não Estruturados
  11. 11. 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.
  12. 12.  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.
  13. 13.  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.
  14. 14.  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.
  15. 15.  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>
  16. 16. 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.
  17. 17.  Documentos XML híbridos:Possuem muitos itens de dados, assim comogrande quantidades de texto, e também nãosão estruturados.
  18. 18.  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.
  19. 19.  Deve estar sintaticamente correto.Isso permite que qualquer processador dedocumentos XML possa lê-lo corretamente. Não há restrição quanto aos nomes das tags.
  20. 20.  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>
  21. 21.  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.
  22. 22.  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.
  23. 23.  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)>]>
  24. 24.  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.
  25. 25.  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.
  26. 26.  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.
  27. 27.  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.
  28. 28. Cabeçalho do esquema
  29. 29. Especificação do elemento empresa (raiz)
  30. 30.  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.
  31. 31.  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>
  32. 32.  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.
  33. 33.  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>
  34. 34.  Exemplo de elemento simples: <xsd:element name=―nomeDepartamento‖ type=―xsd:string‖ /> ◦ Um elemento simples é, normalmente, caracterizado como um elemento vazio, representado apenas pelos atributos.
  35. 35.  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>
  36. 36.  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.
  37. 37.  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‖ />
  38. 38.  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.
  39. 39.  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>
  40. 40.  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.
  41. 41.  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
  42. 42.  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/

×