Banco de Dados Web & XMLBanco de Dados Web & XMLTrabalho solicitado pelo ProfessorEduardo Teles docente na disciplinaTópic...
O que será abordado:O que será abordado:●Web & Internet●Tipos de Estruturas dos Dados●Banco de Dados & Web●O que é XML?●Al...
Web & Internet:Web & Internet:“A web é um banco de dados gigantesco, não desenvolvidoseguindo os princípios convencionais ...
Tipos de estruturas de dados:Tipos de estruturas de dados:Dados Estruturados : São dados de um arquivo ou deum banco de da...
Tipos de estruturas de dados:Tipos de estruturas de dados:Dados semi-estruturados: são dados heterogêneos eirregulares, au...
Tipos de estruturas de dados:Tipos de estruturas de dados:Dados Não-Estruturados: São dados em que não hánenhuma estrutura...
Bancos de dados & Web:Bancos de dados & Web:Muitas aplicações de Internet fornecem interfaces Webpara acesso a informações...
Bancos de dados & Web:Bancos de dados & Web:O método comum de especificar o conteúdo e deformatar as páginas Web é pelo us...
Bancos de dados & Web:Bancos de dados & Web:O código fonte de documentos HTML é muito difícil de serinterpretado automatic...
Definição de XML:Definição de XML:“A XML é um conjunto de regras para definir tags semânticas quequebrem um documento em p...
O que é XML?O que é XML?eXtensible Markup Language: É um padrão criado pelaW3C.É uma maneira de representar informação, on...
XML bem formados:XML bem formados:Para que um documento XML seja bem formado e possaser manipulado como uma árvore faz-se ...
Estrutura do XML:Estrutura do XML:Dois conceitos principais de estruturação são usados paraconstruir um documento XML: ele...
Exemplos de regras:Exemplos de regras:Todos os elementos têm marcadores de abertura e defechamento:Não pode: <nome>Severin...
XML vs. HTML:XML vs. HTML:www.danielmota.com.br
XML Namespaces:XML Namespaces:Estabelecem um contexto para elementos eatributos:É formalmente declarado através de um iden...
Exemplo de Namespaces:Exemplo de Namespaces:Nos dois casos abaixo, os elementos <tempo> significam coisasdiferentes, mas n...
Tipos principais da XML:Tipos principais da XML:Existem 3 tipos principais de XML:●Data-Centric: XML centrado em dados●Doc...
Tipos principais de XML:Tipos principais de XML:Documentos XML centrados em dados: Essesdocumentos possuem muitos itens de...
Tipos principais da XML:Tipos principais da XML:Documentos XML centrados em documentos: Estessão documentos com grandes qu...
Tipos principais da XML:Tipos principais da XML:Documentos XML híbridos: Esses documentos podempossuir partes que contêm d...
Formas de processamento XML:Formas de processamento XML:Via APIs de programação:●SAX – Simple API for XML: leitura seqüenc...
Formas de processamento XML:Formas de processamento XML:Via linguagens de processamento:●XSLT, XPath, XLink, XPointer e XQ...
XPath:XPath:Linguagem usada para navegar e localizar informações numaárvore XML●Uma expressão XPath é um caminho na árvore...
XPath – Modelo de Dados:XPath – Modelo de Dados:XPath trata um documento XML como uma árvore de nós. Os nósusados pelo XPa...
XPath – Valores e expressões:XPath – Valores e expressões:O valor do nó pode conter um dos quatro* tipos de conteúdo asegu...
XPath – Caminhos (XPath – Caminhos (location pathslocation paths):):Um caminho é uma sequência de passos de navegação naár...
XPath – Caminhos (XPath – Caminhos (location pathslocation paths):):Exemplos:/raiz/elemento/filho/neto : contexto é node-s...
XLink, XPointer:XLink, XPointer:XLink: especificação W3C que define vínculos (de diversostipos) entre documentos XML:●Func...
XQuery:XQuery:XQuery: linguagem para pesquisar documentos XMLatravés de queries com sintaxe inspirada em SQL.FOR $b IN doc...
XQuery:XQuery:<resultado>{ for$fpx in document (“RelaçãoRemessas.xml”)//TuplaRemessa,$fx in documento (“RelaçãoFornecedore...
Por que usar XML paraPor que usar XML paracompartilhar dados?compartilhar dados?●Porque é um padrão aberto:Facilidade para...
SGBDs nativos em XML:SGBDs nativos em XML:Tamino XML Server da empresa Software AG, é um banco dedados com suporte nativo ...
SGBDs nativos em XML:SGBDs nativos em XML:Lore desenvolvido primeiramente na universidade de Stanford éum banco de dados d...
Banco de Dados Web & XMLBanco de Dados Web & XMLObrigado pela atenção.Obrigado pela atenção.Perguntas?Perguntas?Daniel Mot...
Referências Bibliográficas:Referências Bibliográficas:BAPTISTA, Cláudio. XML – eXtensible Markup Language. Disponível em <...
Próximos SlideShares
Carregando em…5
×

Daniel Mota - Banco de dados web e XML

1.735 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.735
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
45
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Daniel Mota - Banco de dados web e XML

  1. 1. Banco de Dados Web & XMLBanco de Dados Web & XMLTrabalho solicitado pelo ProfessorEduardo Teles docente na disciplinaTópicos Avançados em Bancos de Dados.Daniel MotaCatu-BA, Junho/2011 www.danielmota.com.br
  2. 2. O que será abordado:O que será abordado:●Web & Internet●Tipos de Estruturas dos Dados●Banco de Dados & Web●O que é XML?●Algumas regras do XML●Estrutura de um XML●XML versus HTML●XML Namespace●Principais tipos da XML●Formas de processamento da XML●Xpath●Xlink e Xpointer●XQuery●Porque usar XML?●SGBDs nativos em XMLwww.danielmota.com.br
  3. 3. Web & Internet:Web & Internet:“A web é um banco de dados gigantesco, não desenvolvidoseguindo os princípios convencionais de banco de dados ; aInternet é igualmente uma rede gigantesca sobre a qual essebanco de dados é distribuido.“ [Nick Tindall]www.danielmota.com.br
  4. 4. Tipos de estruturas de dados:Tipos de estruturas de dados:Dados Estruturados : São dados de um arquivo ou deum banco de dados relacional, em que sua estrutura éconhecida a priori.Create table empregado(matricula int,nome varchar(30),salario float,depto int);www.danielmota.com.br
  5. 5. Tipos de estruturas de dados:Tipos de estruturas de dados:Dados semi-estruturados: são dados heterogêneos eirregulares, auto-descritivos. Em Banco de dados,originalmente são sistemas fechados, dedicados agestão de dados regulares, cuja estrutura pouco evoluino tempo. Por exemplo, documentos que possuemvalores para alguns atributos : autor, titulo, assunto epalavras-chave.www.danielmota.com.br
  6. 6. Tipos de estruturas de dados:Tipos de estruturas de dados:Dados Não-Estruturados: São dados em que não hánenhuma estrutura de dados defininda. Sãonormalmente armazenados em arquivos ou em colunasdo tipo BLOB em SGBDs. Exemplos : um texto em PDF,uma imagem em JPG ou um arquivo de Video/Audio.Um BLOB é um objeto binário grande quepode guardar um montante variado dedados. Há quatro tipos BLOB que diferemapenas no tamanho máximo de valores queeles podem guardar.www.danielmota.com.br
  7. 7. Bancos de dados & Web:Bancos de dados & Web:Muitas aplicações de Internet fornecem interfaces Webpara acesso a informações armazenadas em um ou maisbancos de dados. Para esse tipo de interação é comumutilizar arquiteturas cliente-servidor two-tier (duascamadas) e three-tier (três camadas).www.danielmota.com.br
  8. 8. Bancos de dados & Web:Bancos de dados & Web:O método comum de especificar o conteúdo e deformatar as páginas Web é pelo uso de documentos dehyperlink. Existem várias linguagens para escrever essesdocumentos, a mais comum é o HTML. Porém, ele não éadequado para especificar dados estruturados que sãoextraídos de bancos de dados.www.danielmota.com.br
  9. 9. Bancos de dados & Web:Bancos de dados & Web:O código fonte de documentos HTML é muito difícil de serinterpretado automaticamente por programas decomputador, pois eles não incluem informação de esquemasobre o tipo de dados nos documentos.A medida que as aplicações de Internet têm se tornadoautomatizadas, torna-se crucial ser capaz de trocardocumentos Web entre vários sites e de interpretar seusconteúdos automaticamente.www.danielmota.com.br
  10. 10. Definição de XML:Definição de XML:“A XML é um conjunto de regras para definir tags semânticas quequebrem um documento em partes e identifiquem estas diferentespartes do documento. É uma meta-linguagem de marcação quedefine as sintaxes pelas quais outras linguagens de marcaçãoespecíficas a um domínio podem ser escritas” [HAROLD, 2004, p. 3].www.danielmota.com.br
  11. 11. O que é XML?O que é XML?eXtensible Markup Language: É um padrão criado pelaW3C.É uma maneira de representar informação, onde:●A linguagem não é específica●Não define vocabulário de comando●Não define gramática●Apenas regras mínimas de estruturawww.danielmota.com.br
  12. 12. XML bem formados:XML bem formados:Para que um documento XML seja bem formado e possaser manipulado como uma árvore faz-se necessário queos documentos obedeçam algumas regras deconstrução:●Ter um, e apenas um, elemento raiz●Valores dos atributos estarem entre aspas ou apóstrofes●Atributos não se repetirem●Todos os elementos terem etiqueta de fechamento●Elementos estarem corretamente aninhadoswww.danielmota.com.br
  13. 13. Estrutura do XML:Estrutura do XML:Dois conceitos principais de estruturação são usados paraconstruir um documento XML: elementos e atributos.www.danielmota.com.br
  14. 14. Exemplos de regras:Exemplos de regras:Todos os elementos têm marcadores de abertura e defechamento:Não pode: <nome>Severino<nome>Deve ser: <nome>Severino</nome>Elementos não devem se sobrepor:Não pode: <area>11<numero>9999 4321</area></numero>Dever ser: <area>11</area><numero>9999 4321</numero>Atributos têm que ter valores entre aspas:Não pode: <codigo=33>Deve ser: <codigo=”33”>Nomes de elementos são case-sensitive:Não pode: <area>11</AREA>Deve ser: <area>11</area>ou <AREA>11</AREA>www.danielmota.com.br
  15. 15. XML vs. HTML:XML vs. HTML:www.danielmota.com.br
  16. 16. XML Namespaces:XML Namespaces:Estabelecem um contexto para elementos eatributos:É formalmente declarado através de um identificador (um string,geralmente uma URI) através de atributo reservado do XML: o xmlnsPodem ser associados a um prefixo para qualificarelementos e atributosQuando o prefixo não é usado, estabelece um namespace defaultadotado pelo elemento onde é declarado e seus elementos filhowww.danielmota.com.br
  17. 17. Exemplo de Namespaces:Exemplo de Namespaces:Nos dois casos abaixo, os elementos <tempo> significam coisasdiferentes, mas não há conflito porque pertencem a namespacesdiferentes (um deles não tem namespace).www.danielmota.com.br
  18. 18. Tipos principais da XML:Tipos principais da XML:Existem 3 tipos principais de XML:●Data-Centric: XML centrado em dados●Document-Centric: XML centrado em documentos●Hibrid: XML que mescla dados e documentoswww.danielmota.com.br
  19. 19. Tipos principais de XML:Tipos principais de XML:Documentos XML centrados em dados: Essesdocumentos possuem muitos itens de dados pequenosque seguem uma estrutura específica e podendo serextraídos a partir de um banco de dados estruturado.Eles são formatados como documentos XML com opropósito de trocá-los ou exibi-los pela Web.www.danielmota.com.br
  20. 20. Tipos principais da XML:Tipos principais da XML:Documentos XML centrados em documentos: Estessão documentos com grandes quantidades de texto,como artigos de jornais ou livros. Existem poucos, ounenhum, elementos de dados estruturados nessesdocumentos.www.danielmota.com.br
  21. 21. Tipos principais da XML:Tipos principais da XML:Documentos XML híbridos: Esses documentos podempossuir partes que contêm dados estruturados e outraspartes que são predominantemente textuais ou nãoestruturadas.www.danielmota.com.br
  22. 22. Formas de processamento XML:Formas de processamento XML:Via APIs de programação:●SAX – Simple API for XML: leitura seqüencial, idealpara extração de dados.●DOM – Document Object Model: leitura completa,ideal para manipulação (inserção, reordenação,alteração, remoção de nós).www.danielmota.com.br
  23. 23. Formas de processamento XML:Formas de processamento XML:Via linguagens de processamento:●XSLT, XPath, XLink, XPointer e XQuery: extração,transformação e localização de dados.●XSL-FO, XHTML, SVG: apresentação de dados.www.danielmota.com.br
  24. 24. XPath:XPath:Linguagem usada para navegar e localizar informações numaárvore XML●Uma expressão XPath é um caminho na árvore que resulta emum valor (número, texto, booleano), objeto (elemento,atributo, nó de texto) ou conjunto de objetos.Expressões XPath são usadas dentro de atributos XMLUsadas em XSLT, XLink, XQuery e Xpointerwww.danielmota.com.br
  25. 25. XPath – Modelo de Dados:XPath – Modelo de Dados:XPath trata um documento XML como uma árvore de nós. Os nósusados pelo XPath podem ser de sete tipos:●Raiz (só há um desses)●Elemento●Atributo●Texto●Namespace●Instrução de processamento●ComentárioCada nó, ao ser processado, produz um valorque tem um tipo.www.danielmota.com.br
  26. 26. XPath – Valores e expressões:XPath – Valores e expressões:O valor do nó pode conter um dos quatro* tipos de conteúdo aseguir:●uma estrutura de outros nós (node-set)●um escalar numérico (number)●um string (string)●um valor booleano (boolean)Os tipos de expressão suportadas por XPath são relacionados aostipos de dados:●operações sobre nós da árvore-fonte (caminhos)●operações sobre texto●operações booleanas●operações numéricas* A abordagem de XPath está restrita a XPath 1.0;www.danielmota.com.br
  27. 27. XPath – Caminhos (XPath – Caminhos (location pathslocation paths):):Um caminho é uma sequência de passos de navegação naárvore-fonte (documento-fonte)●Todo caminho resulta em um nó (node) ou conjunto de nós (node-set)O resultado de um caminho produz um contexto●O nó de contexto: expressões seguintes relativas ao contexto●Se for um node-set, o processamento de cada nó do conjuntotambém introduz um contexto: o nó corrente●Todo contexto tem um tamanho e uma posiçãoCaminhos podem ser absolutos ou relativos●absolutos: começam no nó raiz●relativos: começam no nó do contextowww.danielmota.com.br
  28. 28. XPath – Caminhos (XPath – Caminhos (location pathslocation paths):):Exemplos:/raiz/elemento/filho/neto : contexto é node-set neto, que tem tamanho 2../../primo[3]: caminho relativo a neto, nócorrente é elemento <primo> na posição 3(node-set tem tamanho 4)www.danielmota.com.br
  29. 29. XLink, XPointer:XLink, XPointer:XLink: especificação W3C que define vínculos (de diversostipos) entre documentos XML:●Funcionalidade mínima é igual ao <a href=”arquivo/link”> do HTML●É uma coleção de atributos, com namespace próprio, que podem serusados em elementos de qualquer linguagem XML.XPointer: aponta para partes de documentos XML:●É o identificador no destino, que é acessível pelo Xlink:xlink:href="#ident"●Caminho resultante de expressão Xpath acima:xpointer(/contato/codigo)www.danielmota.com.br
  30. 30. XQuery:XQuery:XQuery: linguagem para pesquisar documentos XMLatravés de queries com sintaxe inspirada em SQL.FOR $b IN document ("usuario_33.xml")/contatoWHERE nome="Severino Severovitch"RETURN $bwww.danielmota.com.br
  31. 31. XQuery:XQuery:<resultado>{ for$fpx in document (“RelaçãoRemessas.xml”)//TuplaRemessa,$fx in documento (“RelaçãoFornecedores.xml”)//TuplaFornecedor[FNUM = $fpx/FNUM],$px in document (“RelaçãoPecas.xml”)//TuplaPeça[PNUM = $fpx/PNUM]Order by FNOME, PNOMEReturn<TuplaResultado>{$fx/FNOME, $px/PNOME, $fpx/QDE}</TuplaResultado> }<resultado>www.danielmota.com.br
  32. 32. Por que usar XML paraPor que usar XML paracompartilhar dados?compartilhar dados?●Porque é um padrão aberto:Facilidade para converter para outros formatos.●Porque é texto:Fácil de ler, fácil de processar, menos incompatibilidades.●Porque promove a separação entre estrutura, conteúdo eapresentação:Facilita geração de dados para visualização dinâmica.Evita repetição de informação / simplifica manutenção.●Porque permite semântica na WebElementos HTML não carregam significado,apenas dicas de formatação.www.danielmota.com.br
  33. 33. SGBDs nativos em XML:SGBDs nativos em XML:Tamino XML Server da empresa Software AG, é um banco dedados com suporte nativo a XML. Ele é uma plataforma dearmazenamento de informações XML sem a necessidade deconversão para outro formato, como tabelas relacionais. Integradados relacionais e orientado a objetos em uma estrutura XML,podendo acessar banco de dados existentes remotos que sãousados por aplicativos e pode armazenar esses dados comoobjetos XML. O sistema XML utilizado no Tamino é multitarefa,permitindo um grande volume de dados e requisições de váriosusuários simultâneos.www.danielmota.com.br
  34. 34. SGBDs nativos em XML:SGBDs nativos em XML:Lore desenvolvido primeiramente na universidade de Stanford éum banco de dados desenvolvido para armazenar dados semi-estruturados, foi modificado recentemente para um banco dedados XML. Inclui uma linguagem para "query" (Lorel), múltiplastécnicas de indexação, otimização "cost-based query", suportamulti-usuário, log e restauração, também pode importar dadosexternos.Uma característica interessante do Lore é o "DataGuide" que éum sumario estrutural de todos os caminhos do BD, os dados sãoadicionados, então essa estrutura é sumarizada, esse tipo deinformação é útil em um "query".www.danielmota.com.br
  35. 35. Banco de Dados Web & XMLBanco de Dados Web & XMLObrigado pela atenção.Obrigado pela atenção.Perguntas?Perguntas?Daniel MotaCatu-BA, Junho/2011 www.danielmota.com.br
  36. 36. Referências Bibliográficas:Referências Bibliográficas:BAPTISTA, Cláudio. XML – eXtensible Markup Language. Disponível em <www.dsc.ufcg.edu.br/~baptista/cursos/BDInternet/XMLFULL.ppt>. Acesso em09/06/2011.ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de Bancos de Dados. 4ª Edição.Person Education, 2006.HAROLD, Elliotte. XML 1.1 - The Bible. Estados Unidos: Wiley Publishing, 2004.Manual de Referência do MySQL – Versão Traduzida. Disponível em <http://xoops.net.br/docs/mysql/manual/reference.php#blob>. Acesso em 10/06/2011.ROCHA, Helder da. Introdução ao XML. Disponível em <http://www.argonavis.com.br/cursos/xml/x100/x100_1_Introducao.pdf>. Acesso em10/05/2011.___________. XPath. Disponível em <http://www.argonavis.com.br/cursos/xml/x100/x100_8_XPath.pdf>.Acesso em10/05/2011.Banco de Dados Web & XMLBanco de Dados Web & XML www.danielmota.com.br

×