Post on 10-Nov-2018
ABRIL/2010
Modelagem de Dados XML
Mini-curso:
Ronaldo dos Santos MelloINE/CTC/UFSC
ronaldo@inf.ufsc.br
Rebeca SchroederPPGInf/UFPR
rebecas@inf.ufpr.br
GBDGBDGBDGBDGBDGBDGBDGBD
UFSCUFSCUFSCUFSCUFSCUFSCUFSCUFSCGrupo de Banco de Dados da Grupo de Banco de Dados da Grupo de Banco de Dados da Grupo de Banco de Dados da Grupo de Banco de Dados da Grupo de Banco de Dados da Grupo de Banco de Dados da Grupo de Banco de Dados da Universidade Federal de Universidade Federal de Universidade Federal de Universidade Federal de Universidade Federal de Universidade Federal de Universidade Federal de Universidade Federal de Santa CatarinaSanta CatarinaSanta CatarinaSanta CatarinaSanta CatarinaSanta CatarinaSanta CatarinaSanta Catarina
Sumário
1) Introdução2) XML – Visão Geral3) Estado da Arte em Modelagem de Dados XML4) Metodologia para Projeto Lógico de Dados XML
o Conversão de Relacionamentos de Generalizaçãoo Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML6) Consideração de Informações de Carga no Projeto
Lógico de Dados XML7) Considerações Finais
Sumário
1) Introdução2) XML – Visão Geral
3) Estado da Arte em Modelagem de Dados XML
4) Metodologia para Projeto Lógico de Dados XML� Conversão de Relacionamentos de Generalização� Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML
6) Consideração de Informações de Carga no Projeto Lógico de Dados XML
7) Considerações Finais
Introdução
� Por quê se preocupar com modelagem de dados XML ????� Aplicações que manipulam dados XML� Disponibilização de fontes de dados XML na
Web
Modelagem de Dados XML – Motivação I – Aplicações que lidam com XML
� Aplicações Distribuidas com BDs Heterogeneos
BD Oracle
BD Postgres
ID Nome Rua . . . Sexo
01 Ronaldo X . . . M
02 . . .
Clientes
ID Nome ID-E . . . Sexo
01 Ronaldo 100 . . . M
02 . . .
Pessoas
ID Rua Numero . . . CEP
100 X 111 . . . 88000-800
101 . . .
Endereços<Cliente> <nome>Ronaldo</nome> <endereco> <rua>X</rua> <numero>111</numero> ... </endereco> <fone>4899889988</fone> <sexo>M</sexo></Cliente>
Protocolo de Troca: Cli.xml
Deve-se modelar os dados do dominio em XML para gerar esquemas eficientes de intercâmbio
Modelagem de Dados XML – Motivação I – Aplicações que lidam com XML
� Exemplos de intercâmbio via XML� Dispositivos móveis (celulares, PALMs, ...)
� Dados atualizados no dispositivo móvel devem ser transmitidos ao BD no servidor
� Exemplo de protocolo: WML
� Compartilhamento de dados geo-referenciados� Serviços públicos (prefeituras, distritos policiais, …)
� Análise de criminalidade em bairros� Exemplo de protocolo: GML
Modelagem de Dados XML – Motivação I – Aplicações que lidam com XML
� Aplicações que manipulam e persistem dados semi-estruturados <anuncio>
<transacao> Vendo</transacao>, por motivo de viagem,<produto> automóvel Gol I 97 </produto>, cor azul, em ótimo estado de conservação. Preço: R$<preco> 9000,00 </preco>. Tratar com<contato><nome> Pedro </nome> fone</fone>99991111 </fone></contato> </anuncio> <anuncio>Atenção! Se você deseja vender o seu veículo, nós realizamos o melhor negócio. <transacao>Compramos</transacao> qq tipo de <produto>veículo </produto>. Ligue-nos: <contato><fone> 32340011 </fone> ou envie um e-mail:<eMail> lojao@bla.com.br </eMail><contato></anuncio>
Dado Semi-Estruturado : parte do seu conteúdo possui uma intenção explicitamente definida
XML é adequado para representá-los!
Exemplo: anúncios classificados
Deve-se projetar (desenvolver a modelagem) de um BD XML para manter tais dados!
Modelagem de Dados XML – Motivação II – Dados XML na Web
� Por que o interesse pela Web?� Ela mantém um imenso volume de dados úteis nos mais
variados domínios do conhecimento
� Muitos dados na Web estão em XML� Principal formato de representação de instâncias de dados
na Web em diversos domínios� Milhares de documentos e centenas de esquemas
disponíveis� Browsers são capazes de exibir dados XML
� Exemplos de fontes de dados XML na Web� Bibliografia científica (DBLP, SIGMOD Record, ...)� Dados Astronomicos (NASA)� Dados Biológicos (Georgetown Protein Sequence XML DB) . . .
Modelagem de Dados XML – Motivação II – Dados XML na Web
� Como ter acesso a estes dados desejados com exatidão?� Associação de semântica a eles� Ontologias e esquemas conceituais são
fundamentais neste contexto� Vocabulários de consenso para aplicações em um
domínio� Estruturas semânticas de base para a manipulação
de instâncias de dados
Modelagem de Dados XML – Motivação II – Dados XML na Web
Web
Grande número de fontes de dados
(documentos, bases de dados, ...)
Modelagem de Dados XML – Motivação II – Dados XML na Web
Usuários desejam encontrarna Web dados relevantes para as
suas necessidades(busca com semântica)
Web
?!
Modelagem de Dados XML – Motivação II – Dados XML na Web
Web
uma solução: busca baseada em ontologias de domínioou esquemas conceituais(regem a semântica de umaou mais fontes de dados)
Ontologias/Esquemas Conceituais
Modelagem de Dados XML – Motivação II – Dados XML na Web
Web
Cresce o número de fontes de dados na Web disponibilizadas em XML :
● Documentos XML;● Visões XML de:
● documentos estruturados ou semi-estruturados (planilhas, anúncios, etc);
● BDs estruturados ou XML nativos; . . .
XML
XML
XML
XML
XML
Modelagem de Dados XML – Motivação II – Dados XML na Web
Web
XML
XML
XML
XML
XML
XML
Deseja-se disponibilizar uma nova fonte de dados XML em um domínio de interesse
(uma solução : modelar os dados XML a partir da ontologia ou esquema conceitual)
Modelagem XML a partir de Esquemas Conceituais
� Benefícios para diversas atividades� Geração de fontes de dados XML na Web com
semântica associada (motivação apresentada!)
� Integração de dados� Esquema conceitual ou ontologia: esquema global
para acesso unificado a fontes XML heterogêneas� Consultas às fontes unificam resultados e
apresentam informação mais completa ao usuário sobre um fato
� Projeto de BDs XML nativos� Uso de metodologias tradicionais de projeto de BDs
Focos deste Mini-Curso
� Modelagem de esquemas XML a partir de esquemas conceituais� Base nas abordagens de modelagem de BDs� Alguns trabalhos disponíveis na literatura
� Não há consenso sobre uma metodologia de projeto...
� Uma metodologia efetiva para o projeto lógico de esquemas XML� Representar integralmente um domínio de informação
em XML� Evitar a redundância de dados em XML� Produzir esquemas XML capazes de utilizar com
eficiência as construções permitidas pelo modelo de dados XML
Sumário
1) Introdução
2) XML – Visão Geral3) Estado da Arte em Modelagem de Dados XML
4) Metodologia para Projeto Lógico de Dados XML� Conversão de Relacionamentos de Generalização� Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML
6) Consideração de Informações de Carga no Projeto Lógico de Dados XML
7) Considerações Finais
XML – Visão Geral
� Tecnologia desenvolvida pela W3C� W3C: World Wide Web Consortium
� definição de padrões para a Web� consórcio formado pela academia e indústria
� Padrão para representação e transferência de dados� Formato texto� Baixo custo de armazenamento e transferência
XML – Visão Geral
� XML é uma meta-linguagem de marcação� Linguagem de marcação
� semelhante à linguagem HTML� utiliza tags para descrição os dados
� tag: indica a intenção do dado e delimita o seu conteúdo
� Meta-linguagem� XML é um padrão aberto
� cada aplicação define o protocolo (linguagem) para a representação dos seus dados
� XML = eXtensible Markup Language
<Cliente> <nome>Ronaldo</nome> <endereco> <rua>X</rua> <numero>111</numero> ... </endereco> <fone>4899889988</fone> <sexo>M</sexo></Cliente>
Exemplo de dado XML
XML – Visão Geral
� Dados XML são definidos em um documento XML (.xml)
� Um documento XML contém– cabeçalho– dados
• elementos simples ou complexos– elemento: conteúdo + tags que o delimitam
• atributos de elementos– atributo: propriedade simples de um elemento
– comentários– instruções de processamento
Modelo de Dados XML e Exemplo de Documento
<?xml version =“1.0” encoding ="ISO-8859-1“><!–- documento XML sobre livros --><!DOCTYPE listaDeLivros [ <!ELEMENT listaLivros(livro+) ...]><listaLivros><livro ISBN=“112” > <título>Tecnologia XML</título> <autor> <nome>João da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... .. <capítulo nome=“Introdução”>A XML foi ... <seção>
<nome>Linguagens de Marcação</nome> ...</seção>
</capítulo> ... </livro> ...</listaLivros> dado XML: estrutura hierárquica, ordenada e complexa
atributoelemento (simples)elemento (complexo)
elemento (misto)
informações dodocumento
elemento (raiz)
Documento XML Bem Formado
� Requisitos� contém um elemento raiz� define elementos com tags inicial e final� define atributos com conteúdo delimitado por
aspas simples (‘) ou aspas duplas (“)� Parser XML
� programa que verifica se um documento XML é bem formado� Browsers Web são capazes de realizar tal verificação
Esquemas para XML
� Um esquema para XML define restrições para a organização hierárquica e para o conteúdo dos dados em um documento XML
� Documento válido� documento cuja estrutura está de acordo com um
esquema� validação é feita por um parser
� Duas principais recomendações da W3C� DTD (Document Type Definition)
� XSD (XML Schema Definition)
DTD
� Primeira recomendação da W3C� Gramática para definição de hierarquia
� baseada em seqüências ordenadas e escolhas� Definição de elementos
� complexos, textuais (#PCDATA), vazios (EMPTY), mistos ((#PCDATA | ...)*) ou com conteúdo aberto (ANY)
� Definição de atributos� obrigatórios (#REQUIRED) opcionais (#IMPLIED),
fixos (#FIXED), valor default, enumeração, referência (ID, IDREF(S))
Exemplo de DTD
<!ELEMENT listaLivros (livro+)><!ELEMENT livro (título, preço, autor+, capítulo+)><!ATTLIST livro ISBN ID #REQUIRED edicaoAnterior IDREF #IMPLIED><!ELEMENT título (#PCDATA)><!ELEMENT autor (nome, eMail?)><!ELEMENT nome (#PCDATA)><!ELEMENT preço (#PCDATA)><!ELEMENT eMail (#PCDATA)><!ELEMENT capítulo (#PCDATA | seção)*><!ATTLIST capítulo nome CDATA #REQUIRED><!ELEMENT seção (nome, conteúdo)><!ELEMENT conteúdo (#PCDATA)>
XSD
� Recomendação mais recente � Sintaxe XML� Extensão da funcionalidade de uma DTD
� Definição e especialização de tipos de elementos� semelhança com esquemas OO
� Definição de tipos de dados � simples (string, integer, boolean, ...)� complexos (list, union)
� Facilidades adicionais para definição de restrições� intervalos de valores permitidos, padrões de conteúdo via
expressões regulares, ...
Exemplo de XSD<?xml version=“1.0” encoding=“UTF-8”>
<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSc hema”>
... <!-– Declaração de Tipos -->
<xsd:simpleType name=“ Tisbn ”>
<xsd:restriction base=“xsd:string”>
<xsd:pattern value=“[0-9]{2}-[0-9]{3}-[0-9]{4}-[0 -9]”/>
</xsd:restriction>
</xsd:simpeType>
<xsd:complexType name=“ Tlivro ”>
<xsd:sequence>
<xsd:element name=“titulo” type=“xsd: string ”/>
<xsd:element name=“autor” type=“Tautor”
minOccurs=“1” maxOccurs=“unbounded”/>
<xsd:element name=“preço” type=“xsd: float “/>
...
</xsd:sequence>
<xsd:attribute name=“isbn” type=“ Tisbn ”/>
</xsd:complexType>
...
Exemplo de XSD (cont.)...
<xsd:complexType name=“TlivroTécnico” base=“Tlivro”
derivedBy=“extension” >
<xsd:element name=”area" type=“xsd:string"
minOccurs=“1” maxOccurs=“1”/>
</complexType>
...
<!-– Declaração de Elementos -->
<xsd:element name=“listaLivros”>
<xsd:complexType>
<xsd:sequence>
<xsd:element name=“livro” type=“ Tlivro ”
minOccurs=“1” maxOccurs=“unbounded”/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Modelo Lógico XML
� Modelo hierárquico que representa construções e restrições do modelo XML� Elementos, atributos, restrições de composição
e cardinalidade pai-filho� Base em modelos hierárquicos propostos ([DOB 01] e [CHA 02])� Passível de mapeamento para XML DDLs
(DTD, XML Schema, etc)� Modelo abstrato com relação a estas linguagens
Modelo Lógico XML Conceitos
Elemento Simples
Elemento Complexo
Atributo Identificador
Atributo Simples
Atributo de Referência
Disjunção
Ocorrência Mínima e Máxima
Atributo Único
Sumário
� Introdução� XML – Visão Geral� Estado da Arte em Modelagem de Dados XML� Metodologia para Projeto Lógico de Dados XML
� Conversão de Relacionamentos de Generalização� Conversão de Relacionamentos de Associação
� Dicas de Modelagem Física de Dados XML� Consideração de Informações de Carga no Projeto
Lógico de Dados XML� Considerações Finais
Estado da Arte
� Várias propostas de modelagem de dados XML são encontradas na literatura
� Diversos focos de aplicação:� Criar visões hierárquicas sobre um BD relacional;� Extração de dados de BDs convencionais para
formato XML;� Projeto para BD semi-estruturado;� Extensões de modelos conceituais existentes para
melhor representar XML;� Novos modelos para projeto de documentos XML.
Estado da Arte
� Projeto de esquemas XML de acordo com a modelagem de dados em três níveis:
ER, EER, UML, ORM
Esquemas hierárquicos
DTD e XML-Schema
Modelagem Conceitual
Modelagem Lógica
Modelagem de Implementação
Mapeamentos
Mapeamentos
Estado da Arte –Modelos conceituais utilizados
� Modelos Tradicionais: ER, EER, ORM, UML (diagrama de classes), ...
� Exemplo: esquema EER de uma biblioteca digital
Estado da Arte –Modelos lógicos utilizados
� Três possibilidades:� Modelos conceituais acrescidos com
composições lógicas (grafos)� ER e diagrama de classes UML com
extensões
� Novos modelos
� Modelos hierárquicos: � mais adequados a natureza XML
Estado da Arte –Modelos lógicos utilizados
Entidade Mista
Entidade Ordenada (sequence)
Entidade não-ordenada (all)
Disjunção (choice)
Estado da Arte –Modelos lógicos utilizados
Elemento Léxico
Elemento não-léxico
Generalização Exclusiva
Participação Opcional no Relacionamento
Estado da Arte –Abordagens baseadas em Modelos Conceituais
� Abrangem os 3 níveis de modelagem� Mapeamento Conceitual -> Lógico +
Lógico ->Implementação
� Representam informações do domínio sem restrições do modelo XML� Maior abstração de dados� Torna o processo de modelagem mais natural e claro para
o projetista� Esquema conceitual é refinado pelas outros níveis até
alcançar o modelo de implementação� Facilita normalização de dados e otimizações na estrutura
lógica
Estado da Arte –Abordagens baseadas em Modelos Lógicos
� Engloba apenas 2 últimos níveis de modelagem� Mapeamento Lógico -> Implementação
� Representam informações do domínio diretamente no modelo XML� Projetista fica limitado pelas restrições do
modelo lógico (XML)� Visão conceitual é ignorada
� Possível perda de semântica
Estado da ArteComparativo entre Abordagens
Construtores Conceituais ConsideradosNíveis de Projeto
ER
EER
EER
ER
EER
EER
ER
Modelo Conceitual
Hierár-quico
Hierár-quico
Hierár-quico
Modelo Lógico
XML Schema
DTD
XML Schema
DTD
XML Schema
Modelo de Impl.
---[WIW 06]
+-++[LIU 06]
+---+[FON 06]
+-+[PIG 05]
+-++[CHO 03]
---[ELM 02]
+-+[LEE 01]
Relacio-namentos
UniõesGenera-lizações
Atribu-tos
Entidades/Classes
Abordagens
+ : suporte total - : suporte parcial “ “ : não há suporte
Estado da ArteComparativo entre Abordagens
---XML Schema
UML+UML[ROU 02]
--+XML Schema
UML[QUA 05]
---DTD/XMLSchema
UML[KRU 03]
--Hierár-quico
Genérico[MOK 06]
+-+XGram-mar
EReX[MAN 04]
---XML Schema
C-XML[EMB 04]
Construtores Conceituais ConsideradosNíveis de Projeto
Modelo Conceitual
Modelo Lógico
Modelo de Impl.
Relacio-namentos
UniõesGenera-lizações
Atribu-tos
Entidades/Classes
Abordagens
+ : suporte total - : suporte parcial “ “ : não há suporte
Estado da ArteComparativo entre Abordagens
� Principais deficiências das abordagens da área:� Não atendem adequadamente aos 3 níveis de modelagem:
� Modelos conceituais embutindo características lógicas do modelo de dados XML
� Esquemas conceituais diretamente convertidos para um esquema de implementação XML (nível lógico é ignorado)� Decisões em nível lógico de modelagem são importantes pois
afetam o desempenho do acesso a dados
� Abordagens não apresentam tratamentos para a conversão de todos os construtores de um modelo conceitual� Perda de semântica
� Poucas metodologias promovem a otimização de estruturas XML em nível lógico.
Sumário
1) Introdução2) XML – Visão Geral3) Estado da Arte em Modelagem de Dados XML4) Metodologia para Projeto Lógico de Dados XML
o Conversão de Relacionamentos de Generalizaçãoo Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML6) Consideração de Informações de Carga no Projeto
Lógico de Dados XML7) Considerações Finais
Metodologia para Modelagem XMLVisão Geral
� Projeto Conceitual: � Produzir esquema conceitual a partir de
descrição de um domínio� Utilizar técnicas consolidadas para
modelagem conceitual
Metodologia para Modelagem XMLVisão Geral
� Projeto Lógico: � Conversão de um esquema conceitual
em um esquema lógico XML� Conversão de um grafo em uma árvore
� Objetivos da conversão:� Manter a semântica das informações � Produzir estruturas lógicas otimizadas:
� Melhorar desempenho de consultas� Satisfazer as necessidades de consulta
Metodologia para Modelagem XMLVisão Geral
� Projeto de Implementação: � Conversão de um esquema lógico XML em um
esquema definido por uma linguagem de definição de esquemas XML: XML Schema, DTD, RELAXNG
� Conversão é simples se modelo lógico XML for, necessariamente, abstrato� Considerar recursos de cada linguagem
� Contextos que envolvem persistência de documentos XML necessitam projeto físico
Conversão EER-XML Lógico [SCH 08a]
� Processo automático/semi-automático� Eventual intervenção de um especialista
pode ocorrer ao final do processo
� Base na literatura de projeto de BDsrelacionais
� Adaptação das regras de conversão de esquemas EER para esquemas de relações
� Dois procedimentos:1. Conversão de Generalizações e Uniões2. Conversão de Relacionamentos Associativos
Sumário
1) Introdução2) XML – Visão Geral3) Estado da Arte em Modelagem de Dados XML4) Metodologia para Projeto Lógico de Dados XML
o Conversão de Relacionamentos de Generalizaçãoo Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML6) Consideração de Informações de Carga no Projeto
Lógico de Dados XML7) Considerações Finais
Conversão EER-XML Lógico Conversão de Generalizações e Uniões
� Generalização/Especialização� Permite atribuir propriedades particulares a um subconjunto das
ocorrências (especializadas) de uma entidade genérica.
Pessoas
Nome
Jurídica
CNPJ
Física
CPF
Endereço
Conversão EER-XML Lógico Conversão de Generalizações e Uniões
� Tipos de Especialização (restrições)� Total ou Parcial
Pessoas
JurídicasFísicas
t (default)
Total: Toda Pessoa é pelo menos uma Pessoa Física ou uma Pessoa Jurídica
Funcionários
EnfermeirosMédicos
Parcial: Nem todo
funcionário é Médico ou Enfermeiro
p
Conversão EER-XML Lógico Conversão de Generalizações e Uniões
� Tipos de Especialização (restrições)� Disjunta ou Compartilhada
Disjunta: A entidade genérica é especializada por uma das suas subclasses, no máximo
Pessoas
AlunosProfessor
Compartilhada
A entidade genérica pode
ser especializada
por várias subclasses
Pessoas
JurídicasFísicas
d (default)
c
Conversão EER-XML Lógico Conversão de Generalizações e Uniões
� Em geral, restrições de totalidade e disjunção são combinadas
� Quatro possibilidades:� Total e disjunta (t,d)� Total e compartilhada (t,c)� Parcial e disjunta (p,d)� Parcial e compartilhada (p,c)
Pessoas
AlunosProfessor
Pessoas
JurídicasFísicas
(t,d) (default) (p,c)
Conversão EER-XML Lógico Conversão de Generalizações e Uniões
� Tipos União� Total ou Parcial
Item Catálogo
ServiçoProduto
t (default)
Total: Todo produto e todo serviço é um Item de
Catálogo
Parcial: Nem todo
aluno e professor é
um pesquisador
Pesquisador
ProfessorAluno
p
Conversão EER-XML Lógico Conversão de Generalizações e Uniões
� Abordagem bottom-upo Relacionamentos em níveis mais inferiores
de uma hierarquia são convertidas primeiroo Conversão menos complexa
� Trata melhor herança múltipla� Conversão de um nível superior recebe os
níveis inferiores já tratados
� Uma alternativa (regra) de conversão éescolhida com base nas restrições das hierarquias analisadas� Prioridade para a regra que gera o esquema
mais compacto
Conversão EER-XML Lógico Conversão de Generalizações e Uniões
Procedimento Converter Generalizações e Uniões:---------------------------------------------------------------------------G ← lista {g1, g2.., gn} de tipos generalização e união do esquema EER ordenados*
PARA CADA gi ∈ G FAÇASE (não existe relacionamento associado as subclasses de gi) ENTÃO
Aplica-se a Alternativa 1 para tipos generalização
SENÃO SE (gi é total E não existe relacionamento associado a superclasse de gi) ENTÃOAplica-se a Alternativa 2 para tipos generalização
SENÃO SE (as subclasses de gi não foram processadas por outra hierarquia) ENTÃOAplica-se a Alternativa 3a para tipos generalização
SENÃOAplica-se a Alternativa 3b para tipos generalização
FIMFIM
Conversão EER-XML Lógico Conversão de Generalizações e Uniões (Ex.)
Alternativa 3
• Alternativa 1 não é possível pois G possui herança múltipla
• Alternativa 2 não é possível pois generalização é parcial
Conversão EER-XML Lógico Conversão de Generalizações e Uniões (Ex.)
Alternativa 3
• Alternativa 1 não é possível pois G é filho de E
• Alternativa 2 não é possível pois generalização é parcial eH possui relacionamento de associação
Conversão EER-XML Lógico Conversão de Generalizações e Uniões (Ex.)
Alternativa 1
• Alternativa 1 é aplicada, mas E torna-se filho de C pois E já define uma hierarquia
Conversão EER-XML Lógico Conversão de Generalizações e Uniões (Ex.)
Alternativa 2
• Alternativa 1 não é possível, pois C possui relacionamento de associação específico
Sumário
1) Introdução2) XML – Visão Geral3) Estado da Arte em Modelagem de Dados XML4) Metodologia para Projeto Lógico de Dados XML
o Conversão de Relacionamentos de Generalizaçãoo Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML6) Consideração de Informações de Carga no Projeto
Lógico de Dados XML7) Considerações Finais
Conversão EER-XML Lógico Conversão de Relacionamentos
� Procedimento1) Ordenação das entidades do esquema EER
� Ordenação é regida pela análise dos Fechamentos Funcionais Completos (FFCs) [MOK 06]� FFC: lista de entidades alcançadas a partir de uma
entidade de partida através de associações com cardinalidade (1,1)
� Análise de FFCs otimiza a geração de hierarquias de composição em XML
Fechamentos Funcionais Completos
M={M}F={F}
L={L,C,J,M}E={E}
J={J,M}D={D}
I={I}C={C}
H={H}B={B}
G={G}A={A}
Fechamentos Funcionais Completos
� Ordenação: M, J, L� Estas 3 entidades cobrem todos os relacionamentos de associação� M é a entidade com maior potencial para acolher um maior número
de hierarquias de composição com cardinalidade (1,N)
Conversão EER-XML Lógico Conversão de Relacionamentos
2) Uma alternativa (regra) é escolhida para o relacionamento através da análise de cardinalidades� Base: regras de mapeamento EER-relacional� Três regras de conversão são consideradas
** O elemento R pode ou não ser definido, dependendo do caso.
Conversão EER-XML Lógico Conversão de Relacionamentos
Procedimento Converter Relacionamentos:---------------------------------------------------------------------------Er ← lista {e1, e2.., en} de entidades ordenadas por FFC
PARA CADA ei ∈ Er FAÇAR ← lista {r1, r2.., rn} de tipos relacionamento de ei
PARA CADA ri ∈ R FAÇASE (ri é 1:1 E a entidade destino tem participação (1,1) em ri) ENTÃO
Aplica-se a Alternativa 1 para tipos relacionamento
SENÃO SE (ri é binário E a entidade destino tem participação (1,1) em ri) ENTÃOAplica-se a Alternativa 2 para tipos relacionamento
SENÃOAplica-se a Alternativa 3 para tipos relacionamento
FIM
FIM
FIM
Conversão EER-XML Lógico Conversão de Relacionamentos (Ex.)
Alternativa 3
• Alternativa 1 não é possível pois H já existe e R4 não é (1,1)
• Alternativa 2 não é possível pois H tornar-se-ia filho de M, gerando redundância porque R4 é (M,N)
Conversão EER-XML Lógico Conversão de Relacionamentos (Ex.)
Alternativa 2
• Alternativa 1 não é possível, pois R1 é (1,N) e geraria redundância para representar ocorrências unificadas de L e J
Conversão EER-XML Lógico Conversão de Relacionamentos (Ex.)
Alternativa 3
• Alternativa 1 não é possível, pois C e L já estão representados
• Alternativa 2 não é possível, pois L não pode se tornar filho de C (L já é filho de M)
Conversão EER-XML Lógico Atividade Final
• Geração do elemento que representa a raiz da hierarquia XML
Criação doroot
Conversão EER-XML Lógico
� Um algoritmo para a conversão automática EER-XML Lógico é proposto por [SCH 08a];
� Um processo semi-automático pode ser considerado;
� Ajustes de usuário podem ser aplicados sobre o esquema produzido pelo processo;
� Uma ferramenta chamada EER2XML foi desenvolvida em conjunto com este algoritmo implementando tal processo de conversão [LIM 08a] – TCC UFSC, [LIM 08b] – ERBD 2008 .
Conversão EER-XML LógicoProduto da Conversão
� Todos os construtores do modelo conceitual (EER) são considerados:� Entidades, atributos, relacionamentos, tipos
generalização, tipos união, entidades associativas, auto-relacionamentos e entidades fracas;
� Geração de esquemas compactos: � A regra que gera a menor porção de esquema
XML tem preferência na conversão.
Conversão EER-XML LógicoProduto da Conversão
� A redundância de dados é evitada pelo processo:� Não permitindo que um conceito seja representado
por mais de uma instância de elemento nos documentos XML;
� Exemplo:
Sumário
1) Introdução
2) XML – Visão Geral
3) Estado da Arte em Modelagem de Dados XML
4) Metodologia para Projeto Lógico de Dados XML� Conversão de Relacionamentos de Generalização� Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML6) Consideração de Informações de Carga no Projeto
Lógico de Dados XML
7) Considerações Finais
Dicas de Modelagem Fisica XML
� Metodologia de modelagem XML apresentada� Mapeamentos adequados Conceitual → Lógico
� Sem perda de semântica� Estruturas XML mais enxutas possivel
� Minimo de redundância
� Entretanto, existem diversas formas de representar dados em estruturas XML. Como modelar:
� Uma propriedade simples: atributo ou elemento?� Um fato: elemento direto ou usando tipos abstratos?� A granularidade de um esquema XML, já que XML admite
representações semi-estruturadas? Preciso modelar todos os fatos de forma totalmente estruturada?
(Sub-)Elemento X Atributo
� Sub-Elemento� Necessario quando se tem:
� Restrições de ordem (sequencia) ou ocorrência mutamente exclusiva (escolha) de dados aninhados
� Conteúdo complexo multivalorado ou semi-estruturado (misto de texto e estrutura)
� Melhor legibilidade do documento XML� Conteúdo organizado em tags
� Documentos XML com maior volume� Por causa das tags
(Sub-)Elemento X Atributo
� Atributo� Necessário quando se deseja:
� Estabelecer relacionamentos entre fatos� Referências via atributos ID e IDREF
� Definir certas restrições de integridade� Valor fixo, valor default
� Documentos XML mais enxutos� Bom para visões estruturadas (relacionais) de dados� Legibilidade prejudicada para conteúdos extensos
� Além desses casos, não há grande rigor entre modelar uma propriedade como sub-elemento ou atributo� Questão de estilo do modelador
Definição de Tipos e Elementos em Esquemas XML
� Principais padrões para posicionamento de elementos e tipos� Russian Doll� Salami Slice� Venetian Blind
Aplicação dos Padrões
Russian Doll Salami Slice Venetian Blind● Esquemas enxutos● Elementos independentes
● Elementos mais dependentes● Reuso da definição de elementos
● Elementos mais dependentes● Reuso e derivação da definição de tipos
Granularidade da Modelagem Fisica XML
� Granularidade Grossa� Esquema XML fracamente estruturado� Somente fatos de “mais alto nivel” são
representados como elementos
� Granularidade Fina� Esquema XML fortemente estruturado� Todos os fatos são representados
� Granularidade Média� Meio termo entre granularidade grande e pequena
Granularidade Fisica XML - Exemplos
<evento><nome>ERBD</nome><edicao>6</edicao><local> <estado>SC</estado> <cidade>Joinville</cidade></local><sessoes> <sessao> <numero>1</numero> <artigo> <titulo>XML</titulo> <autor>Paulo</autor> <autor>Ana</autor> ... </artigo> ... </sessao> ...</sessoes></evento>
<evento><nome>ERBD</nome><edicao>6</edicao><local> SC, Joinville</local><sessoes> <sessao> <numero>1</numero> <artigo> XML, Paulo Ana ... </artigo> ... </sessao> ...</sessoes></evento>
<evento>ERBD, 6, SC, Joinville<sessoes>1XML, Paulo Ana...</sessoes></evento>
Fina
Média
Grossa
Granularidades XML - Critica
Grossa Média Fina
� Melhora as capacidades de consultas� De buscas por palavras-chave a consulta e indexação de
qualquer tipo de elemento ou atributo
� Melhor legibilidade/significado dos dados� Facilidade de mapeamento para BDs convencionais � Aumenta o volume de armazenamento
� Gran. média/fina: tags do doc ocupam muito espaço
Sumário
1) Introdução2) XML – Visão Geral3) Estado da Arte em Modelagem de Dados XML4) Metodologia para Projeto Lógico de Dados XML
o Conversão de Relacionamentos de Generalizaçãoo Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML6) Consideração de Informações de Carga no
Projeto Lógico de Dados XML7) Considerações Finais
Conversão Baseada em Informações de Carga de Dados
� Relacionamentos por referência são necessários para representar algumas construções de um esquema conceitual:� Evitar redundância de dados;
� Referências geram um esquema XML desconexo que, em geral, torna a execução de consultas custosa:� Junções por valor geram um maior número de
acessos a elementos XML do que Junções por estrutura.
Joins por estrutura� Joins por estrutura:� Para alcançar as instâncias
de EB de uma instância EA’:
Se EA’ possui 5 elementos R1 e cada elemento R1 possui 1 elemento EB, o total de acessos seria 5
Qtd de elementos R1 em EA’
* Qtd de elementos EB filhos dos elementos R1de EA’
Joins por valor
� Joins por valor:� Para alcançar as instâncias
de EB de uma instância EA’:
Se EA’ possui 5 elementos R1 e no esquema existem 100 elementos EB, o total de acessos seria 500
Qtd de elementos R1 de EA’ * Qtd de todos os elementos EB presentes no esquema
Conversão Baseada em Informações de Carga de Dados [SCH 08b]–ACM DocEng’08
� Objetivo da abordagem baseada em carga é minimizar o impacto de relacionamentos de referência para as operações aplicadas sobre docs XML;
� As informações de carga são utilizadas para:� Escolha da regra de conversão;� Escolha do aninhamento para elementos do
esquema XML.
Modelagem de Carga
� De acordo com a regra 80-20 [BAT 92], 20% das operações mais comuns de uma aplicação geram 80% da carga da aplicação: � Podemos nos concentrar nos 20% das operações
mais comuns!
Modelagem de Carga� Volume de dados:
� Número médio de instâncias para cada conceito;
� Cardinalidade média de cada entidade em um relacionamento.
Modelagem de Carga� Operações:
� Freqüência de execução da operação;� Lista de entidades e relacionamentos acessados;� Freqüência de acesso às entidades/relacionamentos por uma operação.
Modelagem de Carga
� Informações utilizadas pelo processo de conversão:� FREQUÊNCIA DE ACESSO GERAL (FAG) de um conceito;� FREQUÊNCIA DE ACESSO TOTAL (FAT) do esquema;� FREQUÊNCIA DE ACESSO MÍNIMA (FAM) do esquema.
Modelagem de Carga (Exemplo)
� Exemplo de aplicação (FAG):� Como a FAG de R2 (2000) é maior do que a de R1 (800),
R2 é convertido por primeiro. Neste caso, EB se transforma em um elemento filho de ED e R1 gera um relacionamento de referência entre EA e EB
Modelagem de Carga (Exemplo)
� Exemplo de aplicação (FAM):� Como EC não participa em nenhuma das operações consideradas, pode-se
considerar sua FAG(EC)=0;
� Sendo a FAG(EC) < FAM(8,5 acessos), EC pode ser representada pelo modelo de conteúdo de um elemento XML criado para representar EA (fusão de entidades).
Avaliação Experimental
� Três esquemas lógicos XML são produzidos a partir de um esquema EER dado:� Esquema convencional: Esquema obtido pela
aplicação do processo convencional;� Esquema otimizado: Esquema obtido pela aplicação
do processo baseado em informações de carga;� Esquema em pior caso: Esquema cuja estrutura de
aninhamento dos elementos é contrária a estrutura otimizada obtida pelo processo baseado em informações de carga.
Avaliação ExperimentalResultados
� Menor tamanho do esquema otimizado:� Fusão de elementos para representar
generalizações;
� Estrutura de Aninhamento dos Elementos:� Operações produzem um número reduzido de
acessos através do esquema otimizado.
Avaliação ExperimentalResultados - Estrutura de aninhamento dos elementos
Total
NotaFiscal
faturamento
O1
#
Operações
2.565.9503.0022.565.950
2.565.0002.0522.565.000
---
950950950Pedido
Esquema em Pior Caso
Esquema Otimizado
Esquema Convencional
Conceito
...
1.250emissão
2.052faturamento
FAG
faturamento
emissão
emissão
Convencional e em Pior Caso Otimizado
faturamento
Avaliação ExperimentalResultados - Estrutura de aninhamento dos elementos
...
NotaFiscal
emissão
O5
#
Operações
.........
1.25067.5001.250
---
252525Parceiro
Esquema em Pior Caso
Esquema Otimizado
Esquema Convencional
Conceito
...
1.250emissão
2.052faturamento
FAG
faturamento
emissão
emissão
Convencional e em Pior Caso Otimizado
faturamento
Avaliação ExperimentalResultados - Estrutura de aninhamento dos elementos
5
35
50
150
220
950
Freqüência
3,730
0,105
0,157
0,359
1,980
0,344
0,785
Ex. Única
Esquema Convencional
1.140,830
0,525
3,925
17,950
297,000
75,680
745,750
Ex. Acumulada
1,381
0,383
0,219
0,156
0,257
0,208
0,158
Ex. Única
Esquema Otimizado Esquema em Pior Caso#
751,9603,41845,760O2
587,2503,91538,550O3
172,7503,4557,800O4
740,07529,6035,475O5
3,5850,7171,915O6
843,6000,888150,100O1
3.099,22041,996249,600TOTAL:
Ex. Acumulada
Ex. ÚnicaEx. Acumulada
� Tempo de resposta em segundos:� Execução das operações no BD XML (Tamino)
Sumário
1) Introdução2) XML – Visão Geral3) Estado da Arte em Modelagem de Dados XML4) Metodologia para Projeto Lógico de Dados XML
o Conversão de Relacionamentos de Generalizaçãoo Conversão de Relacionamentos de Associação
5) Dicas de Modelagem Física de Dados XML6) Consideração de Informações de Carga no Projeto
Lógico de Dados XML7) Considerações Finais
Considerações FinaisEste mini-curso apresentou:
� Uma abordagem que auxilia na definição de esquemas de fontes de dados XML com semântica pré-determinada� Contribuição para o problema de buscas a dados XML na Web
� Conversão baseada em um conjunto de regras que trata todos os construtores de um modelo conceitual� Evita perdas semânticas
� Geração de um esquema lógico XML abstrato� Mapeamento não complexo para DTD ou XML Schema
� Geração de esquemas lógicos compactos, normalizados e otimizados.
Considerações FinaisDesafios futuros:
� Adaptação da metodologia baseada em informações de carga para apoiar processos sistemáticos de otimização de BDs XML:� Sugestão de índices.
� Metodologia dinâmica para reprojetaresquemas XML:� Esquemas XML sofrem muita evolução� Operações que são freqüentemente executadas sobre docs
XML servirão como parâmetros nesta metodologia;
Considerações FinaisDesafios futuros:
� Metodologia para reduzir relacionamentos de referência:� Permitir redundância desde que o overhead em
operações de atualização seja mínimo;
� Ferramenta para implementar o processo baseado em carga:� Automática ou Semi-automática (usuário poderia
escolher alternativas de conversão).
Considerações FinaisDesafios futuros:
� Adaptação a novos contextos e problemas:� Busca por escalabilidade:
� Processamento amplamente distribuído e paralelo
Referências
[BAT 92] BATINI, C.; CERI, S. N. S. Conceptual Database Design: An Entity-Relationship Approach. The Benjamin/Cummings Publishing Company,1992.
[CHA 02] CHANG, E. E. A. A semantic network-based design methodology for xml documents. In: ACM TRANSACTIONS ON INFORMATION SYSTEMS, 2002.. p.390–421.
[CHO 03] CHOI, M.; LIM, J. J. K. Developing a unified design methodology based on extended entity-relationship model for xml. In: INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, 2003. Springer Heidelberg, 2003. p.920–929.
[DOB 01] DOBBIE, G. E. A. Ora-ss: An object-relationship-attribute model for semi-structured data. National University of Singapore, 2001. Technical Report TR21/00.
[ELM 02] ELMASRI, R.; WU, Y. E. A. Conceptual modeling for customized xml schemas. In: INTERNATIONAL CONFERENCE ON CONCEPTUAL MODELING, 2002. p.429–443.
[EMB 04] EMBLEY, D.; LIDDLE, S. K. S. Enterprise modeling with conceptual xml. In: INTERNATIONAL CONFERENCE ON CONCEPTUAL MODELING, 2004. p.150–165.
Referências[FON 06] FONG, J.; FONG, A. W. H. K. Y. P. Translating relational schema with
constraints into xml schema. In: INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2006. p.201–244.
[KRU 03] KRUMBEIN, T.; KUDRASS, T. Rule-based generation of xml schemas from uml class diagrams. In: BERLINER XML TAGE, 2003. XML-Clearinghouse, 2003. p.213–227.
[LEE 01] LEE, M. E. A. Designing semistructured databases: A conceptual approach. In: INTERNATIONAL CONFERENCE ON DATABASE EXPERT SYSTEMS APPLICATIONS, 2001. p.12–21.
[LIM 08a] LIMA, C. Uma Ferramenta para Conversão de Esq uemas ConceituaisERE para Esquemas Lógicos XML. Trabalho de Conclusão de Curso. Departamento de Informática e Estatística da UFSC.
[LIM 08b] LIMA, C.; SCHROEDER, R. M. R. S. Uma ferra menta para conversão de esquemas conceituais eer para esquemas lógicos xml. In: I V ESCOLA REGIONAL DE BANCO DE DADOS, 2008. pp. 109-118.
[LIU 06] LIU, C.; LI, J. Designing quality xml schemas from e-r diagrams. In: ADVANCES IN WEB-AGE INFORMATION MANAGEMENT, 2006. p.508–519.
[MAN 04] MANI, M. Erex: A conceptual model for xml. In: INTERNATIONAL XML DATABASE SYMPOSIUM, 2004. Springer-Verlag, 2004. p.128–142.
[MOK 06] MOK, W. Y., E. D. W. Generating compact redundancy-free xml documents from conceptual-model hypergraphs. In: IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2006. p.1082–1096.
Referências
[PIG 05] PIGOZZO, P; QUINTARELLI, E. An algorithm for generating xml schemas from er schemas. In: ITALIAN SYMPOSIUM ON ADVANCED DATABASE SYSTEMS, 2005. p.192–199.
[QUA 05] QUANG, N. H.; RAHAYU, J. W. Xml schema design approach. IJWIS, v.1, n.3, p.161–178, 2005.
[ROU 02] ROUTLEDGE, N.; BIRD, L. G. A. Uml and xml schema. In: Society, I. C., editor, AUSTRALIAN DATABASE CONFERENCE, 2002. p.157–166.
[SCH 07] SCHROEDER, R.; MELLO, R. S. Análise de abor dagens para modelagemconceitual e lógica xml. In: III ESCOLA REGIONAL DE B ANCO DE DADOS, 2007. p.144–153.
[SCH 08a] SCHROEDER, R.; MELLO, R. S. Conversion of generalization hierarchies and union types from extended entity-re lationship model to an xml logical model. In: ACM SYMPOSIUM ON APPLIED COM PUTING, 2008.ACM Press, 2008. p.1036–1037.
[SCH 08b] SCHROEDER, R.; MELLO, R. S. Improving que ry performance on xml documents: A workload-driven design approach. In: D OCENG’08: ACM SYMPOSIUM ON DOCUMENT ENGINEERING, 2008 (no prelo).
[SCH 08c] SCHROEDER, R.; MELLO, R. S. XML Document Modeling from a Conceptual Schema. In: WORKSHOP ON ONTOLOGIES AND METAMODELING IN SOFTWARE AND DATA ENGINEERING (em co njuntocom o SBBD), 2008 (no prelo).
[WIW 06] WIWATWATTANA, N. E. A. Making designer schemas with colors. In: INTERNATIONAL CONFERENCE ON DATA ENGINEERING, 2006. IEEE Computer Society, 2006.