modelagem de dados xml yago zacarias gomes coutinho ribeiro [email protected]

27
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro [email protected]

Upload: jessica-monsanto-maranhao

Post on 07-Apr-2016

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Modelagem de dados XML

Yago Zacarias Gomes Coutinho [email protected]

Page 2: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Roteiro1. Motivação2. Surgimento da linguagem XML3. A linguagem XML4. Tecnologias associadas ao XML

1. Definição de tipo de documento(DTD)2. XML schema

5. Banco de dados relacional com XML6. Banco de dados XML nativo7. Conclusão

Page 3: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Motivação

Não existia uma linguagem padrão para troca de dados

As linguagens da época não tinham sido feitas para esse propósito

Era necessário uma linguagem que fosse padrão e independente da plataforma

Page 4: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Surgimento da linguagem XML

Na década de 90 a linguagem mais utilizada na web era HTML

HTML não foi feito para troca de dados

HTML não é estruturado

Cada empresa precisava utilizar um servidor de aplicativo para fazer a consulta no HTML para retirar os dados

Page 5: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Surgimento da linguagem XML

Era difícil retirar dados do documento HTML

Page 6: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Surgimento da linguagem XML

As empresas começaram a perceber que era necessário uma linguagem para troca de dados na web

XML surgiu para suprir esses problemas

Page 7: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

A linguagem XML

É uma linguagem usada para representar dados baseadas em hierarquias

Linguagem padrão e independe da plataforma ou sistema operacional

É uma linguagem que utiliza tags

Page 8: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

A linguagem XML

XML se preocupa em estruturar a informação que pretende armazenar

XML é semiestruturado

O XML não veio para substituir o HTML

Page 9: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Tecnologias associadas ao XML Existem vários esquemas associado ao XML para descrever sua

estrutura

Os esquemas também servem para validar o documento

Esquemas facilitam a integração dos dados

Dois dos principais esquemas, são: DTD( Document type Defenition ) XML schema

Page 10: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Tecnologias associadas ao XML

DTD( Document type Defenition ):

O proposito do DTD é definir a estrutura do dados XML

Todos os dados no DTD segue uma ordem hierárquica

É importante notar que o DTD possui uma sintaxe diferente do XML

UM DTD não é um documento XML

Page 11: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Tecnologia associada ao XML

DTD( Document type Defenition ):

Page 12: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Tecnologia associada ao XML

XML schema:

Com o schema é possível definir com mais rigor o documento XML

Veio para suprir as falhas do DTD

Suporta todos os tipos de dados

Page 13: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Tecnologia associada ao XML

XML schema:

Permite a definição de tipo de dado

XML schema é extensível

Possui um poder de expressão maior

Page 14: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Tecnologia associada ao XML

XML schema:

Page 15: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacional com XML

Os bancos de dados relacionais já são consolidados

Foram construídos para armazenar dados estruturados

É muito útil armazenar dados XML em um banco de dados relacional já existente

Bancos de dados armazenam dados normalizados. Então como armazenar dados XML?

Page 16: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacional com XML

Para armazenar o XML no banco de dados relacional, existem três possibilidades. São elas:

Não Estruturado

Fragmentado

Estruturado

Page 17: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacional com XML

Não Estruturado:

Esse método armazena um documento XML inteiro em uma coluna

Limita a capacidade de pesquisa

Page 18: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacional com XML

Fragmentado:

Extrai os dados relevantes do XML e coloca em colunas relacionais

Relacionamentos hierárquicos do XML são perdidos

Page 19: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacional com XML

Estruturado:

Os dados XML são armazenados em colunas relacionais preservando a hierarquia

O dado XML pode ser mapeado em várias tabelas

Pode combinar consultas XML com dados relacionais

Page 20: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados XML nativo

Foram construídos para armazenar dados XML

São mais eficientes na manipulação de dados XML

Para ser considerado um banco de dados XML nativo, é necessário ter 3 características, são elas: Ter um documento XML como unidade fundamental(lógica) Define um modelo lógico para um documento XML Modelo interno de armazenamento baseado em XML

Page 21: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados XML nativo

É recomendado a utilização de Banco de dados nativo para documentos XML complexos

Não é necessário um mapeamento para armazenar dados XML

É possível armazenar , modificar e recuperar os dados sem perdas

Page 22: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacionais x Bando de dados nativo

Vantagens do Banco de dados relacionais:

É possível a coexistência de dados relacionais com dados XML

O esforço de exportação de dados do banco de dados relacional para o nativo é mínimo

Banco de dados relacionais são populares, genéricos e robustos

Page 23: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacionais x Bando de dados nativo

Desvantagens do Banco de dados relacionais:

A representação de dados é limitada aos relacionamentos

O XML pode armazenar quantidades aleatória de dados

Dificuldade de reconstrução total do documento XML

Page 24: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacionais x Bando de dados nativo

Vantagens do banco de dados nativo:

A estrutura é mais expressiva que os relacionamentos do banco de dados relacional

Custo de manter dados XML em banco de dados relacionais são maiores

O banco de dados relacional pode não ser capaz de retornar o documento XML completo

Page 25: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Banco de dados relacionais x Bando de dados nativo

Desvantagens do banco de dado nativo:

Não existe uma linguagem padrão para recuperação de dados XML

Os sistemas ainda não são maduros

Page 26: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Conclusão

A linguagem XML está sendo muito utilizada na web para troca de dados

Quando o assunto é armazenamento estes dados, não é tão simples escolher

A escolha do banco de dados vai depender do projeto

Não da para dizer que um banco de dados é melhor que o outro

Page 27: Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro yzgcr@cin.ufpe.br

Referências

[1] GRAVES, Mark. Projeto de Banco de Dados com XML. São Paulo: Makron Books, 2003

[2] FARIA, Rogério Amorim de. Treinamento Avançado em XML. São Paulo: Digerati Books, 2005

[3] MENDES, Giovana, Henriques, Pedro Rangel. Base de Dados Relacional ou Nativa? Qual a melhor solução para armazenar documentos XML?. Braga, 2004

[4] MOREIRA, Fagner; ALVES, Lucas; SILVA, Ramon Jocafe; NASCIMENTO, Reginaldo; CERQUEIRA, Ricardo. Armazenamento de dados XML: Estudo de Caso DB2. Bahia: UFBA, 2007.

[5] http://www.decom.ufop.br/guilherme/BCC441/geral/bd2_xml.pdf [6] http://www.inf.ufpr.br/rebecas/papers/erbd2010.pdf