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

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

Trabalho Individual – PPGCC/UFSC – 20041/46 XDCL: uma proposta para controle de restrições de integridade de domínio em documentos XML Universidade Federal.

Apresentações semelhantes


Apresentação em tema: "Trabalho Individual – PPGCC/UFSC – 20041/46 XDCL: uma proposta para controle de restrições de integridade de domínio em documentos XML Universidade Federal."— Transcrição da apresentação:

1 Trabalho Individual – PPGCC/UFSC – 20041/46 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

2 Trabalho Individual – PPGCC/UFSC – 20042/46 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

3 Trabalho Individual – PPGCC/UFSC – 20043/46 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.

4 Trabalho Individual – PPGCC/UFSC – 20044/46 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.

5 Trabalho Individual – PPGCC/UFSC – 20045/46 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.

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

7 Trabalho Individual – PPGCC/UFSC – 20047/46 Restrições de Integridade (classificação) 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

8 Trabalho Individual – PPGCC/UFSC – 20048/46 Restrições de Integridade (classificação) 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

9 Trabalho Individual – PPGCC/UFSC – 20049/46 Restrições de Integridade (classificação) 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.

10 Trabalho Individual – PPGCC/UFSC – /46 Restrições de Integridade (classificação) 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.

11 Trabalho Individual – PPGCC/UFSC – /46 Restrições de Integridade (classificação) 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.

12 Trabalho Individual – PPGCC/UFSC – /46 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.

13 Trabalho Individual – PPGCC/UFSC – /46 SQL Relacional Domínio Básicas de Tabelas GeraisGatilhos Procedi- mentos Transa- çoes Momento de verificação a) Domínio Atributos DOMAIN, CHECK CHECK_ _ NOT DEFERRABLE Tipo_ TIPOS DE DADOS _ ___ NOT DEFERRABLE Tuplas__ ASSERTION, CHECK _ NOT DEFERRABLE Banco de dados__ ASSERTION, CHECK NOT DEFERRABLE ou DEFERRABLE Transição de estado DOMAIN, CHECK __ _ NOT DEFERRABLE b) Chaves candidatas _ UNIQUE, ____ NOT DEFERRABLE primárias _ PRIMARY KEY ____ NOT DEFERRABLE estrangeiras_ FOREIGN KEY _ ___ NOT DEFERRABLE c) Integridade referencial _ PRIMARY E FOREIGN KEY _ _ NOT DEFERRABLE d) Momento de Verificação IMEDIATO POSTERGA- DO NOT DEFERRABLE ou DEFERRABLE e) Baseada em eventos ___ _ NOT DEFERRABLE ou DEFERRABLE Relacional vs. SQL *

14 Trabalho Individual – PPGCC/UFSC – /46 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.

15 Trabalho Individual – PPGCC/UFSC – /46 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.

16 Trabalho Individual – PPGCC/UFSC – /46 XML (documento) Maria Aparecida Tavares Rua das Flores 1789 Centro Rio de Janeiro Atributo de um elemento Elemento Elemento raiz

17 Trabalho Individual – PPGCC/UFSC – /46 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.

18 Trabalho Individual – PPGCC/UFSC – /46 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.

19 Trabalho Individual – PPGCC/UFSC – /46 XML (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 Controles de integridade da DTD Exemplo DTD Declaração de atributo Declaração de elemento Conteúdo de um elemento Seqüência de sub-elementos Cardinalidade

20 Trabalho Individual – PPGCC/UFSC – /46 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;

21 Trabalho Individual – PPGCC/UFSC – /46 XML (XSD) Conteúdo de elementosSeqüê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 dadosChaves 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

22 Trabalho Individual – PPGCC/UFSC – /46 XML (exemplo XSD) tipos de dados herança Controle de conteúdo Controle de seqüência

23 Trabalho Individual – PPGCC/UFSC – /46 Restrições de integridade vs. DTD 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 ___ ID _ Estrangeiras ___ IDREF _ c) Integridade referencial ___ ID, IDREF _ d) Momento de Verificação IMEDIATO e) Baseada em eventos SAX/ DOM

24 Trabalho Individual – PPGCC/UFSC – /46 Restrições de integridade vs. XSD XSD Relacional Conteúdo de elementosSeqüê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

25 Trabalho Individual – PPGCC/UFSC – /46 Restrições de integridade vs. XSD XSD Relacional Conteúdo de atributos Padrões de atributosOcorrência de atributos Tipos de dadosChaves 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

26 Trabalho Individual – PPGCC/UFSC – /46 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 ---

27 Trabalho Individual – PPGCC/UFSC – /46 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 ----

28 Trabalho Individual – PPGCC/UFSC – /46 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); MOTIVAÇÕES

29 Trabalho Individual – PPGCC/UFSC – /46 Proposta 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. Como ?

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

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

32 Trabalho Individual – PPGCC/UFSC – /46 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).

33 Trabalho Individual – PPGCC/UFSC – /46 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

34 Trabalho Individual – PPGCC/UFSC – /46 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;

35 Trabalho Individual – PPGCC/UFSC – /46 Estudo de caso - exemplo 124 Hosp. Prontoclinicas Ltda 1452 Inst. de Neurologia Maria da Silva , , Adalgisa Severo 78 Saude Brasil Individual 65 Adao Soares , Maria do Carmo 77 Saude Brasil Coletivo 65 Adao Soares ,00

36 Trabalho Individual – PPGCC/UFSC – /46 Estudo de caso - exemplo 124 Hosp. Prontoclinicas Ltda 1452 Inst. de Neurologia Maria da Silva , , Adalgisa Severo 78 Saude Brasil Individual 65 Adao Soares , Maria do Carmo 77 Saude Brasil Coletivo 65 Adao Soares ,00 A data de lançamento de uma consulta deve ser menor ou igual a data de realização da mesma consulta

37 Trabalho Individual – PPGCC/UFSC – /46 Estudo de caso - exemplo 124 Hosp. Prontoclinicas Ltda 1452 Inst. de Neurologia Maria da Silva , , Adalgisa Severo 78 Saude Brasil Individual 65 Adao Soares , Maria do Carmo 77 Saude Brasil Coletivo 65 Adao Soares ,00 O valor do elemento total de consultas deve ser igual ao somatório dos elementos valor consulta

38 Trabalho Individual – PPGCC/UFSC – /46 Sintaxe XDCL [Expressão XPath] =,, ]> [expressão XPath] [expressão XPath] instruções XUpdate mensagem de aviso

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

40 Trabalho Individual – PPGCC/UFSC – /46 Exemplo de Check /dados/prestadores/consultas/consulta /dados/prestadores/consultas/consulta/data_lançamento /dados/prestadores/consultas/consulta/data_realização DATAS INVÁLIDAS, VERIFIQUE !

41 Trabalho Individual – PPGCC/UFSC – /46 Exemplo de Update /dados/prestadores/consultas /dados/prestadores/consultas/consulta/quantidade /dados/prestadores/consultas/qtde_consultas xdcl_oper1

42 Trabalho Individual – PPGCC/UFSC – /46 Exemplo de Remove /dados/prestadores/consultas /dados/prestadores/consultas/conferido OK

43 Trabalho Individual – PPGCC/UFSC – /46 Exemplo de Insert /dados/prestadores/consultas ok

44 Trabalho Individual – PPGCC/UFSC – /46 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)

45 Trabalho Individual – PPGCC/UFSC – /46 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 OK Estudo detalhado da sintaxe de checks, triggers e assertions da SQL OK Definição da linguagem XDCL com base no estudo da etapa anterior OK Implementação do parser XDCL Validação Redação da dissertação Defesa da dissertação

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


Carregar ppt "Trabalho Individual – PPGCC/UFSC – 20041/46 XDCL: uma proposta para controle de restrições de integridade de domínio em documentos XML Universidade Federal."

Apresentações semelhantes


Anúncios Google