Banco de Dados e Internet Prof. Dr. Cláudio Baptista Plano de curso 1. Introdução à integração de BD com Web 2. Modelagem de dados semiestruturados - XML 3. Consulta a dados semi-estruturados XML 4. A Web Semântica 5. Estudos de Caso Introdução Revisando SGBD Qual o propósito de um SGBD? Independência de dados-programa Persistência de dados Concorrência Recuperação de falhas Processamento de consultas Controle de integridade Controle de Segurança Distribuição dos dados Introdução Revisando SGBD Características: Esquema pré-definido Esquema pouco muda uma vez definido Estrutura rígida Níveis de abstração: Externo, Conceitual, Lógico e Físico Linguagem de alto nível declarativa para definição e manipulação dos dados (DDL e DML) diz O QUE ao invés de COMO! Introdução Dados Estruturados Semi-estruturados Não-estruturados Introdução Dados Estruturados São os dados armazenados no SGBD’s com esquema rígido. Ex.: Create table Empregado (matricula int, nome varchar(30), salario float); A estrutura é conhecida a priori, então os comandos de inserção, seleção, atualização e remoção usam esta estrutura para manipular os dados Neste caso a integração com a Web se dá através do uso de um protocolo de conectividade, por exemplo JDBC. Introdução Dados Não-Estruturados São dados que não possuem nenhuma estrutura, tais como um texto, uma imagem, um video. Portanto, do ponto de vista do SGBD estes dados são considerados como uma caixa preta, que precisa ser lida como um stream (fluxo de bytes). Introdução Dados Semi-Estruturados São conhecidos pela ausência de esquema e por serem auto-descritivos. Apresentam uma representação estrutural heterogênea Introdução Dados Semi-Estruturados Possuem as seguintes características: Definição à posteriori Estrutura irregular (ex. curriculum vitae) Estrutura implícita Estrutura parcial Estrutura extensa Estrutura evolucionária Distinção entre estrutura e dados não é clara Introdução BD x Recuperação da Informação Duas culturas distintas no passado que precisam ser integradas no presente! Gestão de documentos SGML Documentação hipertexto HTML Gestão de dados Bases de dados estruturados (relacionais e objeto) Bases de dados semi-estruturadas Sistema de Recuperação de Informação Doc umentos Texto Atribuir id's aos doc umentos Quebrar o texto em pal avras Pal avras Atribuir pesos aos termos stop-words Palavras não-comuns Raízes Determi nar raízes (s tem ) Banco de Dados (Termos e Documentos ) Conjunto de documentos relevantes Raízes Determi nar raízes (s tem) Operações booleanas Termos da query Ranking Analisar query Pes quisa (query) Interfac e Query Julgamento de relevancia Doc umentos Us uário Introdução BD x Recuperação da Informação Parâmetros recuperação: qualidade da Recall (Retorno) R: total de itens significantes recuperados. de R = (número de itens relevantes recuperados) / (número de itens relevantes no sistema) Precisão (Cobertura) P: total significantes entre os recuperados. de itens P = (número de itens relevantes recuperados) / (número de itens recuperados) Introdução BD x Recuperação da Informação Itens Recupe rados R = a / (a+d) b itens não itens relevantes relevantes c a P = a/(a+b) d Introdução BD x Recuperação da Informação SRI Objetos Documentos SGBD Tabela Operações Recuperação probabilística Recuperação determinística Tamanho BD Pequeno a muito grande Pequeno a muito grande Introdução Visão da Web hoje: Documentos HTML Voltados para consumo humano Muitos são gerados automaticamente por aplicações Necessidade de um novo paradigma na Web Introdução Visão da Web hoje: Existem várias aplicações consumindo documentos HTML, usando uma tecnologia fraca O novo padrão XML na Web torna a troca de dados entre aplicações mais simples XML gerado por aplicações XML consumido por aplicações Troca de dados: Entre plataformas Entre empresas Introdução A comunidade de BD pode ajudar nos seguintes pontos: otimização e processamento de consultas visões data warehouses, sistema de integração de dados Mediadores, reescrita de consultas Armazenamento secundário, indexação Busca na Web Problema: Como melhorar os resultados das nossas buscas na Web? Tecnicamente: Como maximizar Recall e Precision? Busca na Web Desafios: Escala Diversidade Mudança constante