Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
Roteiro 1. Motivação 2. Surgimento da linguagem XML 3. A linguagem XML 4. Tecnologias associadas ao XML 1. Definição de tipo de documento(DTD) 2. XML schema 5. Banco de dados relacional com XML 6. Banco de dados XML nativo 7. Conclusão
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
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
Surgimento da linguagem XML Era difícil retirar dados do documento HTML
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
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
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
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
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
Tecnologia associada ao XML DTD( Document type Defenition ):
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
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
Tecnologia associada ao XML XML schema:
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?
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
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
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
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
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
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
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
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
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
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
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
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, [5] [6]