Modelagem de Dados XML - Departamento de Informática · Modelagem de Dados XML – Motivação II...

117
ABRIL/2010 Modelagem de Dados XML Mini-curso: Ronaldo dos Santos Mello INE/CTC/UFSC [email protected] Rebeca Schroeder PPGInf/UFPR [email protected] GBD GBD GBD GBD GBD GBD GBD GBD UFSC UFSC UFSC UFSC UFSC UFSC UFSC UFSC 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 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 Catarina Santa Catarina Santa Catarina Santa Catarina Santa Catarina Santa Catarina Santa Catarina Santa Catarina

Transcript of Modelagem de Dados XML - Departamento de Informática · Modelagem de Dados XML – Motivação II...

ABRIL/2010

Modelagem de Dados XML

Mini-curso:

Ronaldo dos Santos MelloINE/CTC/UFSC

[email protected]

Rebeca SchroederPPGInf/UFPR

[email protected]

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> [email protected] </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>[email protected]</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 –Modelos lógicos utilizados

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

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

� Três regras de conversão propostas

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 1

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

Padrão Russian Doll

� Elementos devem ser definidos localmente onde serão utilizados

Padrão Salami Slice

� Elementos são definidos globalmente e referenciados onde serão utilizados

Padrão Venetian Blind

� Tipos são definidos globalmente e referenciados para definir elementos

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

Esquemas Normalizados XNão-normalizados

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 - Estrutura de aninhamento dos elementos

� Esquema convencional

Avaliação ExperimentalResultados - Estrutura de aninhamento dos elementos

� Esquema otimizado

Avaliação ExperimentalResultados - Estrutura de aninhamento dos elementos

� Esquema em pior caso

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

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

Obrigado!

Rebeca Schroeder ([email protected])Ronaldo S. Mello ([email protected])

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.