TRABALHO FINAL DE BANCO DE DADOS II
Autor: Lucas Molina | Publicado: 2010-06-17T15:45:00-07:00

Alunos: José Rodrigo FerraroPaulo César Simplício CustódioCarlos Bernardi JuniorJosé Sidnei Zuchi GuirroLucas Rodrigues MolinaJoão Paulo Machado VieraYuri de Oliveira BrazBANCO DE DADOS MULTIMÍDIAOs conceitos do banco de dados multimídiaO banco de dados multimídia apresenta informações em formato de multimídia, se caracterizam pela incorporação de mídia contínua como vídeo, áudio, gráficos, animação, armazena textos e outros tipos de dados dentro de uma aplicação que resultará em uma forma de comunicação.A primeira forma armazena apenas a localização do objeto multimídia no sistema operacional dentro do campo destinado a imagem, a segunda forma armazena os objetos em forma de uma cadeia binária, a terceira forma utiliza funções externas aos SGBDs para prover o armazenamento, e a quarta forma permite a criação de tipos de objetos e utilização de herança entre os mesmos.Com a utilização dos SGBDs em aplicações multimídia, eles passaram a ser os principais fatores para o desempenho das mesmas. Um bom desempenho na recuperação dos objetos multimídia influi diretamente no desempenho da aplicação, pois os sistemas gerenciadores de banco de dados podem retardar o retorno dos objetos multimídia para a aplicação, proporcionando assim uma demora geral no sistema.Em relação às mídias de percepção, essas possuem diversos formatos de dados. Na seqüência, serão abordados os principais formatos:> Texto: Caracteriza-se por ser a mídia mais utilizada para interação entre sistemas informatizados e os usuários. Essa mídia é representada por uma cadeia de caracteres. Quando utilizada com outros tipos de mídia podem tornar-se descritores das mesmas.-> Gráfico: Caracteriza-se por representar desenhos, a partir de outros dados e/ou informações. O gráfico é formado por linhas, curvas, círculos, retângulos, entre outros. Também possui atributos que definem cor, textura, entre outras características.-> Imagem: Corresponde a desenho ou fotografia que está codificada em forma de bitmap (mapa de bits). O mapa de bits é uma matriz de n x m, onde cada célula (pixel) possui um valor para descrever seu conteúdo. As imagens são qualificadas de acordo com sua resolução, que é a quantidade de pixel em uma polegada quadrada (dpi). Quando uma imagem possui resolução de 300 dpi, significa que essa imagem possui 300 pixel em uma polegada quadrada. Com o intuito de diminuir o tamanho físico ocupado pelas imagens gravadas em disco, foram criados métodos de compactação. Esses métodos são cálculos matemáticos que procuram reduzir o número de pixels armazenados, sem alterar suas características.-> Áudio: É um dado registrado a partir de vibrações do ar em uma cadeia de bits de maneira digitalizada. Os microfones são os responsáveis por captar essas vibrações e transformá-las em sinais elétricos. Esses sinais podem sem enviados, por exemplo, para os computadores, onde são convertidos em uma cadeia de bits, formando assim o áudio digital. O áudio pode ser classificado em estruturado, onde é caracterizado por uma seqüência de dados de áudio juntamente com seus atributos de notas, tom, duração, entre outras características.-> Animação: São seqüências de imagens e/ou desenhos disponibilizados em um espaço temporal, as quais podem ou não utilizar áudio. -> Vídeo: Um conjunto de dados fotográficos disponibilizados em um espaço temporal. Os dados fotográficos são chamados de frames, que são imagens estáticas. No movimento de vídeo, frames são exibidos em um espaço de tempo. Dependendo do tipo de vídeo, em um segundo podem ser exibidos 33 frames.A multimídia alterou a maneira como os problemas e questões são expostos e interpretados. Isso ocorreu, devido à riqueza de informação quando utilizados textos, imagens e animações nas aplicações, tornando-as mais atrativas quando comparada com as que apresentam apenas um tipo de mídia.Nas consultas baseadas no conteúdo dos objetos, o sistema deverá ser capaz de fazer a distinção entre as características dos objetos. Ao solicitar ao sistema de banco de dados, a(s) imagem(s) de pessoa(s) perto de carro, o mesmo deve ser capaz de distinguir o conteúdo das imagens como é observado na figura 1.Alguns tipos de dados multimídia como seqüencias de vídeo, animação e áudio possuem requerimentos temporais que têm implicações em seu armazenamento, manipulação e apresentação. Essas características tornam-se mais crítica quando vários tipos de dados, oriundos de diversas fontes, precisam ser apresentados durante um intervalo de tempo. Por outro lado, imagens, gráficos e vídeos possuem restrições espaciais em termos do seu conteúdo. Normalmente, objetos individuais em uma imagem guardam algum relacionamento espacial entre si. Tais relacionamentos irão produzir algumas restrições com relação à pesquisa por algum objeto, em um banco de dados. O grande consumo de espaço para o armazenamento caracteriza o dado multimídia. Outro fator importante a considerar é o tráfego de grandes quantidades de dados multimídia pela rede, por uma grande distância. Assim considera-se as ferramentas de compactação muito importante para o armazenamento e o transporte de dados multimídia.Arquitetura do Banco de Dados MultimídiaO Banco de Dados Multimídia pode ser organizado de três maneiras, podendo ser conforme os princípios de autonomia, princípios de uniformidade e princípios de organização híbrida. A seguir será apresentados cada um desses princípios:->O princípio de autonomia: as imagens, os vídeos e os documentos, são organizados dentro de uma mídia - especifica para cada tipo de mídia.->O princípio de uniformidade: é usado uma única estrutura "A"onde é indexado todos os tipos de mídia (imagem, vídeo, documento, auditivo, etc).->O princípio de organização híbrida: uma terceira possibilidade é usar o princípio híbrido. De acordo com este princípio, certos tipos de mídia usam os próprios índices, enquanto outros usam índices unificados.Todas as três representações apresentam vantagens e desvantagens. A arquitetura baseada no princípio de autonomia requer a criação de algoritmos e uma estrutura de dados para cada tipo de mídia individual. Além disso, precisa-se de uma técnica que une estrutura de dados diferente.Acesso (Consulta e pesquisa)A particularidade nas pesquisas em ambientes multimídia é que seus resultados podem não estar baseados em total exatidão, mas em graus de similaridade.Recuperação dos Objetos - Lógica NebulosaEssa recuperação é feita com base nas informações armazenadas sobre as mídias, relativas a temas que as compõem (montanha, pessoa, barco, ...) e qualificadores desses temas (alta, bonita, grande, ...). A solução apresentada avalia a semântica envolvida entre temas e qualificadores de forma automatizada sem a intervenção do usuário.Consulta NebulosaO usuário, ao formular uma consulta, pode informar os temas desejados, os qualificadores para cada um dos temas, e as associações entre os temas. Adicionalmente, pode informar a similaridade mínima desejada para cada tema e qualificador. Além disso, se desejar, pode definir qual é a importância de cada tema e qualificador para a consulta, através da definição de um grau de relevância para eles. Se o usuário não estabelecer graus de similaridade, a consulta tem o comportamento de uma busca exata.Exemplo:• Recuperar imagens que contenham “morro alto gramado e mar azul com barco branco”.• O usuário utiliza uma interface que permite informar os seguintes dados:Tipo de mídia: tipos de objetos desejados, tais como: imagem, vídeo, texto ou todos os tipos;• Temas desejados: morro (0.9, 0.8), mar (0.8, 1.0) e barco (0.8, 0.8);• Qualificadores: alto (0.6, 0.8) e gramado (0.6, 1.0) para morro; azul (0.6, 1.0) para mar; e branco (0.8,1.0) para barco;• Associações: mar com barco.ModelagemEm geral, um sistema de banco de dados necessita suportar as seguintes propriedades: persistência, consistência, desacoplamento das aplicações, interface, acesso multi-usuário e possibilidade de recuperação em caso de falha. Para modelar dados multimídia utilizando SGBD’s convencionais, as seguintes técnicas podem ser usadas:Referências externas:Banco de dados simplesmente possui referências para arquivos que contém os objetos multimídia. Outros atributos podem conter informações como o título do documento, autor, etc. Nesse tipo de abordagem o SGBD não pode prover consistência, nem mesmo persistência dos dados, uma vez que os arquivos externos estão fora do seu controle.Armazenamento de dados multimídia não interpretados:O SGBD armazena os dados multimídia em atributos dos tipos campo longo ou BLOB (binary large object) para suportar multimídia. No entanto esses tipos reduzem a visão de dados multimídia simplesmente a largos dados não interpretados, o que não é adequado para a rica semântica dos dados multimídia. Em particular, operações dependentes de tempo não podem ser modeladas, ficando o SGBD atuando apenas como um armazenador de dados. Nesse caso o SGBD provê apenas a persistência dos dados, “bufferização” do acesso aos dados, suporte a multi-usuário, recuperação e controle de autorização. Os dados armazenados ainda não são interpretados e as funções disponíveis para operá-los são genéricas. Se não forem providos mecanismos de abstração, não é possível o desacoplamento das aplicações multimídia, em relação à semântica dos dados. Cada aplicação tem que implementar a semântica, por si mesma, inclusive determinar as técnicas de apresentação aplicáveis no objeto. Para processamento eficiente de dados contínuos, conceitos particulares de armazenamento e “bufferização” são necessários. Uma implementação baseada em campos longos de propósito geral não suporta tais mecanismos, em geral, em SGBD’s relacionais, o armazenamento e recuperação de documentos multimídia apresentam dificuldades adicionais, devido às estruturas hierárquicas complexas e estruturas seqüenciais, que tipicamente são difíceis de mapear para estruturas relacionais. Isso conduziria para muitas tabelas e expressões de recuperação complexas.Uso de funções externas:Para contornar essas limitações, alguns SGBD’s relacionais programaram algumas extensões para permitir a representação de tipos de dados multimídia e extensões da linguagem de consulta, como por exemplo, o STARBURST e o POSTGRESS/Ilustra. Extensibilidade permite funcionalidades externas a serem incorporadas ao sistema. Alguns SGBD’s permitem o uso de funções externas para processar dados armazenados no banco de dados. Isso é devido às limitações da linguagem de manipulação de dados como a SQL. Freqüentemente, é útil reusar algoritmos externos, programas e ferramentas no contexto de apresentações multimídia.Orientação a Objetos:Essa abordagem oferece mecanismos para extensão de tipos existentes e a definição de novos tipos (classes) junto com suas operações e oferece o suporte mais flexível, além de permitir a modelagem de relacionamentos complexos entre as entidades. Isso resulta num melhor suporte para modelar objetos multimídia estruturados complexos, a definição de tipos de mídia abstratos e operações sobre unidades de dados de mídia.Abstração de dados é muito importante para processar os documentos eficientemente, evitando duplicatas. Abstrações mais complexas podem ser usadas para indexar dados e prover um acesso rápido. As abstrações podem ser fornecidas pelo usuário ou pelo sistema, baseado no conteúdo dos dados multimídia. É interessante armazená-las, uma vez que sua computação pode ser bem cara. Deve ser possível prover várias camadas de abstração.SGBD’s orientados a objeto podem ser usados em aplicações que lidam com gráficos, textos e figuras. Documentos multimídia estáticos com estruturas complexas podem ser modelados sem restrições. Para mídia dependente de tempo e documentos dinâmicos, os problemas de acesso orientado a”stream”, acesso em tempo real e técnicas de armazenamento apropriadas continuam. Capacidades de modelagem temporal também faltam.Nenhuma das abordagens convencionais é capaz de suportar “constraints” de sincronização ou QOS. Isso conduz a uma deficiência da interface do banco de dados, na medida em que ele não pode suportar as operações providas pelo modelo apropriadamente. A situação torna-se mais séria em caso de acesso multi-usuário.Embora em muitas situações a semântica de dados multimídia possa ser representada em tipos de dados abstratos, isso pode resultar em baixa eficiência, uma vez que as operações não são diretamente implementadas pelos recursos do SGBD (linguagem de implementação, sistema operacional, etc.), mas em DML (database manegement language), que é interpretada .Tipos de DadosPara armazenamento e recuperação de dados multimídia, foram desenvolvidosno banco de dados Oracle os tipos de dados LOB (Large Objects). Segundo a Oracle (2000), os quatro tipos de dados LOBs são BLOB (Binary Large Objects), CLOB (Character Large Object), NCLOB (National Character Large Object) e BFILE (Binary File Object).No banco de dados SQL Server foram desenvolvidos os tipos de dados Image,Text e Ntext para armazenamento de tipos de dados multimídia maiores, que aceitam arquivos de até 2 GB de tamanho. Existem ainda outros tipos de dados, como o binary e o varbinary que armazenam pequenos objetos multimídia, como ícones e bitmaps.No Oracle, uma coluna BLOB pode armazenar objetos binários tais como gráficos, vídeos ou arquivos de áudio. Uma coluna CLOB armazena objetos caracteres simples, de largura fixa, como documentos de texto. Um tipo de coluna NCLOB é como o tipo de coluna CLOB, mas para conjunto de caracteres de múltiplos bytes. Estes três tipos são chamados de LOBs internos, porque ficam armazenados internamente a base de dados. (Oracle 2000).Existem ainda os chamados LOBs externos, que podem ficar armazenados em um CDROM, PhotoCD, ou diretamente em arquivos de um sistema operacional. Ao definir uma coluna de dados BFILE em tabela do banco de dados Oracle, é armazenado no banco de dados apenas um ponteiro a estes dados externos. Ao planejar a forma de armazenar os objetos, deve-se verificar o tamanho deles, quantas tabelas os acessarão e qual a freqüência de atualização. Primeiro deve-se decidir se os dados serão armazenados na mesma tabela ou em uma tabela separada, e então decidir se as necessidades serão melhor satisfeitas por um LOB interno ou externo. (Oracle 2000).Segundo Sherer, Gaynor, Valentinsen e Cursetjee (2000:410) um LOB interno tem como os mesmos benefícios proporcionados por um banco de dados a qualquer outro tipo de dado, “... tais como segurança, facilidade de gerenciamento, backup e recuperação e controle de transação”. Por exemplo, se uma linha for removida de uma tabela, o documento Word correspondente é removido com ela, se a coluna for do tipo BLOB; mas o documento não será removido se a coluna for definida como um tipo BFILE.AplicaçõesEntre as diversas aplicações que se beneficiam dos Bancos de DadosMultimídia, destacamos a TV Digital, que “... vem abrir oportunidades para aplicações de tecnologias oriundas de diversas áreas de pesquisa, notadamente as relacionadas ao armazenamento e recuperação de dados multimídia, em função da disponibilização da interatividade”, os Laudos Periciais ,onde “.. Foi desenvolvido um sistema de informação baseado em um banco de dados multimídia para Consulta a Laudos Periciais. Estes laudos contêm informações textuais, imagens,áudio e vídeo. Foi utilizado um sistema de gerenciamento de banco de dados (SGBD) baseado em modelo objeto-relacional (Oracle8i) da Oracle. Este tipo de SGBD é uma evolução das implementações de banco de dados baseados nos modelos relacional e orientado para objetos, e mostra ser adequado para o armazenamento e gerenciamento de dados multimídia.” e o GIS(SIG) – “um sistema que processa dados gráficos e não gráficos (alfanuméricos) com ênfase a análises espaciais e modelagens de superfícies.”Exemplos de SGBD que permitem sua implementação.Oracle 9i• InterMedia Audio, Video, Image Cartridge• Oracle ContextIBM DB2• DB2 Image Extender• DB2 Video ExtenderInformix• Excalibur Image Datablade Module• Informix Video Foundation Datablade• Excalibur Text DatabladeExemplos de Utilização:• Aplicações em multimídia podem ser encontradas onde exista a necessidade de gerenciar dados complexos.• Educação (treinamento local e a distância, bibliotecas digitais)• Saúde (tele medicina, bancos de dados de imagens médicas)• Entretenimento (jogos, vídeo sob demanda, TV interativa)• Negócios (vídeo conferência, comércio eletrônico)