Trabalho Individual – PPGCC/UFSC – 2004 1/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
46
Embed
Trabalho Individual – PPGCC/UFSC – 20041/46 XDCL: uma proposta para controle de restrições de integridade de domínio em documentos XML Universidade Federal.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Trabalho Individual – PPGCC/UFSC – 2004 1/46
XDCL: uma proposta para controle de restrições de integridade de domínio em documentos XML
Universidade Federal de Santa CatarinaPrograma de Pós-Graduação em Ciência da Computação
Alexandre Tagliari Lazzaretti
Prof. Dr. Ronaldo Santos MelloOrientador
Trabalho Individual – PPGCC/UFSC – 2004 2/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
Trabalho Individual – PPGCC/UFSC – 2004 3/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.
Trabalho Individual – PPGCC/UFSC – 2004 4/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.
Trabalho Individual – PPGCC/UFSC – 2004 5/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.
Trabalho Individual – PPGCC/UFSC – 2004 6/46
Restrições de Integridade (classificação)
• Classificação:
• Domínio
• Chaves
• Integridade Referencial
• Momento de Verificação
• Baseada em eventos
Trabalho Individual – PPGCC/UFSC – 2004 7/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
Trabalho Individual – PPGCC/UFSC – 2004 8/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
Trabalho Individual – PPGCC/UFSC – 2004 9/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.
Trabalho Individual – PPGCC/UFSC – 2004 10/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.
Trabalho Individual – PPGCC/UFSC – 2004 11/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.
Trabalho Individual – PPGCC/UFSC – 2004 12/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.
• 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/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.
Trabalho Individual – PPGCC/UFSC – 2004 16/46
XML (documento)
<? xml version = ”1.0” encoding = ”UTF-8” standalone = “yes” ><pessoas>
<codigo cpf=”68458371049”><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
Elemento raiz
Trabalho Individual – PPGCC/UFSC – 2004 17/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.
Trabalho Individual – PPGCC/UFSC – 2004 18/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.
Trabalho Individual – PPGCC/UFSC – 2004 19/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<?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>
]>
Declaração de atributo
Declaração de elemento
Conteúdo de um elemento
Seqüência de sub-elementos
Cardinalidade
Trabalho Individual – PPGCC/UFSC – 2004 20/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;
Trabalho Individual – PPGCC/UFSC – 2004 21/46
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
<!-- MOSTRA UMA MENSAGEM DE INCONSISTÊNCIA ENTRE OS ELEMENTOS DATA_LANCAMENTO E DATA_REALIZACAO--><xdcl_on>/dados/prestadores/consultas/consulta</xdcl_on><xdcl_statements>
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"
<!-- 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="<>">
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"