XML, padrões,
armazenamento,
publicação e utilizações
Sistemas de Informação – Puc Minas
1
publicação e utilizações
Prof. Leonardo Grandinetti Chaves, MSc, PMP
SECOMP – PUC MINAS - 2013
Agenda
Introdução
Critérios
Suporte dos SGBDs
Ferramentas de Armazenamento
2
Ferramentas de Armazenamento
Experimentos e Análise
Conclusões
Trabalhos relacionados
Introdução
pessoa
Pessoa
Nome
Introdução
XML : descreve a
representação
dos dados
3
nome
Árvore para Dados XML
Modelo de Grafo
Sem uma limitação de profundidade
<pessoa>
<nome>Leonardo</nome>
<email>grandineti@hotmail.com</email>
</pessoa>
XML
<pessoa>
Nome: Leonardo
E-mail: grandineti@hotmail.com
Mês aniversário: outubro. Hobbie: leitura.Mês aniversário: outubro. Hobbie: leitura.
Estatura: mediana.
</pessoa>
4
Introdução
Os subelementos podem ser aninhados de
forma hierárquica
Marcação destina-se a delimitar os códigos
necessários ao processamento do documento
5
necessários ao processamento do documento
Documentos bem formados (sintaxe) e
Documentos válidos (associados a gramáticas
ou formalismos de esquemas)
XML e Esquemas
DTD
XML Schema
Outros
6
XML Schema
<xs:complexType name="Endereço">
<xs:sequence>
<xs:element name="Rua-numero" type="xs:string"/>
<xs:element name="Cidade" type="xs:string"/>
<xs:element name="Estado" type="xs:string"/><xs:element name="Estado" type="xs:string"/>
<xs:element name="Cep" type="xs:string"/>
</xs:sequence>
<xs:attribute name="tel contato" type="xs:string"/>
</xs:complexType>
7
Introdução
<Imovel>
<Proprietario>..</Proprietario>
<Descricao>..</Descricao>
<Endereco>..</Endereco>...</Imovel>
8
Proprietario Descricao Endereco
Esquemas
XML: XML-
Data, DCD,
DDML, Relax
NG, DTD, XML
Schema,
outros
Tabela:
Imovel
XML Schema Tipo complexo
<xs:complexType name="livro">
<xs:sequence>
<xs:element name="titulo" type="xs:string"/>
<xs:element name="autor" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
9
<xs:sequence>
<xs:element name="nome" type="xs:string"/>
<xs:element name="email" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
Introdução
Paralelamente à evolução do suporte dos
sistemas gerenciadores de bancos de
dados (SGBDs) comerciais no
armazenamento de documentos XML,
observa-se a crescente utilização das
ferramentas que traduzem esquemas XML
10
observa-se a crescente utilização das
ferramentas que traduzem esquemas XML
em classes das linguagens de
programação orientadas a objetos
DOM 3
Introdução
O mapeamento da estrutura da árvore de
documentos XML para esquemas de
objetos fornece o suporte para algumas
abordagens de armazenamento de
documentos XMLdocumentos XML
Data Binding : consiste basicamente em
acoplar alguma linguagem de definição de
esquemas para XML em uma linguagem
tipada existente, traduzindo tipos de
documentos em uma hierarquia de
classes ou tipos de dado
11
Introdução
Abordagens de Armazenamento de
documentos XML: técnicas genéricas,regras
fixas,linguagens de consulta, etc.
12
Divergências quanto ao modelo mais
adequado para o armazenamento de
documentos XML
Introdução
Evolução do suporte dos sistemas
gerenciadores de bancos de dados (SGBDs)
comerciais no armazenamento de
documentos XML
13
Crescente utilização das ferramentas que
traduzem esquemas da XML em classes das
linguagens de programação orientadas a
objetos
Critérios
O mapeamento de elementos e atributos XML
para tabelas e colunas do banco de dados
O suporte para a modelagem do esquema do
banco de dados relacional
14
banco de dados relacional
O mapeamento dos documentos XML para um
modelo de objetos e o armazenamento em
sistemas de bancos de dados relacionais
Critérios
A geração ou não de tabelas adicionais para
atributos do tipo composto e/ou coleções das
classes
A tradução de tipos de dados simples,
incluindo as restrições
15
incluindo as restrições
A limitação para o controle da ordem dos
elementos do esquema do documento
A especificação do XML Schema
DTDs
Tipos de dados XML mais utilizados
Outros
SGBDs
Mapeamento de tipos de dados complexos
para o SGBD
Verificação dos relacionamentos
Documentos com conteúdo misto
Tipos de elementos não contemplados
Tipos de dados gerados na tradução para
o SGBD
16
SGBD´s comerciais
Oracle 9i->versão 10g
SQL Server 2000->versão 2005
IBM DB2 v.8
17
IBM DB2 v.8
Oracle 9i
Possibilita o armazenamento do documento
utilizando um tipo especial do tipo CLOB,
chamado XMLType
Ferramenta XSU: armazenamento dos
18
Ferramenta XSU: armazenamento dos
elementos e atributos por várias tabelas
(com maior granularidade), mas não
possibilita o armazenamento dos valores dos
atributos, que exigem transformação
Oracle 9i
Código Java...
Connection conn =
DriverManager.getConnection("jdbc:ora
19
DriverManager.getConnection("jdbc:ora
cle:oci:@","hr","hr");
OracleXMLSave sav = new
OracleXMLSave(conn, "employees");
sav.insertXML(sav.getURL(argv[0]));
<?xml version="1.0"?>
Oracle 9i
Regras fixas de mapeamento. Alternativa:
utilização da XSLT mas é preciso
customização adicional
20
<?xml version="1.0"?>
<ROWSET>
<ROW num="1">
<PROPRIET>JOSE</PROPRIET>
<DESC>APTO</DESC>
<CONT>JOAO</CONT>
<LOCAL>CONTORNO</LOCAL>
</ROW>
</ROWSET>
PROPRIET DESC CONT LOCAL
JOSE APTO JOAO CONTORNO
java OracleXML putXML -user
"scott/tiger" -fileName
“imovel.xml" “imovel"
21
Oracle 9i
SQL Server 2000
Especificação do mapeamento da estrutura
do documento para o banco de dados
baseada na linguagem XDR (XML-Data
Reduced Schema)
22
Alguns atributos são usados para declarar
uma tabela e uma coluna e o
relacionamento entre duas tabelas no
esquema do banco de dados
Xpath, Utilitário XML Bulk Load
SQL Server - mapeamento
<Imovel>
<Proprietario>..</Proprietario>
<Descricao>..</Descricao>
<Endereco>..</Endereco>...</Imovel>
23
<ElementType name="Imovel" sql:relation="Imovel">
<element type="Proprietario" sql:field="Proprietario" />
<element type="Descricao" sql:field="Descricao" />
<element type="Endereco" sql:field="Endereco" />
...
</ElementType>
SQL Server 2000
VBScript:
Set objBL =
CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
objBL.ConnectionString = "provider=SQLOLEDB.1;data
source=MeuServidor;database=MeuBD;uid=usuario;pwd=senha"
objBL.ErrorLogFile = "c:erro.log"
24
objBL.ErrorLogFile = "c:erro.log"
objBL.Execute "c:mapaImovel.xml", "c:imovel.xml“
Criação das tabelas de forma automática:
...
objBL.CheckConstraints=true
objBL.XMLFragment = True
objBL.SchemaGen = True
objBL.SGDropTables = True...
SQL Server
25
SQL Server
IBM DB2 v.8
XML Extender para o gerenciamento de
documentos XML e dois modelos para o
armazenamento relacional dos documentos:
XML Column e XML Collection
26
Possui uma linguagem de especificação do
mapeamento da estrutura do documento para
o esquema do banco de dados chamada
DAD (Data Access Definition)
IBM DB2 v.8
Possui suporte para uma API para permitir as
consultas(XQuery)
27
Os elementos são traduzidos para tabelas ou
colunas do banco de dados, os atributos são
mapeados para colunas e os relacionamentos
entre os elementos XML são mapeados para
os relacionamentos entre as chaves
primárias/estrangeiras das tabelas do banco
de dados
Suporte dos SGBD´s
O armazenamento de documentos XML
comumente exige a especificação do
mapeamento da estrutura do documento para
28
mapeamento da estrutura do documento para
o esquema do banco de dados
Proprietárias, limitadas para o mapeamento
das estruturas dos documentos XML e
encontram-se embutidas no SGBD
Intervencão do projetista
Ferramentas
XML-DBMS
Altova XML Spy
Castor, Especificação JAXB, Outras
29
Castor, Especificação JAXB, Outras
Edição de documentos XML
XML-DBMS
É um conjunto de classes Java, desenvolvidas
por BOURRET, que permite transferências de
informações entre os documentos XML e os
30
informações entre os documentos XML e os
SGBD´s
O conjunto de classes traduz o documento
como uma árvore de objetos e utiliza um
mapeamento objeto-relacional para mapear
esses objetos para um esquema de banco de
dados relacional
XML-DBMS
As classes são traduzidas para tabelas, as
propriedades são mapeadas para colunas
e as referências para o relacionamento
chave primária/chave estrangeira(DOM)
31
Gera a definição do esquema apenas para
bancos de dados relacionais
Inexistência de uma interface para a
manutenção do documento de
mapeamento
XML-DBMS
<!ELEMENT LIVRO (TITULO, CAPITULO+)>
<!ELEMENT TITULO (#PCDATA)>
<!ELEMENT CAPITULO (#PCDATA)>
CREATE TABLE "LIVRO" ("TITULO" VARCHAR(255) NOT
NULL,
32
NULL,
"LIVROPK" INTEGER NOT NULL,
CONSTRAINT PrimaryKey PRIMARY KEY ("LIVROPK"));
CREATE TABLE "CAPITULO" (
"CAPITULOPK" INTEGER NOT NULL,
"LIVROFK" INTEGER NOT NULL,
"CAPITULO" VARCHAR(255) NOT NULL,
CONSTRAINT PrimaryKey PRIMARY KEY ("CAPITULOPK"),
CONSTRAINT LIVROFK FOREIGN KEY ("LIVROFK")
REFERENCES "LIVRO" ("LIVROPK"));
Altova XML Spy
Ambiente de desenvolvimento de
aplicações que permite manipular, editar,
projetar e transformar documentos XML
com o suporte a XML Schema, DTD, XLST
e possui compatibilidade com padrões da
33
e possui compatibilidade com padrões da
indústria e os inúmeros SGBDs relacionais
e XML nativo
Altova XML Spy
O mapeamento de documentos XML é feito
para um modelo de objetos e uma interface
chamada XMLData possibilita a tradução do
formato DOM
34
Os processos de importação, exportação e
geração do esquema dos dados do documento
XML para os sistemas de bancos de dados
relacionais são feitos através dos métodos de
um objeto chamado Application (aplicação),
definido por esse modelo
35
Altova XML Spy
Altova XML Spy
CREATE TABLE [Teste].[dbo].[IMOVEL] (
[PROPRIETARIO] varchar (255) NOT NULL ,
[DESCRICAO] varchar (255) NOT NULL ,
[TIPO] varchar (255) NOT NULL ,
36
[TIPO] varchar (255) NOT NULL ,
[ENDERECO] varchar (255) NOT NULL ,
[CONTATO] varchar (255) NOT NULL ,
[VALORMAXIMO] varchar (255) NOT NULL ,
[VALORMINIMO] varchar (255) NOT NULL );
JAXB
A arquitetura JAXB constitui uma
referência de implementação de um
padrão de mapeamento para classes Java
A especificação define um conjunto de
37
A especificação define um conjunto de
regras-padrão para o mapeamento
Tipos: java.lang.string, etc.
JAXB
<xsd:schema
xmlns:xsd=http://www.w3.org/2001/XMLSchema xmln
s:jxb="http://java.sun.com/xml/ns/jaxb"
jxb:version="1.0">
<xsd:annotation>
<xsd:documentation>
38
<xsd:documentation>
Declaração das regras globais do documento
</xsd:documentation>
<xsd:appinfo>
<jxb:globalBindings
...="java.util.date"
---------------------
</jxb:globalBindings>
</xsd:appinfo>
</xsd:annotation>
Castor
Framework para os objetos XML e o esquema
XML
39
Possui um conjunto de APIs que facilitam a
conversão entre objetos Java e os arquivos
XML
Similarmente à ferramenta XML-DBMS, é
possível especificar e combinar o mapeamento
de objetos em arquivos externos
Análise
Suportam o mapeamento de tipos de
elementos complexos para classes e tipos
de elementos simples e atributos para
propriedades
40
Ferramentas que utilizam esse
mapeamento classificam, de forma
bastante simplificada, os tipos de
elementos em classes ou propriedades da
classe.
Análise
Possuem limitação na geração do esquema
para o SGBD relacional, exigindo a
intervenção do projetista
Mapeamento dos esquemas dos documentos
41
Mapeamento dos esquemas dos documentos
para o SGBD relacional
Determinação dos relacionamentos entre as
tabelas geradas para o SGBD relacional
Análise
Geração de tabelas adicionais para
atributos do tipo composto e/ou coleções
das classes
Tradução de tipos de dados simples,
42
Tradução de tipos de dados simples,
incluindo as restrições
Limitação para o controle da ordem dos
elementos do esquema do documento,
dentre outros
Análise
Especificação do XML Schema
Tipos de Dados
Especificação do mapeamento :
43
Especificação do mapeamento :
Ferramentas
SGBDs
Análise
A reconstrução do documento
Resumidamente, as classes são traduzidas
para tabelas, as propriedades são
mapeadas para colunas e as referências são
44
mapeadas para colunas e as referências são
mapeadas para o relacionamento chave
primária/chave estrangeira
Possibilidade de alteração do resultado do
mapeamento e a utilização do formato DOM
Análise
Limitações: cadeia de caracteres, geração do
script, reconstrução do documento,
especificação do XML Schema, diversas
linguagens para a especificação do
mapeamento, tabelas /colunas, campos do tipo
45
mapeamento, tabelas /colunas, campos do tipo
BLOB, suporte builtin dos SGBDs, regras fixas
Limitações na geração do esquema e
armazenamento
Necessidade de customização e Intervenção do
projetista
Conclusões
Aninhamento dos elementos e ordem dos
elementos
Predominantemente relacional
Relacionamentos
46
Padronização: modelo OR
Conclusões
A maior parte das ferramentas possui
uma ligação com os SGBDs e permite que
o armazenamento do documento XML
seja customizado, desde que se utilize
uma codificação adicional específica
47
uma codificação adicional específica
DOM
Conclusões
Ferramentas: campos caractere 255 posições,
blob
Objetos
Intervenção do projetista
SGBDs:
48
SGBDs:
a dificuldade de padronização;
necessidade de pré-especificação do modelo
de armazenamento dos documentos;
a complexidade da especificação do esquema
XML;
Regras fixas: predominantemente relacional
(BLOB).
Trabalhos Relacionados e
Futuros
Trabalhos Relacionados
Futuros
Análise das novas versões
Suporte nativo
49
Suporte nativo
SGBDs gratuitos
XQuery
Framework
Dúvidas
50

Xml pucminas2013

  • 1.
    XML, padrões, armazenamento, publicação eutilizações Sistemas de Informação – Puc Minas 1 publicação e utilizações Prof. Leonardo Grandinetti Chaves, MSc, PMP SECOMP – PUC MINAS - 2013
  • 2.
    Agenda Introdução Critérios Suporte dos SGBDs Ferramentasde Armazenamento 2 Ferramentas de Armazenamento Experimentos e Análise Conclusões Trabalhos relacionados
  • 3.
    Introdução pessoa Pessoa Nome Introdução XML : descrevea representação dos dados 3 nome Árvore para Dados XML Modelo de Grafo Sem uma limitação de profundidade <pessoa> <nome>Leonardo</nome> <email>grandineti@hotmail.com</email> </pessoa>
  • 4.
    XML <pessoa> Nome: Leonardo E-mail: grandineti@hotmail.com Mêsaniversário: outubro. Hobbie: leitura.Mês aniversário: outubro. Hobbie: leitura. Estatura: mediana. </pessoa> 4
  • 5.
    Introdução Os subelementos podemser aninhados de forma hierárquica Marcação destina-se a delimitar os códigos necessários ao processamento do documento 5 necessários ao processamento do documento Documentos bem formados (sintaxe) e Documentos válidos (associados a gramáticas ou formalismos de esquemas)
  • 6.
    XML e Esquemas DTD XMLSchema Outros 6
  • 7.
    XML Schema <xs:complexType name="Endereço"> <xs:sequence> <xs:elementname="Rua-numero" type="xs:string"/> <xs:element name="Cidade" type="xs:string"/> <xs:element name="Estado" type="xs:string"/><xs:element name="Estado" type="xs:string"/> <xs:element name="Cep" type="xs:string"/> </xs:sequence> <xs:attribute name="tel contato" type="xs:string"/> </xs:complexType> 7
  • 8.
  • 9.
    XML Schema Tipocomplexo <xs:complexType name="livro"> <xs:sequence> <xs:element name="titulo" type="xs:string"/> <xs:element name="autor" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> 9 <xs:sequence> <xs:element name="nome" type="xs:string"/> <xs:element name="email" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:integer"/> </xs:complexType>
  • 10.
    Introdução Paralelamente à evoluçãodo suporte dos sistemas gerenciadores de bancos de dados (SGBDs) comerciais no armazenamento de documentos XML, observa-se a crescente utilização das ferramentas que traduzem esquemas XML 10 observa-se a crescente utilização das ferramentas que traduzem esquemas XML em classes das linguagens de programação orientadas a objetos DOM 3
  • 11.
    Introdução O mapeamento daestrutura da árvore de documentos XML para esquemas de objetos fornece o suporte para algumas abordagens de armazenamento de documentos XMLdocumentos XML Data Binding : consiste basicamente em acoplar alguma linguagem de definição de esquemas para XML em uma linguagem tipada existente, traduzindo tipos de documentos em uma hierarquia de classes ou tipos de dado 11
  • 12.
    Introdução Abordagens de Armazenamentode documentos XML: técnicas genéricas,regras fixas,linguagens de consulta, etc. 12 Divergências quanto ao modelo mais adequado para o armazenamento de documentos XML
  • 13.
    Introdução Evolução do suportedos sistemas gerenciadores de bancos de dados (SGBDs) comerciais no armazenamento de documentos XML 13 Crescente utilização das ferramentas que traduzem esquemas da XML em classes das linguagens de programação orientadas a objetos
  • 14.
    Critérios O mapeamento deelementos e atributos XML para tabelas e colunas do banco de dados O suporte para a modelagem do esquema do banco de dados relacional 14 banco de dados relacional O mapeamento dos documentos XML para um modelo de objetos e o armazenamento em sistemas de bancos de dados relacionais
  • 15.
    Critérios A geração ounão de tabelas adicionais para atributos do tipo composto e/ou coleções das classes A tradução de tipos de dados simples, incluindo as restrições 15 incluindo as restrições A limitação para o controle da ordem dos elementos do esquema do documento A especificação do XML Schema DTDs Tipos de dados XML mais utilizados Outros
  • 16.
    SGBDs Mapeamento de tiposde dados complexos para o SGBD Verificação dos relacionamentos Documentos com conteúdo misto Tipos de elementos não contemplados Tipos de dados gerados na tradução para o SGBD 16
  • 17.
    SGBD´s comerciais Oracle 9i->versão10g SQL Server 2000->versão 2005 IBM DB2 v.8 17 IBM DB2 v.8
  • 18.
    Oracle 9i Possibilita oarmazenamento do documento utilizando um tipo especial do tipo CLOB, chamado XMLType Ferramenta XSU: armazenamento dos 18 Ferramenta XSU: armazenamento dos elementos e atributos por várias tabelas (com maior granularidade), mas não possibilita o armazenamento dos valores dos atributos, que exigem transformação
  • 19.
    Oracle 9i Código Java... Connectionconn = DriverManager.getConnection("jdbc:ora 19 DriverManager.getConnection("jdbc:ora cle:oci:@","hr","hr"); OracleXMLSave sav = new OracleXMLSave(conn, "employees"); sav.insertXML(sav.getURL(argv[0]));
  • 20.
    <?xml version="1.0"?> Oracle 9i Regrasfixas de mapeamento. Alternativa: utilização da XSLT mas é preciso customização adicional 20 <?xml version="1.0"?> <ROWSET> <ROW num="1"> <PROPRIET>JOSE</PROPRIET> <DESC>APTO</DESC> <CONT>JOAO</CONT> <LOCAL>CONTORNO</LOCAL> </ROW> </ROWSET> PROPRIET DESC CONT LOCAL JOSE APTO JOAO CONTORNO java OracleXML putXML -user "scott/tiger" -fileName “imovel.xml" “imovel"
  • 21.
  • 22.
    SQL Server 2000 Especificaçãodo mapeamento da estrutura do documento para o banco de dados baseada na linguagem XDR (XML-Data Reduced Schema) 22 Alguns atributos são usados para declarar uma tabela e uma coluna e o relacionamento entre duas tabelas no esquema do banco de dados Xpath, Utilitário XML Bulk Load
  • 23.
    SQL Server -mapeamento <Imovel> <Proprietario>..</Proprietario> <Descricao>..</Descricao> <Endereco>..</Endereco>...</Imovel> 23 <ElementType name="Imovel" sql:relation="Imovel"> <element type="Proprietario" sql:field="Proprietario" /> <element type="Descricao" sql:field="Descricao" /> <element type="Endereco" sql:field="Endereco" /> ... </ElementType>
  • 24.
    SQL Server 2000 VBScript: SetobjBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad") objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MeuServidor;database=MeuBD;uid=usuario;pwd=senha" objBL.ErrorLogFile = "c:erro.log" 24 objBL.ErrorLogFile = "c:erro.log" objBL.Execute "c:mapaImovel.xml", "c:imovel.xml“ Criação das tabelas de forma automática: ... objBL.CheckConstraints=true objBL.XMLFragment = True objBL.SchemaGen = True objBL.SGDropTables = True...
  • 25.
  • 26.
    IBM DB2 v.8 XMLExtender para o gerenciamento de documentos XML e dois modelos para o armazenamento relacional dos documentos: XML Column e XML Collection 26 Possui uma linguagem de especificação do mapeamento da estrutura do documento para o esquema do banco de dados chamada DAD (Data Access Definition)
  • 27.
    IBM DB2 v.8 Possuisuporte para uma API para permitir as consultas(XQuery) 27 Os elementos são traduzidos para tabelas ou colunas do banco de dados, os atributos são mapeados para colunas e os relacionamentos entre os elementos XML são mapeados para os relacionamentos entre as chaves primárias/estrangeiras das tabelas do banco de dados
  • 28.
    Suporte dos SGBD´s Oarmazenamento de documentos XML comumente exige a especificação do mapeamento da estrutura do documento para 28 mapeamento da estrutura do documento para o esquema do banco de dados Proprietárias, limitadas para o mapeamento das estruturas dos documentos XML e encontram-se embutidas no SGBD Intervencão do projetista
  • 29.
    Ferramentas XML-DBMS Altova XML Spy Castor,Especificação JAXB, Outras 29 Castor, Especificação JAXB, Outras Edição de documentos XML
  • 30.
    XML-DBMS É um conjuntode classes Java, desenvolvidas por BOURRET, que permite transferências de informações entre os documentos XML e os 30 informações entre os documentos XML e os SGBD´s O conjunto de classes traduz o documento como uma árvore de objetos e utiliza um mapeamento objeto-relacional para mapear esses objetos para um esquema de banco de dados relacional
  • 31.
    XML-DBMS As classes sãotraduzidas para tabelas, as propriedades são mapeadas para colunas e as referências para o relacionamento chave primária/chave estrangeira(DOM) 31 Gera a definição do esquema apenas para bancos de dados relacionais Inexistência de uma interface para a manutenção do documento de mapeamento
  • 32.
    XML-DBMS <!ELEMENT LIVRO (TITULO,CAPITULO+)> <!ELEMENT TITULO (#PCDATA)> <!ELEMENT CAPITULO (#PCDATA)> CREATE TABLE "LIVRO" ("TITULO" VARCHAR(255) NOT NULL, 32 NULL, "LIVROPK" INTEGER NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY ("LIVROPK")); CREATE TABLE "CAPITULO" ( "CAPITULOPK" INTEGER NOT NULL, "LIVROFK" INTEGER NOT NULL, "CAPITULO" VARCHAR(255) NOT NULL, CONSTRAINT PrimaryKey PRIMARY KEY ("CAPITULOPK"), CONSTRAINT LIVROFK FOREIGN KEY ("LIVROFK") REFERENCES "LIVRO" ("LIVROPK"));
  • 33.
    Altova XML Spy Ambientede desenvolvimento de aplicações que permite manipular, editar, projetar e transformar documentos XML com o suporte a XML Schema, DTD, XLST e possui compatibilidade com padrões da 33 e possui compatibilidade com padrões da indústria e os inúmeros SGBDs relacionais e XML nativo
  • 34.
    Altova XML Spy Omapeamento de documentos XML é feito para um modelo de objetos e uma interface chamada XMLData possibilita a tradução do formato DOM 34 Os processos de importação, exportação e geração do esquema dos dados do documento XML para os sistemas de bancos de dados relacionais são feitos através dos métodos de um objeto chamado Application (aplicação), definido por esse modelo
  • 35.
  • 36.
    Altova XML Spy CREATETABLE [Teste].[dbo].[IMOVEL] ( [PROPRIETARIO] varchar (255) NOT NULL , [DESCRICAO] varchar (255) NOT NULL , [TIPO] varchar (255) NOT NULL , 36 [TIPO] varchar (255) NOT NULL , [ENDERECO] varchar (255) NOT NULL , [CONTATO] varchar (255) NOT NULL , [VALORMAXIMO] varchar (255) NOT NULL , [VALORMINIMO] varchar (255) NOT NULL );
  • 37.
    JAXB A arquitetura JAXBconstitui uma referência de implementação de um padrão de mapeamento para classes Java A especificação define um conjunto de 37 A especificação define um conjunto de regras-padrão para o mapeamento Tipos: java.lang.string, etc.
  • 38.
    JAXB <xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema xmln s:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="1.0"> <xsd:annotation> <xsd:documentation> 38 <xsd:documentation> Declaração dasregras globais do documento </xsd:documentation> <xsd:appinfo> <jxb:globalBindings ...="java.util.date" --------------------- </jxb:globalBindings> </xsd:appinfo> </xsd:annotation>
  • 39.
    Castor Framework para osobjetos XML e o esquema XML 39 Possui um conjunto de APIs que facilitam a conversão entre objetos Java e os arquivos XML Similarmente à ferramenta XML-DBMS, é possível especificar e combinar o mapeamento de objetos em arquivos externos
  • 40.
    Análise Suportam o mapeamentode tipos de elementos complexos para classes e tipos de elementos simples e atributos para propriedades 40 Ferramentas que utilizam esse mapeamento classificam, de forma bastante simplificada, os tipos de elementos em classes ou propriedades da classe.
  • 41.
    Análise Possuem limitação nageração do esquema para o SGBD relacional, exigindo a intervenção do projetista Mapeamento dos esquemas dos documentos 41 Mapeamento dos esquemas dos documentos para o SGBD relacional Determinação dos relacionamentos entre as tabelas geradas para o SGBD relacional
  • 42.
    Análise Geração de tabelasadicionais para atributos do tipo composto e/ou coleções das classes Tradução de tipos de dados simples, 42 Tradução de tipos de dados simples, incluindo as restrições Limitação para o controle da ordem dos elementos do esquema do documento, dentre outros
  • 43.
    Análise Especificação do XMLSchema Tipos de Dados Especificação do mapeamento : 43 Especificação do mapeamento : Ferramentas SGBDs
  • 44.
    Análise A reconstrução dodocumento Resumidamente, as classes são traduzidas para tabelas, as propriedades são mapeadas para colunas e as referências são 44 mapeadas para colunas e as referências são mapeadas para o relacionamento chave primária/chave estrangeira Possibilidade de alteração do resultado do mapeamento e a utilização do formato DOM
  • 45.
    Análise Limitações: cadeia decaracteres, geração do script, reconstrução do documento, especificação do XML Schema, diversas linguagens para a especificação do mapeamento, tabelas /colunas, campos do tipo 45 mapeamento, tabelas /colunas, campos do tipo BLOB, suporte builtin dos SGBDs, regras fixas Limitações na geração do esquema e armazenamento Necessidade de customização e Intervenção do projetista
  • 46.
    Conclusões Aninhamento dos elementose ordem dos elementos Predominantemente relacional Relacionamentos 46 Padronização: modelo OR
  • 47.
    Conclusões A maior partedas ferramentas possui uma ligação com os SGBDs e permite que o armazenamento do documento XML seja customizado, desde que se utilize uma codificação adicional específica 47 uma codificação adicional específica DOM
  • 48.
    Conclusões Ferramentas: campos caractere255 posições, blob Objetos Intervenção do projetista SGBDs: 48 SGBDs: a dificuldade de padronização; necessidade de pré-especificação do modelo de armazenamento dos documentos; a complexidade da especificação do esquema XML; Regras fixas: predominantemente relacional (BLOB).
  • 49.
    Trabalhos Relacionados e Futuros TrabalhosRelacionados Futuros Análise das novas versões Suporte nativo 49 Suporte nativo SGBDs gratuitos XQuery Framework
  • 50.