A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Trabalho Individual – PPGCC/UFSC – 2004

Apresentações semelhantes


Apresentação em tema: "Trabalho Individual – PPGCC/UFSC – 2004"— Transcrição da apresentação:

1 Trabalho Individual – PPGCC/UFSC – 2004
XDCL: uma proposta para controle de restrições de integridade de domínio em documentos XML Universidade Federal de Santa Catarina Programa de Pós-Graduação em Ciência da Computação Alexandre Tagliari Lazzaretti Prof. Dr. Ronaldo Santos Mello Orientador Trabalho Individual – PPGCC/UFSC – 2004

2 Trabalho Individual – PPGCC/UFSC – 2004
Roteiro Objetivos Restrições de Integridade e SQL (Structured Query Language) XML (eXtensible Markup Language) Restrições de Integridade vs. XML Motivação Proposta Dificuldades Cronograma Trabalho Individual – PPGCC/UFSC – 2004

3 Trabalho Individual – PPGCC/UFSC – 2004
Objetivo geral Propor um controle de restrições de integridade de domínio em documentos XML, inexistente na especificação de esquemas XML (DTD – Document Type Definition e XSD – XML Schema Definition), através de recursos semelhantes aos existentes na linguagem SQL. Trabalho Individual – PPGCC/UFSC – 2004

4 Objetivos específicos
Classificar as restrições de integridade do modelo relacional e comparar com os recursos existentes na linguagem SQL para seu tratamento; Analisar as especificações de esquemas XML com relação à imposição de restrições de integridade; Concentrar as necessidades levantadas no item anterior, na categoria de restrições de integridade de domínio; Analisar trabalhos relacionados; Propor um controle de restrições de integridade de domínio, com base nos recursos da linguagem SQL; Aplicar o controle num estudo de caso. Trabalho Individual – PPGCC/UFSC – 2004

5 Restrições de Integridade (conceitos)
“O termo integridade refere-se a precisão ou correção dos dados em um banco de dados.” (Date,2000) Para garantir a integridade de um banco de dados são necessárias regras que estabelecem a consistência dos dados, essas regras são chamadas “restrições de integridade”; Os autores estudados, Date, Silberchatz, Elmasri & Navathe e Heuser, classificam as restrições de integridade de várias formas; Foi estabelecida uma classificação única, com base nos autores, para restrições de integridade. Trabalho Individual – PPGCC/UFSC – 2004

6 Restrições de Integridade (classificação)
Domínio Chaves Integridade Referencial Momento de Verificação Baseada em eventos Trabalho Individual – PPGCC/UFSC – 2004

7 Restrições de Integridade (classificação)
Domínio Chaves Integridade Referencial Momento de Verificação Baseada em eventos Especificam quais os valores válidos cada atributo deve ter; Subdivide-se em: Restrições de atributo Restrições de tipo Restrições de tuplas Restrições de banco de dados Restrições de transição de estado Trabalho Individual – PPGCC/UFSC – 2004

8 Restrições de Integridade (classificação)
Domínio Chaves Integridade Referencial Momento de Verificação Baseada em eventos Identificam as tuplas e estabelecem relações entre tuplas de tabelas; Classifica-se em: candidatas primárias ou alternativas estrangeiras Trabalho Individual – PPGCC/UFSC – 2004

9 Restrições de Integridade (classificação)
Domínio Chaves Integridade Referencial Momento de Verificação Baseada em eventos Visam garantir que o banco de dados não inclua valores inválidos para chaves estrangeiras; Se B faz relação a A então A tem que existir. Trabalho Individual – PPGCC/UFSC – 2004

10 Restrições de Integridade (classificação)
Domínio Chaves Integridade Referencial Momento de Verificação Baseada em eventos Indica a questão de quando a verificação é feita; Pode ser de dois tipos: imediata e postergada. Trabalho Individual – PPGCC/UFSC – 2004

11 Restrições de Integridade (classificação)
Domínio Chaves Integridade Referencial Momento de Verificação Baseada em eventos São restrições programadas pelos usuários; Sua verificação é independente das operações de atualização. Trabalho Individual – PPGCC/UFSC – 2004

12 Trabalho Individual – PPGCC/UFSC – 2004
SQL (conceitos) SQL é a linguagem padrão para bancos de dados relacionais; Objetivo: verificar como SQL trata as restrições de integridade do modelo relacional. Trabalho Individual – PPGCC/UFSC – 2004

13 Relacional vs. SQL *  Trabalho Individual – PPGCC/UFSC – 2004 SQL
Domínio Básicas de Tabelas Gerais Gatilhos Procedi- mentos Transa- çoes Momento de verificação a) Domínio Atributos DOMAIN, CHECK CHECK _ NOT DEFERRABLE Tipo TIPOS DE DADOS Tuplas ASSERTION, CHECK Banco de dados NOT DEFERRABLE ou DEFERRABLE Transição de estado b) Chaves candidatas UNIQUE, primárias PRIMARY KEY estrangeiras FOREIGN KEY c) Integridade referencial PRIMARY E FOREIGN KEY d) Momento de Verificação IMEDIATO POSTERGA-DO e) Baseada em eventos * Trabalho Individual – PPGCC/UFSC – 2004

14 Trabalho Individual – PPGCC/UFSC – 2004
SQL (recursos) Assertions: predicados que expressam uma condição que deve ser sempre verdadeira no banco de dados; Checks: asseguram que os valores dos atributos possam satisfazer determinadas condições; Gatilhos: é um conjunto de instruções executadas automaticamente em decorrência de algum evento (ação); Procedimentos: são programas escritos que são executados através de uma chamada de aplicação. Trabalho Individual – PPGCC/UFSC – 2004

15 Trabalho Individual – PPGCC/UFSC – 2004
XML (conceitos) XML vem se consolidando um padrão para intercâmbio de dados na Web; Um conjunto de dados XML é descrito num documento XML; Características de um documento XML estrutura hierárquica; composto por texto e marcação; um dado XML é chamado elemento; tags (inicial e final) delimitam o conteúdo de um elemento; possui um elemento raiz; atributos são informações adicionais sobre um elemento. Trabalho Individual – PPGCC/UFSC – 2004

16 XML (documento) Elemento raiz <? xml version = ”1.0” encoding = ”UTF-8” standalone = “yes” > <pessoas> <codigo cpf=” ”> <nome> <primeiro> Maria </primeiro> <meio> Aparecida </meio> <sobrenome> Tavares </sobrenome> </nome> <endereco> <rua> Rua das Flores </rua> <numero> 1789 </numero> <bairro> Centro </bairro> </endereco> <cidade> Rio de Janeiro </cidade> </codigo> </pessoas> Atributo de um elemento Elemento Trabalho Individual – PPGCC/UFSC – 2004

17 Trabalho Individual – PPGCC/UFSC – 2004
XML (restrições) Um documento XML, no que se refere a restrições, classifica-se em: bem formado e válido; Documento XML bem formado deve estar de acordo com a sintaxe XML, ou seja, deve conter: elementos com tag inicial e tag final; elementos conter um único pai, com exceção do elemento raiz; valor dos atributos estar entre aspas. Um documento XML é dito válido se possui um esquema hierárquico definido e se a sua estrutura está de acordo com esse esquema; Existem 2 tipos de esquemas: DTD e XSD. Trabalho Individual – PPGCC/UFSC – 2004

18 Trabalho Individual – PPGCC/UFSC – 2004
XML (esquemas) “esquemas XML expressam vocabulários compartilhados, e fornecem uma maneira de definição de estrutura, conteúdo e semântica de documentos XML.” (W3C) DTD descreve o que cada elemento e atributo faz; os elementos podem ser simples ou complexos; ao declarar elementos, podem-se definir controles de conteúdo, seqüência e cardinalidade; ao declarar atributos, podem-se definir controles de tipo do atributo e de ocorrência. Trabalho Individual – PPGCC/UFSC – 2004

19 XML (DTD) Exemplo DTD Controles de integridade da DTD Cardinalidade
<?xml version =“1.0” encoding =“UTF-8” standalone =”yes”> <!DOCTYPE pessoas [ <! ELEMENT pessoa (codigo+)> <! ELEMENT codigo (nome, endereco, cidade)*> <! ATTLIST codigo cpf CDATA #REQUIRED> <! ELEMENT nome (primeiro, meio?, sobrenome)> <!ELEMENT primeiro (#PCDATA)> <!ELEMENT meio (#PCDATA)> <!ELEMENT sobrenome (#PCDATA)> <!ELEMENT endereco (rua, numero, bairro)> <!ELEMENT tipopessoa (cgc | rg)> <!ELEMENT rua (#PCDATA)> <!ELEMENT numero (#PCDATA)> <!ELEMENT bairro (#PCDATA)> <!ELEMENT cidade (#PCDATA)> <!ELEMENT cgc EMPTY> <!ELEMENT rg EMPTY> ]> Cardinalidade Declaração de atributo Seqüência de sub-elementos Declaração de elemento Conteúdo de um elemento Controles de integridade da DTD Conteúdos de elementos Seqüência de sub-elementos Cardinalidade de elementos Tipos de atributos Ocorrência de atributos ANY, EMPTY, MIXED, PCDATA VÍRGULA, BARRA VERTICAL +, *. ? CDATA, ENTITY, ENTITIES, NMTOKEN, NMTOKENS,NOTATION, ID, IDREF REQUIRED, IMPLIED, FIXED Trabalho Individual – PPGCC/UFSC – 2004

20 Trabalho Individual – PPGCC/UFSC – 2004
XML (XSD) Também é utilizado para definir elementos e atributos, semelhante a DTD, porém, com mais recursos; Principais vantagens do XSD com relação a DTD: tipos de dados (tanto para elementos quanto para atributos); permite herança; sintaxe XML; oferece mais controles. Permite definir elementos simples e complexos; Trabalho Individual – PPGCC/UFSC – 2004

21 XML (XSD) Conteúdo de elementos Seqüência e escolha de elementos
Padrões de elementos Ocorrência de elementos Qualquer conteúdo, Elementos vazios, Conteúdo simples, Conteúdo misto, Elementos referencia, Elementos complexos, Elementos ANY, Elementos GROUP Elemento SEQUENCE, Elemento CHOICE, Modelo complexo (SEQUENCE e CHOICE) Valores padrão (DEFAULT), Valores fixos (FIXED), Valores Enumerados (ENUMERATION) Elementos opcionais repetitivos (maxOccurs e minOccurs), Elemento ALL Conteúdo de atributos Padrões de atributos Ocorrência de atributos Tipos de dados Chaves e referências Em elementos vazios, Em elementos com conteúdo, Pertencentes a namespaces Com valores padrão (DEFAULT), Com valores fixos (FIXED), Valores enumerados (ENUMERATION) Requeridos e opcionais (USE) Tipos simples (SIMPLETYPE, FACETS), Tipos complexos (Devivações por extensão e restrição) UNIQUE, KEY, KEYREF Trabalho Individual – PPGCC/UFSC – 2004

22 Trabalho Individual – PPGCC/UFSC – 2004
XML (exemplo XSD) <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="nome"> <xs:complexType> <xs:attribute name="primeiro" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="endereco"> <xs:complexType mixed="true"> <xs:attribute name="complemento" type="xs:string"/> <xs:element name="cidade"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="uf" type="estados" default=”SC”/> </xs:extension> </xs:simpleContent> <xs:simpleType name="estados"> <xs:restriction base="xs:string"> <xs:enumeration value="RS"/> <xs:enumeration value="SC"/> </xs:restriction> </xs:simpleType> <xs:element name="pessoas"> <xs:sequence> <xs:element ref="nome"/> <xs:element ref="endereco"/> <xs:element ref="cidade"/> </xs:sequence> </xs:schema> tipos de dados Controle de conteúdo herança Controle de seqüência Trabalho Individual – PPGCC/UFSC – 2004

23 Restrições de integridade vs. DTD
Relacional Conteúdos de elementos Seqüência de sub-elementos Cardinalidade de elementos Tipos de atributos Ocorrência de atributos a) Domínio Tipo ANY, EMPTY, MIXED, PCDATA VÍRGULA, BARRA VERTICAL +, *. ? CDATA, ENTITY, ENTITIES, NMTOKEN, NMTOKENS,NOTATION _ Atributos REQUIRED, IMPLIED, FIXED Tuplas Banco de dados b) Chaves Candidatas ID Primárias Estrangeiras IDREF c) Integridade referencial ID, IDREF d) Momento de Verificação IMEDIATO e) Baseada em eventos SAX/ DOM SAX/DOM Trabalho Individual – PPGCC/UFSC – 2004

24 Restrições de integridade vs. XSD
Relacional Conteúdo de elementos Seqüência e escolha de elementos Padrões de elementos Ocorrência de elementos a) Domínio Tipo Qualquer conteúdo, Elementos vazios, Conteúdo simples, Conteúdo misto, Elementos referencia, Elementos complexos, Elementos ANY, Elementos GROUP Elemento SEQUENCE, Elemento CHOICE, Modelo complexo (SEQUENCE e CHOICE) _ Elementos opcionais repetitivos (maxOccurs e minOccurs), Elemento ALL Atributos Valores padrão (DEFAULT), Valores fixos (FIXED), Valores Enumerados (ENUMERATION) Tuplas banco de dados b) Chaves Candidatas Primárias Estrangeiras c) Integridade referencial d) Momento de Verificação IMEDIATO e) Baseada em eventos SAX/ DOM Trabalho Individual – PPGCC/UFSC – 2004

25 Restrições de integridade vs. XSD
Relacional Conteúdo de atributos Padrões de atributos Ocorrência de atributos Tipos de dados Chaves e referências a) Domínio Tipo Em elementos vazios, Em elementos com conteúdo, Pertencentes a namespaces ­_ Requeridos e opcionais (USE) Tipos simples (SIMPLETYPE, FACETS), Tipos complexos (Devivações por extensão e restrição) _ Atributos Com valores padrão (DEFAULT), Com valores fixos (FIXED), Valores enumerados (ENUMERATION) FACETS Tuplas Banco de dados b) Chaves Candidatas UNIQUE, KEY Primárias KEY Estrangeiras KEYREF c) Integridade referencial UNIQUE, KEY, KEYREF d) Momento de Verificação IMEDIATO e) Baseada em eventos SAX/ DOM Trabalho Individual – PPGCC/UFSC – 2004

26 Trabalhos Relacionados
Alguns trabalhos buscam adicionar restrições de integridade de domínio em documentos XML; “para incorporar restrições de integridade são necessários, uma linguagem para definí-las, e um mecanismo para controlá-las”; (Provost, 2002) Tabela – trabalhos vs relacional Trabalhos Relacional OGBUJI (2001) PROVOST (2002) BENEDIKT et al. (2002) BAYLEY et al. (2002) Domínio Tipo - Atributos Tuplas Banco de dados Baseada em eventos Trabalho Individual – PPGCC/UFSC – 2004

27 Trabalhos Relacionados
Tabela – trabalhos vs SQL Trabalhos SQL OGBUJI (2001) PROVOST (2002) BENEDIKT et al. (2002) BAYLEY et al. (2002) Domain - Check Assertion Gatilhos Procedimentos Transações Trabalho Individual – PPGCC/UFSC – 2004

28 Trabalho Individual – PPGCC/UFSC – 2004
MOTIVAÇÕES Conclusões Apenas um trabalho possui enfoque semelhante a maneira que SQL trata restrições de integridade de domínio, porém serve apenas para inserir e apagar elementos (Bayley et al., 2002); Necessidade de incorporar elementos predefinidos para controle de restrições de integridade nos esquemas XML (Ogbuji, 2001 e Benedikt et al., 2002); Geração de códigos extensos para a validação de documentos XML (Provost, 2002); Trabalho Individual – PPGCC/UFSC – 2004

29 Trabalho Individual – PPGCC/UFSC – 2004
Proposta Como ? Um mecanismo de controle de restrições de integridade de domínio para documentos XML, em específico, restrições de integridade de tuplas e de banco de dados; Para isso, usar como referência mecanismos existentes na linguagem SQL como: gatilhos, asserções e a cláusula check; Através de uma linguagem para especificação de restrições de integridade, que será chamada XDCL (XML Domain Constraints Language); Através de um parser de validação, chamado parser XDCL. Trabalho Individual – PPGCC/UFSC – 2004

30 Trabalho Individual – PPGCC/UFSC – 2004
Arquitetura Validação de RIs Trabalho Individual – PPGCC/UFSC – 2004

31 Trabalho Individual – PPGCC/UFSC – 2004
Arquitetura Em parte Representado bem formado/válido Validação de RIs Trabalho Individual – PPGCC/UFSC – 2004

32 Trabalho Individual – PPGCC/UFSC – 2004
Linguagem XDCL Características: independência do contexto XML; pode ser referenciado por um banco de dados nativo XML ou por um documento XML; documento texto, com extensão XDC; sintaxe XML (pode-se utilizar todos os recursos da tecnologia); é validado por um parser XML (questões de bem formado e válido) referência a um esquema XML (portanto, já incorporando seus controles de restrições de integridade). Trabalho Individual – PPGCC/UFSC – 2004

33 Trabalho Individual – PPGCC/UFSC – 2004
Parser XDCL Características: efetua a validação das expressões contidas no documento XDC contra as instâncias XML; Mostra o resultado da validação; Validação correta; Indicação de inconsistências. Realiza Checks Updates Inserts Removes Renames Appends Trabalho Individual – PPGCC/UFSC – 2004

34 Trabalho Individual – PPGCC/UFSC – 2004
Estudo de caso Domínio – Operadora de planos de saúde; Objetivo da operadora – prestar atendimento à saúde de seus usuários; Quem presta o atendimento – são os prestadores de serviço (médicos, laboratórios, clínicas, hospitais) MOTIVAÇÃO – troca constante de dados entre prestadores e operadora através de documentos XML; Finalidade dos dados – armazenamento num banco de dados ou geração de novas instâncias; Trabalho Individual – PPGCC/UFSC – 2004

35 Estudo de caso - exemplo
<dados> <instituicao> 124 </instituicao> <nome_instituicao> Hosp. Prontoclinicas Ltda </nome_instituicao> <prestadores> <prestador> 1452 </prestador> <nome_prestador> Inst. de Neurologia </nome_prestador> <responsavel> Maria da Silva </responsavel> <data_geracao> </data_geracao> <total_pagamentos> 54,00 </total_pagamentos> <consultas> <qtde_consultas> 2 </qtde_consultas> <total_consultas> 54,00 </total_consultas> <consulta> <autorizacao> </autorizacao> <data_lancamento> </data_lancamento> <paciente> </paciente> <nome_paciente> Adalgisa Severo </nome_paciente> <convenio> 78 </convenio> <nome_convenio> Saude Brasil Individual </nome_convenio> <medico> 65 </medico> <nome_medico> Adao Soares </nome_medico> <data_realizacao> </data_realizacao> <quantidade> 1 </quantidade> <valor_consulta> 27,00 </valor_consulta> </consulta> <autorizacao> </autorizacao> <data_lancamento> </data_lancamento> <paciente> 1245 </paciente> <nome_paciente> Maria do Carmo </nome_paciente> <convenio> 77 </convenio> <nome_convenio> Saude Brasil Coletivo </nome_convenio> <data_realizacao> </data_realizacao> </consultas> </prestadores> </dados> Trabalho Individual – PPGCC/UFSC – 2004

36 Estudo de caso - exemplo
<dados> <instituicao> 124 </instituicao> <nome_instituicao> Hosp. Prontoclinicas Ltda </nome_instituicao> <prestadores> <prestador> 1452 </prestador> <nome_prestador> Inst. de Neurologia </nome_prestador> <responsavel> Maria da Silva </responsavel> <data_geracao> </data_geracao> <total_pagamentos> 54, 00 </total_pagamentos> <consultas> <qtde_consultas> 2 </qtde_consultas> <total_consultas> 54,00 </total_consultas> <consulta> <autorizacao> </autorizacao> <data_lancamento> </data_lancamento> <paciente> </paciente> <nome_paciente> Adalgisa Severo </nome_paciente> <convenio> 78 </convenio> <nome_convenio> Saude Brasil Individual </nome_convenio> <medico> 65 </medico> <nome_medico> Adao Soares </nome_medico> <data_realizacao> </data_realizacao> <quantidade> 1 </quantidade> <valor_consulta> 27,00 </valor_consulta> </consulta> <autorizacao> </autorizacao> <data_lancamento> </data_lancamento> <paciente> 1245 </paciente> <nome_paciente> Maria do Carmo </nome_paciente> <convenio> 77 </convenio> <nome_convenio> Saude Brasil Coletivo </nome_convenio> <data_realizacao> </data_realizacao> </consultas> </prestadores> </dados> A data de lançamento de uma consulta deve ser menor ou igual a data de realização da mesma consulta Trabalho Individual – PPGCC/UFSC – 2004

37 Estudo de caso - exemplo
<dados> <instituicao> 124 </instituicao> <nome_instituicao> Hosp. Prontoclinicas Ltda </nome_instituicao> <prestadores> <prestador> 1452 </prestador> <nome_prestador> Inst. de Neurologia </nome_prestador> <responsavel> Maria da Silva </responsavel> <data_geracao> </data_geracao> <total_pagamentos> 54,00 </total_pagamentos> <consultas> <qtde_consultas> 2 </qtde_consultas> <total_consultas> 54,00 </total_consultas> <consulta> <autorizacao> </autorizacao> <data_lancamento> </data_lancamento> <paciente> </paciente> <nome_paciente> Adalgisa Severo </nome_paciente> <convenio> 78 </convenio> <nome_convenio> Saude Brasil Individual </nome_convenio> <medico> 65 </medico> <nome_medico> Adao Soares </nome_medico> <data_realizacao> </data_realizacao> <quantidade> 1 </quantidade> <valor_consulta> 27,00 </valor_consulta> </consulta> <autorizacao> </autorizacao> <data_lancamento> </data_lancamento> <paciente> 1245 </paciente> <nome_paciente> Maria do Carmo </nome_paciente> <convenio> 77 </convenio> <nome_convenio> Saude Brasil Coletivo </nome_convenio> <data_realizacao> </data_realizacao> </consultas> </prestadores> </dados> O valor do elemento total de consultas deve ser igual ao somatório dos elementos valor consulta Trabalho Individual – PPGCC/UFSC – 2004

38 Trabalho Individual – PPGCC/UFSC – 2004
Sintaxe XDCL <xdcl_constraint xdcl_name=”nome_constraint”> <xdcl_on> [Expressão XPath] </xdcl_on> <xdcl_statements> <xdcl_operations xdcl_operator=”[=,>=,<=,>,<,<>]”> <xdcl_oper1 [xdcl_function1=”[sum, count, max, min]”]> <xdcl_path1> [expressão XPath] </xdcl_path1> </xdcl_oper1> <xdcl_oper2 [xdcl_function2=”[sum, cont, max, min]”]> <xdcl_path2> [expressão XPath] </xdcl_path2> </xdcl_oper2> </xdcl_operations> <xdcl_return> <xdcl_update> instruções XUpdate </xdcl_update> <xdcl_insert> instruções XUpdate </xdcl_insert> <xdcl_delete> instruções XUpdate </xdcl_delete> <xdcl_message> <xdcl_data_message> mensagem de aviso </xdcl_data_message> </xdcl_message> </xdcl_return> </xdcl_statements> </xdcl_constraint> Trabalho Individual – PPGCC/UFSC – 2004

39 Trabalho Individual – PPGCC/UFSC – 2004
XSD da linguagem Documento do Word Trabalho Individual – PPGCC/UFSC – 2004

40 Trabalho Individual – PPGCC/UFSC – 2004
Exemplo de Check <?xml version="1.0" encoding="UTF-8"?> <xdcl_constraint xdcl_name="nome da restricao" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Mestrado\Trabalho Final\Dissertaçao\xdcl.xsd"> <!-- MOSTRA UMA MENSAGEM DE INCONSISTÊNCIA ENTRE OS ELEMENTOS DATA_LANCAMENTO E DATA_REALIZACAO--> <xdcl_on>/dados/prestadores/consultas/consulta</xdcl_on> <xdcl_statements> <xdcl_operations xdcl_operation=">="> <xdcl_oper1> <xdcl_path1>/dados/prestadores/consultas/consulta/data_lançamento</xdcl_path1> </xdcl_oper1> <xdcl_oper2> <xdcl_path2>/dados/prestadores/consultas/consulta/data_realização</xdcl_path2> </xdcl_oper2> </xdcl_operations> <xdcl_return> <xdcl_message> <xdcl_data_return>DATAS INVÁLIDAS, VERIFIQUE !</xdcl_data_return> </xdcl_message> </xdcl_return> </xdcl_statements> </xdcl_constraint> Trabalho Individual – PPGCC/UFSC – 2004

41 Trabalho Individual – PPGCC/UFSC – 2004
Exemplo de Update <?xml version="1.0" encoding="UTF-8"?> <xdcl_constraint xdcl_name="nome da restricao" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Mestrado\Trabalho Final\Dissertaçao\xdcl.xsd"> <!-- ATUALIZA O VALOR DO ELEMENTO QTDE_CONSULTAS COM O VALOR DE XDCL_OPER1--> <xdcl_on>/dados/prestadores/consultas</xdcl_on> <xdcl_statements> <xdcl_operations xdcl_operation="<>"> <xdcl_oper1 xdcl_function="sum"> <xdcl_path1>/dados/prestadores/consultas/consulta/quantidade</xdcl_path1> </xdcl_oper1> <xdcl_oper2> <xdcl_path2>/dados/prestadores/consultas/qtde_consultas</xdcl_path2> </xdcl_oper2> </xdcl_operations> <xdcl_return> <xdcl_update> <xupdate_modifications version="1.0" xupdate_xmlns="http://www.xmldb.org/xupdate"> <xupdate_update select="/dados/prestadores/consultas/qtde_consultas">xdcl_oper1</xupdate_update> </xupdate_modifications> </xdcl_update> </xdcl_return> </xdcl_statements> </xdcl_constraint> Trabalho Individual – PPGCC/UFSC – 2004

42 Trabalho Individual – PPGCC/UFSC – 2004
Exemplo de Remove <?xml version="1.0" encoding="UTF-8"?> <xdcl_constraint xdcl_name="nome da restricao" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Mestrado\Trabalho Final\Dissertaçao\xdcl.xsd"> <!-- REMOVE O ELEMENTO 'CONFERIDO' DESDE QUE ELE ESTEJA COM O VALOR 'OK' --> <xdcl_on>/dados/prestadores/consultas</xdcl_on> <xdcl_statements> <xdcl_operations xdcl_operation="="> <xdcl_oper1> <xdcl_path1>/dados/prestadores/consultas/conferido</xdcl_path1> </xdcl_oper1> <xdcl_oper2> <xdcl_path2>OK</xdcl_path2> </xdcl_oper2> </xdcl_operations> <xdcl_return> <xdcl_delete> <xupdate_modifications version="1.0" xupdate_xmlns="http://www.xmldb.org/xupdate"> <xupdate_remove select="conferido"></xupdate_remove> </xupdate_modifications> </xdcl_delete> </xdcl_return> </xdcl_statements> </xdcl_constraint> Trabalho Individual – PPGCC/UFSC – 2004

43 Trabalho Individual – PPGCC/UFSC – 2004
Exemplo de Insert <?xml version="1.0" encoding="UTF-8"?> <xdcl_constraint xdcl_name="nome da restricao" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Mestrado\Trabalho Final\Dissertaçao\xdcl.xsd"> <!-- INSERE O ELEMENTO CONFERIDO APÓS O ELEMENTO TOTAL_PAGAMENTOS COM O VALOR 'OK' --> <xdcl_on>/dados/prestadores/consultas</xdcl_on> <xdcl_statements> <xdcl_return> <xdcl_insert> <xupdate_modifications version="1.0" xupdate_xmlns="http://www.xmldb.org/xupdate"> <xupdate_insert-before select="\dados\prestadores\total_pagamentos"> <element name="conferido">ok</element> </xupdate_insert-before> </xupdate_modifications> </xdcl_insert> </xdcl_return> </xdcl_statements> </xdcl_constraint> Trabalho Individual – PPGCC/UFSC – 2004

44 Trabalho Individual – PPGCC/UFSC – 2004
Dificuldades Implementar no xsd controles da linguagem xupdate Momento que o parser de verificação será executado Bancos XML (eventos?) Documentos XML (ao alterar o documento) Trabalho Individual – PPGCC/UFSC – 2004

45 Cronograma de atividades
Meses Atividades Julho (2004) Agosto (2004) Setembro (2004) Outubro (2004) Novembro (2004) Dezembro (2004) Janeiro (2005) Defesa TI OK Adequação da proposta com sugestões da Banca do TI Estudo detalhado da sintaxe de checks, triggers e assertions da SQL Definição da linguagem XDCL com base no estudo da etapa anterior Implementação do parser XDCL Validação Redação da dissertação Defesa da dissertação Trabalho Individual – PPGCC/UFSC – 2004

46 Trabalho Individual – PPGCC/UFSC – 2004
Obrigado ! Trabalho Individual – PPGCC/UFSC – 2004


Carregar ppt "Trabalho Individual – PPGCC/UFSC – 2004"

Apresentações semelhantes


Anúncios Google