UNIVERSIDADE FEDERAL DA PARAÍBA - CAMPUS II CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA Disciplina: Bancos de Dados Avançados Professor: Ulrich Schiel Período: 98.2 Aluno: Carlos Eduardo Santos Pires Mat. 98158162 "Bancos de Dados Hipermídia e Multimídia" Monografia Setembro de 1998 Diretor CCT – Benedito Aguiar Neto Chefe do Departamento – Francisco Vilar Brasileiro Coordenador COPIN – Marcus Costa Sampaio UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 2 SUMÁRIO 1. INTRODUÇÃO ___________________________________________________________________ 4 2. HIPERTEXTO ___________________________________________________________________ 5 2.1 O QUE É UM HIPERTEXTO? _____________________________________________________ 6 2.2 POR QUE HIPERTEXTO? ________________________________________________________ 6 2.3 NÓS____________________________________________________________________________ 7 2.4 REFERÊNCIAS (LINKS) E ÂNCORAS (BUTTONS) ___________________________________ 7 2.5 NAVEGAÇÃO ___________________________________________________________________ 8 2.6 HIPERTEXTO E BANCO DE DADOS ______________________________________________ 9 3. A HISTÓRIA DO CONCEITO DE HIPERTEXTO ____________________________________ 11 3.1 HISTÓRIA _____________________________________________________________________ 11 3.1.1 O MEMEX ____________________________________________________________________ 11 3.1.2 NLS _________________________________________________________________________ 11 3.1.3 O PROJETO XANADU _________________________________________________________ 12 3.2 SISTEMAS HIPERTEXTO _______________________________________________________ 12 3.2.1 HYPERCARD _________________________________________________________________ 12 3.2.2 NOTECARDS _________________________________________________________________ 14 3.2.3 GUIDE _______________________________________________________________________ 15 3.4 OUTROS SISTEMAS ____________________________________________________________ 16 4. PROJETO DE SISTEMAS DE HIPERTEXTO ________________________________________ 17 4.1 CONSIDERAÇÕES E LINHAS GERAIS DE PROJETO ______________________________ 18 4.1.1 METÁFORAS ________________________________________________________________ 18 4.1.2 NÓS _________________________________________________________________________ 18 4.1.3 REFERÊNCIAS _______________________________________________________________ 19 4.1.4 INTERFACE__________________________________________________________________ 20 4.1.5 NAVEGAÇÃO ________________________________________________________________ 21 4.1.6 PARTICULARIZAÇÃO ________________________________________________________ 21 5. HIPERMÍDIA ___________________________________________________________________ 21 5.1 ASPECTOS DE BANCO DE DADOS _______________________________________________ 22 UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 3 5.2 CONCEITOS ORIENTADOS A OBJETO E HIPERMÍDIA ____________________________ 23 5.3 REQUISITOS PARA A PRÓXIMA GERAÇÃO DE SISTEMAS HIPERMÍDIA ___________ 24 5.4 BANCOS DE DADOS ORIENTADOS A OBJETO E HIPERMÍDIA _____________________ 27 6. SISTEMAS MULTIMÍDIA ________________________________________________________ 27 6.1 DEFINIÇÃO ___________________________________________________________________ 28 6.2 BANCO DE DADOS MULTIMÍDIA _______________________________________________ 28 6.3 AMBIENTE DE BANCO DE DADOS MULTIMÍDIA _________________________________ 29 6.3.1 LINHAS GERAIS DE PROJETO ________________________________________________ 30 6.3.2 TRATAMENTO DE INFORMAÇÃO MULTIMÍDIA _______________________________ 30 6.4 ARMAZENAMENTO, ACESSO E TRANSMISSÃO DE INFORMAÇÃO ________________ 32 6.4.1 ASPECTO MULTIDISPOSITIVO ________________________________________________ 33 6.4.2 DISPOSITIVOS ÓTICOS _______________________________________________________ 34 6.5 INTERFACES DE COMUNICAÇÃO MULTIMÍDIA _________________________________ 36 7. CONCLUSÕES __________________________________________________________________ 36 BIBLIOGRAFIA ___________________________________________________________________ 37 A P Ê N D I C E ____________________________________________________________________ 39 CAPÍTULO 1- INTRODUÇÃO UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 4 Este trabalho se concentra em três linhas de pesquisa: banco de dados, sistemas de hipertexto e multimídia. Utilizaremos a seguinte seqüência como forma de apresentar nossas idéias: * Noções de hipertexto; * História e evolução dos sistemas de hipertexto; * Projeto de sistemas de hipertexto, onde são tratados os principais problemas de concepção e implementação de sistemas de hipertexto; * Hipermídia; * Ambientes de banco de dados multimídia. CAPÍTULO 2 - HIPERTEXTO UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 5 2.1 O que é um hipertexto? O mundo atual está sobrecarregado de informações. Isso não significa dizer que as mesmas estejam sendo mal utilizadas, mas que seu uso deixa muito a desejar dado os mecanismos de armazenamento e recuperação existentes. Uma das barreiras na exploração de informações é a falha na identificação de interconectividades que nos permitam reconhecer ligações e similaridades entre pedaços de informações que estão normalmente armazenadas em diferentes localizações. Hipertexto é uma ferramenta para construção e utilização de estruturas associativas. Um documento normal é linear e uma pessoa geralmente o lê do começo para o fim. Em contraste, hipertextos podem ser lidos através de "saltos" de acordo com o interesse de cada um. Um documento hipertexto se parece muito com um thesaurus. Um thesaurus não possui um simples início ou fim. Cada vez em que é consultado, inicializa numa posição distinta, baseado na palavra utilizada para começar a consulta. Um hipertexto pode ser pensado como um thesaurus enriquecido onde os links existem entre documentos e fragmentos de textos, ao invés de palavras. Hipertexto pode ser simplesmente definido como a criação e representação de links entre pedaços discretos de dados. Quando esses dados são sons ou gráficos, assim como texto ou números, a estrutura resultante é referenciada de hipermídia. Hipertexto é simultaneamente um método para armazenamento e recuperação de dados. Ele incorpora a noção de ligações entre pedaços de informações, permitindo aos usuários navegar através das mesmas. A informação é fornecida tanto pelo que é armazenado em cada nó quanto pela forma como os nós são ligados. Para nossos propósitos, hipertexto pode ser visto como um sistema de banco de dados com links irrestritos entre registros e arquivos. 2.2 Por que Hipertexto? Os propositores do hipertexto usaram termos como liberdade e acesso. O método tradicional de estruturação de bancos de dados é criar links de documentos individuais em termos de índices. Existem relativamente poucos links por documento, e não existem maneiras diretas de navegar no banco de dados. Mesmo na recuperação completa de textos, palavras e frases são utilizadas como índices pelo usuário. Dessa forma, a UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 6 recuperação convencional completa de um texto permite aos usuários criar seus próprios índices sem modificar a estrutura do acesso de recuperação. Hipertexto, ao contrário, permite a navegação dentro do espaço do documento. Assim, com hipertextos, pode-se mover de um documento para outro através de uma cadeia ou caminho de idéias. Existem inúmeras formas que justificam a existência de hipertextos. Podemos citar duas delas: Hipertexto corresponde a maneira associativa na qual as pessoas costumam pensar; Hipertexto é um princípio flexível de estruturação de conhecimento que pode ser utilizado para implementar e embutir outras estruturas de conhecimento. 2.3 Nós Os principais componentes de um sistema de hipertexto são nós e ligações. A essência dos hipertextos está na existência de nós ligados. O fundamento básico dos sistemas de hipertexto está na modularização das idéias de tal forma que: uma idéia possa ser referenciada em algum (ou vários) outros pontos; o leitor tenha possibilidade de escolher diferentes sucessores para uma idéia (mais detalhes, um exemplo, referências bibliográficas). O grande problema na definição de um nó em hipertexto é a dificuldade de definir o que cada um deve conter e qual deve ser seu tamanho. Alguns sistemas permitem que se atribua tipos aos nós. Por exemplo, podemos ter um nó que possua informação do tipo programa fonte, outro com informação do tipo código executável. Em alguns casos, os tipos dependem do meio utilizado: som, texto, gráficos, vídeo, etc. A existência de um único tipo de nó faz com que a interface seja simples e integrada, enquanto que um conjunto mais rico de meios (mídia) requer um sistema mais extensível, com editores especializados. 2.4 Referências (links) e Âncoras (buttons) UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 7 Uma referência está, em geral, diretamente relacionada com uma âncora. Uma âncora é uma região da tela sensível ao mouse (ou o dispositivo apontador que estiver sendo usado). Toda âncora é origem de uma referência. Um clique do mouse sobre uma âncora faz com que haja um salto para uma outra região do texto (ou imagem, ou música, ou animação). As ligações fornecem a estrutura de um hipertexto e podem possuir um conjunto de propriedades. Em um documento, pode haver ligações entre os pontos do próprio documento, entre documentos diferentes, ou entre um índice e o conteúdo correspondente, entre outras. Alguns sistemas permitem que a visualização das ligações seja desativada, de modo que o documento passa a ser visto como um texto linear comum. As ligações são direcionadas, podendo ser bidirecionais, e possuem duas extremidades: uma origem (referente) e uma destino (referido). Ligações bidirecionais permitem que o usuário, estando em qualquer nó, determine os possíveis nós a partir dos quais poderia ter chegado ao nó corrente. Da mesma forma que os nós, referências podem ter estrutura interna ou tipos (Figura 1) que fornecem maiores informações sobre seu destino. Por exemplo, o leitor pode saber, sem ter que seguir uma referência, se o nó destino contém uma imagem, um texto ou uma animação. Contradiz Generaliza Texto Filme Resume Figura 1 - Exemplos de referências tipadas Em sistemas de hipertexto com linguagem de consulta, a realização de buscas (ou queries) para navegação pode ser vista como geração dinâmica de ligações, com a diferença de não poder haver âncoras explícitas para as ligações. 2.5 Navegação UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 8 A navegação em sistemas de hipertexto ocorre principalmente por busca (search) e por “folheio” (browse) dos documentos. Uma busca ocorre quando se sabe a identificação ou rótulo de alguma informação e se quer apenas tal informação específica (por exemplo, localizar uma palavra em um texto). Folhear consiste no tipo de navegação no qual o leitor “pula” de um ponto a outro do documento, lendo alguns pequenos segmentos em cada trecho. Sistemas de hipertexto devem ajudar os usuários a entender e localizar suas posições correntes, facilitando a navegação pelo hiperespaço. Diversos tipos de interface podem ser usados para ajudar o processo de navegação: Visão hierárquica - o usuário vê um índice com estrutura de árvore em uma janela e, apontando o mouse para um item, pode ver o conteúdo do documento em outra janela; Visão “olho de peixe” - mostra em detalhes os pontos mais próximos e, em menor escala, as outras partes do documento; Visão de “viagens” - nas interfaces que utilizam esta metáfora, existem roteiros ou caminhos que são utilizados como guia de navegação, e o usuário pode seguir os nós especificados até o fim do roteiro, que normalmente termina no nó inicial; Mapas - o sistema pode proporcionar mapas de navegação em diversos níveis de detalhe. 2.6 Hipertexto e Banco de Dados A utilização do conceito de hipertexto no contexto de banco de dados é simples: as janelas sobre a tela são associadas a objetos de banco de dados e existem ligações entre estes objetos. Um sistema de hipertexto ideal para a manipulação de um banco de dados deve apresentar as seguintes características: o banco é uma rede de nós textuais (ou gráficos) que podem ser vistos como um hiperdocumento; cada janela tem um nome e corresponde a um nó no banco; podemos efetuar operações sobre as janelas (fechar, redimensionar); as janelas podem ter qualquer número de ligações representando apontadores para outros nós do banco; UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 9 o usuário pode facilmente criar outros nós e outras ligações para os novos nós ou para nós já existentes; o acesso ao banco de dados pode ser efetuado de três maneiras: 1. percorrendo as ligações e abrindo separadamente as janelas para visualização de seu conteúdo, 2. procurando na estrutura uma palavra-chave, um valor de atributo, etc., 3. navegando na estrutura com o auxílio de um browser; ter um enfoque subjacente orientado a objetos. Um sistema hipertexto constitui na realidade a união de três aplicações: um método de acesso a um banco de dados; um esquema de representações do tipo rede semântica; uma interface interativa orientada a objetos. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 10 CAPÍTULO 3 - A HISTÓRIA DO CONCEITO DE HIPERTEXTO No ano de 1945, Vannevar Bush propôs uma estrutura não-linear de texto que correspondia à natureza associativa da mente humana. Em 1965, Ted Nelson batizou de hipertexto tal texto não-linear e iniciou a implementação de hipertextos em computadores. 3.1 História 3.1.1 O Memex Em 1945, Bush descreveu uma máquina (memex), que podia ser utilizada para navegar num volumoso sistema gráfico e de texto online. O memex seria um “dispositivo no qual um indivíduo armazenaria todos os seus livros, registros e comunicações, e seria mecanizado de tal forma que pudesse ser consultado com alta flexibilidade e velocidade”. Ele permitiria a seleção de informação por associação, e não por indexação que é bastante ineficiente e artificial. Apesar do memex ter sido descrito na década de quarenta, apenas após vinte anos a tecnologia para sua implementação se tornou disponível, com o surgimento dos computadores digitais, e não em máquinas analógicas como previa Bush. 3.1.2 NLS Engelbart (1963) foi influenciado pela idéia do memex. Ele via a tecnologia computacional como a representação de um novo estágio na evolução humana. Suas idéias resultaram num sistema chamado NLS (oN Line System). NLS foi um sistema hipertexto pioneiro consistindo de arquivos organizados em segmentos de 3000 palavras ou menos que poderiam ser ligadas hierarquicamente ou não. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 11 3.1.3 O Projeto Xanadu A versão de Nelson para o conceito de hipertexto era mais expansiva em alguns casos que a de Engelbart, enfatizando a criação de um ambiente de literatura unificado numa escala global. A meta do Projeto Xanadu era deixar os recursos da literatura mundial online e usar hipertexto para ligá-los numa forma que facilitasse o uso dos mesmos. 3.2 Sistemas Hipertexto Desde a metade dos anos 80, acontece uma explosão no interesse por hipertexto, além do desenvolvimento de um grande número de sistemas hipertexto. Apesar desses sistemas se basearem na mesma noção de estruturação associativa de texto, gráficos e assim por diante, eles diferem em termos de implementação. Consideraremos agora alguns dos mais proeminentes sistemas de hipertexto. 3.2.1 HyperCard Desde sua introdução, HyperCard se tornou o sistema de hipertexto mais usado. Quase todo usuário Machintosh usa o sistema. Baseado na metáfora de cartão, um documento em Hypercard, denominado stack, é formado por um conjunto destes. Toda pilha começa por um cartão denominado home, e o tipo de navegação depende da programação efetuada pelo autor da pilha. HyperCard está associado a uma linguagem de desenvolvimento de aplicações (HyperTalk), que tanto pode ser utilizada para criar programas (scripts) como para entrar comandos diretamente através de uma janela (Message Box). Em ambos os casos, o script é interpretado. HyperCard é organizado em torno de uma estrutura hierárquica de categorias de objetos: 1. Card é objeto central do sistema. Cada cartão pode ter seu lay-out individualizado, e pode executar funções gráficas, textuais, computacionais e sonoras; UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 12 2. Background está acima de card na hierarquia. Diversos cartões podem ter um background comum; 3. Stack é um conjunto de cartões e backgrounds; 4. Home stack é um tipo especial de pilha sendo a primeira a ser ativada quando o HyperCard é executado; 5. HyperCard é o nível mais alto da hierarquia. Existem ainda objetos de níveis mais básicos: botões e campos, que também podem ter seu lay-out individualizado e ser associados a programas. A estrutura conceitual do ambiente HyperCard é ilustrada na Figura 2, com scripts HyperCard sendo ligados a vários elementos HyperCard, tais como: botões, campos e pilhas. Texto Gráficos Script -------Campo -------- Botão Ícone ? Card Background Stack Figura 2 - A estrutura conceitual do ambiente HyperCard Um botão num cartão pode ter o script mostrado na Figura 3. Neste simples exemplo, o script diz ao sistema para mover para o próximo cartão. Então, quando o usuário clica no ícone do botão (uma seta "Avançar"), o sistema mostra o próximo cartão na pilha. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 13 on mouse Up go to next card end mouse Up Figura 3 - Script HyperCard informando ao sistema para mover-se para o próximo card HyperCard também possui cinco níveis de envolvimento do usuário, conforme mostra a Figura 4. São eles: Folheador (browsing): modo apenas de leitura; Digitação (typing): permite a edição de texto; Pintura (painting): permite acesso à ferramenta de desenho gráfico; Autoria (authoring): permite a criação de campos e âncoras nos cartões; Programação (scripting): toda funcionalidade do sistema fica disponível. User Preferences User Name: User Level: Browsing Typing Painting Authoring Scripting Power Keys Blind Typing Figura 4 - O cartão de preferência do usuário HyperCard mostrando os cinco níveis de envolvimento do usuário 3.2.2 NoteCards O sistema foi projetado para ajudar pessoas a trabalhar com idéias. Para tal, fornece uma rede de cartões eletrônicos ligados por nós tipados. Esta rede serve como um meio onde o usuário pode representar conjuntos de idéias relacionadas, além de servir como estrutura para organizar, armazenar UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 e recuperar informações. 14 Adicionalmente, o sistema possui mecanismos para mostrar, modificar, manipular e navegar através da rede. É baseado em duas construções básicas: ligações e cartões. Existem dois tipos especiais de cartões: folheadores (browsers) e fileboxes, que ajudam o usuário a administrar grandes redes de cartões e ligações. Cada cartão contém um volume arbitrário de informações passíveis de edição tal como um texto ou uma imagem. Existem alguns tipos de cartões que são diferenciados pelo tipo de informação que possuem, texto ou graphics. Um folheador é um cartão que contém um diagrama estrutural de uma rede de cartões. Os fileboxes são cartões que podem ser usados para organizar ou categorizar grandes quantidades de cartões. Um filebox é um cartão no qual outros cartões (incluindo outros fileboxes) podem ser arquivados. 3.2.3 Guide Guide foi desenvolvido por Peter Brown como um projeto de pesquisa da University of Canterbury, U.K. Mais tarde, foi vendido comercialmente por Office Workstations Limited tanto para o PC IBM quanto para Machintosh Apple. É o sistema de hipertexto comercial mais popular. Textos e gráficos são integrados em artigos ou documentos. Guide possui cursor sensível ao contexto, de modo que o usuário consegue saber que tipo de informação está sendo mostrado na tela de acordo com o formato corrente do cursor. Guide suporta diferentes tipos de links: Botões de substituição - fazem com que o texto da janela corrente seja substituído pelo texto de destino do link; Botões de nota - exibe o texto de destino numa janela pop-up; Botões de referência - exibe uma nova janela contendo o texto de destino; Botões de pergunta - funcionam como os botões de substituição, exceto pelo fato de que são mutuamente exclusivos, visto que apenas uma das substituições para uma pergunta pode ser mostrada na tela num determinado tempo. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 15 3.4 Outros sistemas Alguns dos precursores dos sistemas hipermídia são mostrados na Figura 5. Sistemas de hipertexto estão sendo desenvolvidos numa taxa altíssima. Como resultado, é difícil comparar e contrastar as características dos sistemas correntes ou até prever que tipos de sistemas estarão disponíveis no futuro. Proposta Conceitual Memex Sistemas de Pesquisa NoteCards Intermedia Sistemas Comerciais HyperCard Guide Hipermídia nos anos 90 Figura 5 - O desenvolvimento de sistemas hipermídia O sistema Intermedia, desenvolvido no Brown University's Institute for Research and Information Scholarship, é um ambiente integrado possibilitando a ligação de diferentes tipos de aplicações (processadores de texto, editores e outros programas). É uma coleção de ferramentas que permitem autores ligar conteúdos de textos, timeline, gráficos, modelos 3-D e documentos de vídeo sobre uma rede de poderosas workstations. As aplicações existentes no ambiente de trabalho Intermedia incluem um editor de texto (InterText), um editor gráfico (InterDraw), um visualizador de imagem escaneada (InterPix), um visualizador de objetos 3-D (InterSpect) e um editor timeline (InterVal). Intermedia suporta o conceito de rede (web) - entidades compostas com muitos nós e links entre eles. Um link pode pertencer a uma ou mais redes. Ele suporta acesso compartilhado e concorrente a documentos baseado num sistema de permissões de acesso. Produzido pela Lotus, Agenda não é um produto hipertexto comercializado. A maioria dos links em Agenda não são links explícitos, mas são derivados de valores de campos de acordo com o local em que o usuário digita informação na tela. Agenda integra hipertexto e facilidades como gerenciamento de dados relacionais. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 16 CAPÍTULO 4 - PROJETO DE SISTEMAS DE HIPERTEXTO Discutiremos, aqui, as regras gerais de projeto de sistemas de hipertexto. Os problemas de projeto e implementação de sistemas de hipertexto vão desde projeto de UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 17 interface e sua implementação até o uso compartilhado de uma base de dados distribuída. 4.1 Considerações e linhas gerais de projeto Nesta seção, apresentaremos, sob o ponto de vista prático, algumas considerações para projeto de Sistemas de Hipertexto e Hiper-documentos. 4.1.1 Metáforas Uma das primeiras preocupações ao se projetar ou escolher um sistema de hipertexto deve ser qual a metáfora desejada. A escolha de uma metáfora está diretamente relacionada com a utilização do sistema projetado. Diversas metáforas têm sido propostas e implementadas para sistemas de hipertexto, dentre as quais destacamos: Livro - são sistemas microtexto onde os documentos são similares a livros, podendo-se a partir destes fazer referências a outros livros. Exemplo: Guide; Biblioteca - são sistemas macrotexto que permitem a recuperação e manipulação de informações contidas nos diversos documentos que formam uma biblioteca. Exemplo: Idex; Viagem - são utilizados em sistemas de informações turísticas, onde um documento simula uma viagem por determinada região ou cidade. Exemplo: Glasgow on Line; Cartões - as informações são mostradas em janelas de tamanho fixo. Exemplo: HyperCard; Teia (web) - o documento possui a estrutura de um grafo, ou teia. Exemplo: Intermedia; Filme - utilizam recursos de animação e filmes. Exemplo: Aspen Movie Map. 4.1.2 Nós Tamanho e apresentação dos nós UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 18 Os sistemas de hipertexto adotam duas formas para apresentação dos nós: Janelas - os nós são mostrados em janelas individuais, que podem se sobrepor e ter tamanhos distintos; Cartões - os nós são mostrados em cartões que ocupam uma área fixa. A utilização de um grande número de nós pequenos normalmente requer maior experiência do autor, uma vez que é mais difícil fazer a divisão de um texto em unidades pequenas que, ao mesmo tempo, apresentem uma idéia completa. O uso de nós maiores que o tamanho da janela obriga a utilização de operadores de rolagem de tela, o que não é desejável em sistemas de cartões, por sua baixa eficiência como mecanismo de navegação. Agregados Nós e ligações podem ser agrupados em entidades mais complexas, denominadas agregados, manipuladas como uma unidade. Estruturas complexas dificilmente podem ser expressas em um único nó. 4.1.3 Referências Nos primeiros sistemas de hipertexto, as ligações funcionavam apenas como ponteiros para nós ou itens. Nos sistemas mais modernos, as ligações tanto podem ser atributos dos nós, como podem ser armazenadas separadamente do conteúdo em si, ou ainda criadas dinamicamente para as ocorrências de um atributo. Tipos Os tipos fornecem informação tanto em relação ao meio utilizado pelo nó destino (som, imagem, etc.), quanto à semântica da informação, por exemplo, uma referência pode ser criada para uma nota de rodapé, indicando algum esclarecimento sobre a âncora. Âncoras UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 19 O projetista do sistema deve ter sempre em mente o tipo de usuário do sistema sendo desenvolvido, bem como o dispositivo para ativação das âncoras que será usado. Diversos objetos são usados como âncoras: Regiões textuais; Strings dentro de regiões textuais; Pontos e linhas dentro de um nó; Objetos fechados (retângulos, polígonos, etc.); Imagens incluindo ícones. É importante que a interface sempre ofereça uma operação que desfaça uma operação de ativação de uma referência. Velocidade de resposta A rapidez com que uma referência é ativada é de importância fundamental na utilização prática de um sistema de hipertexto. 4.1.4 Interface Estilo de interface A maioria dos sistemas é baseada na manipulação direta da informação visível utilizando-se um dispositivo apontador. Uma interface de manipulação direta elimina a possibilidade de erros de digitação. As interfaces também devem fazer uso de menus e opções default para reduzir ao mínimo o tempo de aprendizado, podendo também tirar proveito de informações contextuais para simplificar as operações. O tipo da tela a ser usada é um fator determinante do tipo de interface definida. A existência de mecanismos automáticos para fechar janelas que não estão sendo usadas é importante para evitar a sobrecarga cognitiva causada por excesso de janelas abertas. É interessante ter em mente os tipos possíveis de usuários do sistema, como: UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 20 Iniciante - é o usuário completamente inexperiente. Muitas vezes, um iniciante navega no hipertexto sem ter um objetivo bem definido; Eventual - é o usuário com alguma informação sobre o funcionamento do sistema e é capaz de usar mecanismos mais sofisticados para busca de informação; Especialista - é o usuário que precisa de todos os recursos do sistema. Ele sabe qual a informação que deseja obter e onde localizá-la. 4.1.5 Navegação O problema da desorientação em sistemas de hipertexto é muito comum. Algumas soluções que minimizariam tal problema são: A existência de uma estrutura linear (ou hierárquica) básica para os documentos, facilitando ao usuário manter uma idéia global do documento; Manter sempre comandos de “volta” para o estado anterior a qualquer operação realizada; Limitar o número de janelas abertas. 4.1.6 Particularização A maioria dos sistemas de hipertexto permite que o autor particularize seus documentos para diferentes usuários ou aplicações. Em alguns casos, o documento pode ser particularizado em relação à familiaridade do usuário com o sistema. Nestes casos, o sistema pode tanto perguntar ao usuário qual ele julga ser seu nível, como inferir pelo modo como o sistema é usado, qual é sua habilidade e necessidades para interação. Uma outra forma de particularização pode ser obtida pela definição de condições. CAPÍTULO 5 - HIPERMÍDIA UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 21 Um sistema hipermídia pode ser definido como aquele que manipula um conjunto de informações, pertencendo a vários tipos de mídia (texto, som, imagem e outros), podendo estas informações serem lidas de forma não-linear através dos diversos caminhos de acesso disponíveis. Em outras palavras, a hipermídia é simplesmente uma extensão do hipertexto que incorpora outro tipo de dado além do texto. Um sistema hipermídia pode ser visto como um espaço de leitura variado, rico em diversas possibilidades de acesso que, bem exploradas, fornecem maior sentido semântico à informação nele armazenada. 5.1 Aspectos de banco de dados A maioria dos sistemas hipertexto utilizam formatos de dados proprietários para armazenamento. Alguns pesquisadores tentaram usar SGBDR1 para implementar aplicações de hipertexto. Existem uma enorme classe de aplicações a qual SGBDR e outros sistemas de banco de dados convencionalmente mais estruturados são muito limitados. Tais aplicações caracterizam-se por serem complexas, de larga-escala, programas dado-intensivos tais como sistemas CAD/CAM, sistemas gerenciadores de documentos, sistemas hipermídia e SIG2. Esta classe de aplicações necessita de um modelo de banco de dados mais expressivo e flexível que o modelo relacional. Alguns pesquisadores acreditam que bancos de dados orientados a objeto podem satisfazer os requisitos de manipulação de dados de tais aplicações. Dentre as várias áreas de pesquisa da hipermídia, requisitos de banco de dados de sistemas hipermídia receberam pouca atenção. HyperBase, baseado num modelo de dados orientado a objeto, foi implementado no Sybase, um SGBDR. Similarmente, Intermedia foi originalmente implementado no INGRES e depois em C-Tree. Pouco trabalho tem sido feito com a utilização de SGBDOO3 para aplicações multimídia. O uso de um SGBDOO para um sistema hipermídia proporciona um excelente “casamento” entre as habilidades de modelagem e a rigorosa estrutura da orientação a objetos com a flexibilidade e acesso navegacional caracterizados pela hipermídia. 1 Sistemas Gerenciadores de Banco de Dados Relacionais Sistemas de Informação Geográfica 3 Sistemas Gerenciadores de Banco de Dados Orientado a Objetos 2 UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 22 5.2 Conceitos orientados a objeto e Hipermídia Antes de discutirmos os requisitos de banco de dados da hipermídia, tentemos entender o paradigma da orientação a objetos e analisar sua relevância para a hipermídia. As vantagens de utilizar um SGBDOO incluem a habilidade de modelar complexidade, prover uma representação unificada do domínio do problema e construir objetos complexos. Existem abordagens orientadas a objeto para análise e projeto de sistemas, linguagens de programação, sistemas operacionais e de banco de dados. Sistemas orientados a objeto provêm inúmeras novas características ausentes nos sistemas estruturados convencionais. O paradigma orientado a objeto representa melhor um domínio de problema através do mapeamento das abstrações das entidades do mundo real em objetos/classes. Ele também enfoca a definição e herança das capacidades comportamentais na forma de operações embutidas em objetos. O paradigma também suporta capacidades mais simples para estruturação de objetos complexos. Sistemas orientados a objetos, incluindo linguagens e SGBD, suportam conceitos de objetos, classes, métodos, abstração de dados, encapsulação, herança, evolução de esquema, reusabilidade, controle de concorrência, corretude, polimorfismo, objetos compostos, objetos ativos, controle de versões e manipulação direta. Muitas características do mundo da análise, projeto e programação orientada a objetos podem ser extendidas ao modelo hipertexto: 1. Nós simples podem ser comparados com objetos atômicos representando tipos de dados primitivos, tais como inteiro, caracter, string, video frame e bitmap; 2. Objetos ou nós podem ser acessados via identificadores de objeto ou identificadores de nó; 3. Um link pode ser representado através de um conjunto de, no mínimo, dois identificadores de objeto. Links também podem ser tratados como objetos com seus próprios identificadores (identificadores de link), os quais podem ser usados para separar informação de índice de conteúdo; 4. Um nó composto em hipertexto (formado por teias de nós e links) pode ser tratado como um objeto composto ou uma agregação de objetos simples; UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 23 5. Os conceitos de encapsulação e abstração de dados podem ser aplicados através da definição de métodos para criar, deletar, atualizar e manipular nós e links, percorrer links, e disparar eventos; 6. Nós e links podem ser agrupados em diferentes classes baseados em padrões estruturais e comportamentais (semânticos). Organizar nós e links auxilia semanticamente a melhor gerenciar a rede e eliminar ambigüidades, diferenciando claramente os propósitos desses objetos; 7. Nós e links de uma classe particular podem herdar propriedades de superclasses relacionadas. Esta característica pode ser usada na criação e gerenciamento de templates hipermídia - quando um usuário modifica um template pai, tais mudanças podem ser propagadas para todas as suas sub-classes template; 8. Sempre que as propriedades dos nós e links tiverem que ser modificadas, deve haver facilidade para tal através de evolução do esquema; 9. Outros conceitos orientados a objeto pertinentes à hipertexto incluem controle de concorrência, versionamento e persistência No HyperBase, a classe básica era um HB_Object, a qual possuía três subclasses: HB_Node, HB_Link e HB_Composite_Object. HB_Nodes são HB_Objects com conteúdo e história. HB_Links são HB_Objects que conectam dois HB_Objects. HB_Composite_Objects são coleções de referências para HB_Objects. As operações genéricas de criar, modificar, copiar, deletar, recuperar um objeto (todo ou parte dele) eram suportadas para nós, links, objetos compostos e atributos. Como o modelo de dados era orientado a objeto, uma escolha natural para implementar HyperBase seria um SGBDOO. Contudo, por razões de disponibilidade, um primeiro protótipo foi implementado no Sybase, um SGBDR. 5.3 Requisitos para a próxima geração de sistemas hipermídia Frank Halasz originalmente identificou sete aspectos para a próxima geração de sistemas hipermídia. Outros pesquisadores apareceram com outras nos últimos cinco anos. SGBDOO parecem satisfazer a maioria dos requisitos. Abertura e Distribuição UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 24 A maioria dos sistemas de hipertexto atuais são basicamente sistemas fechados, isto é, um material criado em um sistema não pode ser facilmente integrado com um material criado em outro sistema. Um sistema hipermídia aberto é um sistema que pode se conectar a outros sistemas de informação (ambos hipertexto e não hipertexto). Deve ser possível transmitir dados livremente. A distribuição permite ao sistema armazenar em sites geograficamente dispersos numa maneira transparente para o usuário. Suporte para trabalho colaborativo ou compartilhamento Sistemas hipermídia da próxima geração devem prover suporte adequado para trabalho colaborativo. Isso inclui acesso multi-usuário simultâneo à rede hipermídia, mecanismos robustos de controle de concorrência e transmissão para usuários sobre quaisquer mudanças na rede feitas por outros usuários. Integridade de dados/Corretude A camada de banco de dados deve preservar a integridade dos dados e prover gerenciamento de armazenamento secundário tradicional e facilidades de administração de dados. Deve proibir dangling references para objetos ou atributos e prevenir inclusões recursivas de objetos compostos. Deve também suportar a noção de regras como bancos de dados relacionais extendidos ou o conceito de semântica como em bancos de dados orientados a objeto. Dinamismo A maioria dos sistemas hipermídia lidam com informação estática. Sistemas futuros necessitam da habilidade de reconfigurar a rede dinamicamente em resposta à mudanças feitas na rede ou em seus conteúdos. Estruturas virtuais ou dinâmicas (objetos ativos) são similares a visões geradas dinamicamente em bancos de dados relacionais. Estruturas virtuais são possíveis somente quando modelos correntes são modificados para se adaptarem à informação mutante. Mecanismo de busca e consulta UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 25 Além de acesso navegacional na informação, sistemas hipermídia devem prover mecanismos eficientes de busca e consulta. Isso resolve parcialmente o problema da desorientação (lost in space), muito comum nas navegações dos usuários. Existem dois tipos de consultas - uma consulta estruturada para recuperar uma parte da rede e uma consulta de conteúdo para recuperar um nó específico. A primeira requer o desenvolvimento de uma linguagem de consulta. Computação A integração de IA4 no meio hipermídia será uma área interessante para exploração. Isto deve incluir herança, manutenção exata, busca baseada em regras e mecanismos de inferência. A computação em sistemas hipermídia deverá ser mais eficiente para acesso extensivo de informação na rede. Registros Com o aumento do uso de hipermídia em aplicações sofisticadas, se torna necessário lidar com grupos de nós e links. Isso implicará na necessidade de criar um nó composto como construção primitiva no modelo hipermídia básico. Relações de inclusão (ou parte-de) devem ser suportadas, além de links referenciais. Versionamento Versionamento é importante como forma de manter um caminho das mudanças na rede. Pode existir versionamento ao nível de entidades individuais, tais como nós e links, e também ao nível de rede hipermídia como um todo. Suporte multimídia UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 26 A camada de banco de dados deve armazenar e recuperar eficientemente múltiplas mídias. Deve também prover acesso transparente para diferentes mídias de armazenamento. Extensibilidade e Tailorability A extensibilidade envolve a habilidade de manipular extensões no modelo de dados existente (evolução de esquema) numa maneira eficiente e segura. A camada de banco de dados não deve ser capaz de manipular apenas a parte estrutural do modelo de dados hipertexto, mas também a parte semântica para certificar-se das abstrações e encapsulamento de dados do modelo de dados em evolução. 5.4 Bancos de dados Orientados a Objeto e Hipermídia Estudos têm mostrado que SGBDOO são mais apropriados como mecanismos de armazenamento para sistemas hipermídia do que os métodos tradicionais. Pesquisadores também estão trabalhando numa nova classe de sistemas chamada hyperbases. Uma hyperbase é um mecanismo com um modelo de dados hipertexto embutido provendo primitivas para manipular instâncias do modelo. Também é proposto que através da integração de um modelo de dados orientado a objeto com hipertexto, o processo de recuperação de informação pode ser bastante aprimorado. Isso pode ser atingido redirecionando a funcionalidade de hipertexto do nível de aplicação para o nível de banco de dados utilizando sistemas de banco de dados orientados a objeto. CAPÍTULO 6 - SISTEMAS MULTIMÍDIA 4 Inteligência Artificial UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 27 Os Sistemas multimídia são ferramentas poderosas que estão mudando a maneira de adquirir o conhecimento e que nos dão uma nova visão da realidade. Na verdade, estas mudanças começaram com o surgimento dos microcomputadores e sua rápida aceitação pela sociedade, e continuaram com o aparecimento de novas tecnologia como os vídeo-computadores e os televisores interativos. Um sistema multimídia caracterizase pelo tipo de informação que é especificada, manipulada, editada e armazenada. 6.1 Definição O termo multimídia se refere a diversos tipos de informações que podem ser editadas e armazenadas em tipos específicos de dispositivos. Uma mensagem multimídia é uma unidade de comunicação que, quando transmitida, produz uma combinação de textos, dados, imagens e sons, entre outros. A multimídia pode ser tratada em três níveis: Mídia: texto (palavras, números), áudio (música, discurso), vídeo (imagens fixas, cinema, animação); Tecnologia: computador e armazenamento ótico; Produtos: jogos, tutoriais e simulações, entre outras. 6.2 Banco de dados multimídia Definimos um Banco de Dados Multimídia como aquele que permite a modelagem de informações ditas não convencionais (textos, imagens, sons, gráficos e outras) caracterizadas por seu volume e estrutura complexa. A evolução dos SGBD5 se faz necessária para responder às exigências das novas aplicações. Os SGBD multimídia são aqueles relativos às aplicações que manipulam diversos tipos de informações ditas complexas. Estas aplicações impõem duas exigências principais aos SGBD: um modelo de dados que permita uma definição natural e flexível, e um esquema que permita representar a composição dos objetos e dos relacionamentos entre seus componentes; UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 28 o compartilhamento e a manipulação (armazenamento, acesso e transmissão) das informações multimídia. Verificamos, portanto, que o termo multimídia aplica-se a dois níveis do SGBD: a nível lógico, pela manipulação de diferentes tipos de dados, e a nível físico, pelo controle do armazenamento de informações em diferentes tipos de dispositivos. A Figura 6 mostra um exemplo de configuração de multimídia. MONITOR BD VÍDEO DISCO BD2 (imagem) DISCO ÓTICO BD2 (texto) BD3 (som) Figura 6 - Configuração de SGBD Multimídia Um SGBD multimídia deve permitir, não somente o armazenamento e a recuperação de informações estruturadas, mas também dados compostos de objetos complexos tais como textos, imagens, mapas, gráficos e, de uma maneira geral, documentos. Os problemas essenciais a resolver para a construção destes sistemas são: a especificação de um modelo de dados que permita descrever a estrutura de documentos, a concepção de linguagens especializadas de acesso aos documentos ou parte de documentos e a pesquisa a estruturas de armazenamento mais adaptadas e eficazes. 6.3 Ambiente de banco de dados multimídia 5 Sistemas de Gerenciamento de Banco de Dados UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 29 Um ambiente de banco de dados multimídia caracteriza-se pelo tipo de informação que é especificada, manipulada, editada e armazenada. Nesta seção, apresentaremos linhas gerais de projeto multimídia incluindo a representação de dados complexos e o tratamento de informações tais como imagens e documentos. Em seguida, são tratados aspectos de armazenamento, acesso e transmissão destas informações. São discutidas algumas características de interfaces de comunicação, de grande importância no ambiente de projeto. 6.3.1 Linhas gerais de projeto Com a evolução da informática nas áreas mais diversas vemos aparecer, cada vez mais, aplicações que têm necessidade de formalizar novos tipos de dados (objeto complexo e aplicações multimídia) que apresentam características peculiares: são volumosos, apresentam estrutura complexa e podem estar armazenados em dispositivos específicos. Um SGBD multimídia deve incluir não apenas um modelo de dados permitindo a especificação destes novos tipos, mas também técnicas de armazenamento dos objetos correspondentes em dispositivos específicos diversos. 6.3.2 Tratamento de informação multimídia Esta seção é dedicada ao estudo dos diferentes enfoques de manipulação dos dados multimídia. Tratamos a imagem e o som, que são de fundamental importância às aplicações multimídia, e documentos em geral, incluindo o conceito de hipertexto e formulário. Imagem UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 30 A importância atual da comunicação audiovisual aumenta a utilização da imagem nas áreas mais diversas: aprendizado, informação, edição, etc. Um dos aspectos mais interessantes da utilização de imagens é poder manipular não apenas as imagens mas também os dados descritivos ou os textos associados às mesmas. Tomemos como exemplo um filme: podemos também estar interessados no seu título, categoria, autor, etc. Aqui, se torna muito importante a capacidade de manipulação simultânea de dados convencionais e complexos. Podemos classificar os sistemas de gerenciamento de imagens, segundo o modo de utilização da informação imagem: Sistemas de tratamento de imagens - definidos nas áreas de tratamento de imagens e reconhecimento de formas; Sistemas de dispositivos óticos para as imagens - que resolvem em parte o problema do armazenamento das imagens; Sistemas de pesquisa e manipulação de imagens - onde as imagens, digitais ou analógicas, são vistas como um todo e tratadas como informação atômica. Os sistemas de manipulação de imagens são essenciais em diversas áreas de aplicação, como: medicina, química, publicidade, aeronáutica, entre outras. Som O som também é uma informação volumosa e seu estudo como informação a ser manipulada (armazenada/recuperada) constitui um dos pontos fundamentais em sistemas multimídia. A informação de áudio pode ser particularizada através da voz que é, sem dúvida, o principal meio de comunicação entre os seres humanos. É natural que pensemos o mesmo com a interação homem-máquina, mas não é tão óbvio em face de toda a tecnologia necessária para permitir a comunicação dos usuários com seus computadores via voz. Aplicações interessantes de áudio incluem: anotação de texto por voz, gerenciamento de telefones, sistemas de e-mail por voz e ferramentas para o suporte a trabalho cooperativo. Documento UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 31 A estrutura de um documento, de uma maneira geral, é definida de forma arborescente por: uma raiz identificando a estrutura; os nós representando os diferentes componentes do documento; as folhas caracterizam, no nível mais baixo, as informações associadas a um tipo particular. Nos dias atuais, quando falamos em organização de documentos e acesso aos componentes de um documento estruturado, não podemos deixar de associá-los aos sistemas de hipertexto. Apesar deste tipo de estrutura ser bastante comum no mundo real, só com o surgimento do conceito de hipertexto e com os avanços tecnológicos (estações de trabalho poderosas, dispositivos óticos para armazenamento e aumento nas comunicações em rede) foi possível tratá-la de forma mais adequada. Os sistemas de hipertexto podem ser vistos, na verdade, como interfaces de comunicação amigáveis orientadas a objetos para a manipulação de banco de dados multimídia, especialmente dirigidas para os documentos complexos. Eles são bem adaptados aos dados multimídia e são portanto também chamados de sistemas hipermídia. Um formulário é um tipo particular de documento. Ele é visto como um documento ao qual associa-se uma semântica particular tanto do ponto de vista conceitual (definição de operações específicas sobre os formulários), quanto externamente (interfaces com o usuário). 6.4 Armazenamento, acesso e transmissão de informação Em um SGBD multimídia, a manipulação de diferentes tipos de dados pode requerer a utilização de dispositivos específicos de armazenamento ou de entrada/saída. Os dados armazenados na área interna reservada para o banco de dados constituem os segmentos principais de dados e aqueles armazenados em áreas externas constituem os segmentos anexos de dados. A Figura 7 ilustra o armazenamento de um banco de dados utilizando estes dois tipos de segmentos. Dados anexos Zona única de dados UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 SGBD tradicional Dados principais Dados anexos Dados anexos 32 Figura 7 - Armazenamento de dados multimídia Para permitir este tipo de armazenamento multidispostivo, os sistemas de gerenciamento físico deve garantir uma administração eficaz dos objetos complexos que ele manipula através de: uniformização da organização lógica de armazenamento do sistema; gerenciamento dos tipos e dos construtores de tipos, permitindo a interpretação do objeto tratado; gerenciamento das estruturas e dos construtores de dados, permitindo navegar no banco de dados para reconstruir o objeto complexo a tratar. No intuito de tratar o aspecto de gerenciamento físico dos SGBD multimídia, trataremos do aspecto multidispositivo destes sistemas e, em seguida, apresentaremos dois tipos de dispositivos óticos utilizados atualmente. 6.4.1 Aspecto Multidispositivo Podemos distinguir duas classes de dispositivos: Dispositivos de I/O – garantem a recepção e a edição das informações do sistema. Exemplos: teclados, telas, monitores de alta resolução, impressoras, etc.; Dispositivos de armazenamento – permitem o armazenamento e a recuperação dos dados. Ainda podem ser classificados em duas categorias: - dispositivos digitais: as informações são armazenadas de forma binária (discos magnéticos, discos óticos); - dispositivos analógicos – todos os outros tipos de dispositivos (vídeodiscos ou fitas de vídeocassete e áudio). UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 33 Eis, agora, algumas características dos sistemas multimídia com relação à necessidade de utilização de dispositivos específicos para a manipulação de dados: Extensibilidade – o sistema deve permitir a inclusão de novos dispositivos e de novas funções ligadas às informações multimídia; Flexibilidade – considera-se três aspectos para o gerenciamento de informações multimídia: - deve poder ser armazenado todo tipo de objeto multimídia, variando dos que possuem formato lógico interno seqüencial até os de formato lógico interno espacial (imagem digitalizada); - dois tipos de transferência de objetos devem ser possíveis: persistente (os dados, além de serem transferidos para o dispositivo de edição, são armazenados em memória principal) e não-persistente (os dados são transferidos diretamente para um dispositivo de edição); - deve ser possível o controle da edição ou do acesso aos dados multimídia (na apresentação de uma seqüência de imagens armazenadas em vídeodisco, o sistema deve ser capaz de parar uma imagem, voltar à imagem anterior, etc.); Eficiência no armazenamento dos dados – como as informações multimídia são volumosas, um gerenciamento eficaz do espaço de memória se faz necessário; Eficiência na transferência dos dados – aplicações multimídia requerem a transferência de grandes volumes de informação entre os dispositivos de armazenamento e os de I/O. Às vezes, durante a transferência, as informações devem ser armazenadas em memória principal. O sistema deve minimizar o armazenamento em memória. 6.4.2 Dispositivos óticos UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 34 Sabemos que imagens multimídia são volumosas e os dispositivos magnéticos existentes são ineficientes do ponto de vista custo e durabilidade, para seu armazenamento. Para termos uma idéia do volume de uma imagem digitalizada, temos: uma imagem preto e branco ocupa aproximadamente 1 MB; uma imagem colorida de alta qualidade ocupa aproximadamente 3 MB. Os dispositivos óticos diminuem bastante o problema de armazenamento de informações volumosas. Eles são dificilmente deterioráveis, apresentam baixo custo de armazenamento por byte e o tempo de acesso é rápido em relação ao volume das informações armazenadas. O princípio de leitura e gravação dos dados nos dispositivos óticos é de reflexão de raio laser em superfície composta do tipo plástico-alumínio. A informação é armazenada em cavidades microscópicas na superfície metalizada do disco e a leitura é feita por um feixe de raios laser. São famílias de dispositivos óticos: vídeodiscos e discos óticos (CD). Vídeodisco São dispositivos capazes de modificar e enriquecer os modos de expressão e comunicação atuais, oferecendo uma solução, sobretudo, para o armazenamento de imagem e som. São dispositivos read-only. Vantagens: - acesso rápido a uma imagem; - acesso para frente e para trás; - permite sistemas interativos; Desvantagens: - só permite leitura; - as imagens só podem ser mostradas no padrão de televisão em que foram gravadas. Disco ótico UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 35 Constituem o meio de armazenamento mais promissor. São exemplos de discos óticos: OROM/CD-ROM (Optical Read Only Memory) – são somente de leitura; WORM (Write Once Read Many) – os leitores/gravadores deste tipo permitem a gravação do disco uma única vez pelo usuário; WMRA (Write Many Read Always) 6.5 Interfaces de comunicação multimídia Em um ambiente multimídia, as interfaces de comunicação devem permitir tratar facilmente as informações e responder o melhor possível às necessidades do usuário. Alguns objetivos a considerar quando da definição de interfaces amigáveis: - visão simplificada do banco de dados: o usuário deve perceber o universo modelizado da maneira mais simples possível; - linguagem de consulta: deve ser simples e natural quando possível; - ajuda ao formular uma consulta: a interface deve ser capaz de ajudar o usuário através de diálogos; - apresentação conveniente dos resultados (gráficos, tabelas, imagens). CAPÍTULO 7 - CONCLUSÕES UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 36 A tecnologia orientada a objeto provê a habilidade de modelar, desenvolver e gerenciar sistemas complexos que não podem ser facilmente implementados com a tecnologia atual. Sistemas hipermídia constituem uma classe emergente de sistemas de informação de gerenciamento complexo. Eles devem facilitar memória distribuída, processamento distribuído e conhecimento distribuído numa rede. Uma abordagem orientada a objeto para hipermídia pode nos ajudar a atingir tal meta mais facilmente do que as abordagens atuais. Entretanto, pesquisas nesta área estão em fase inicial e existem muitos outros aspectos abertos a serem investigados. Qualquer brecha nos levará a atingir a meta de Ted Nelson, "Tudo deve estar disponível para todos. Qualquer usuário deve ser capaz de seguir princípios e links de materiais ao longo de limites de documentos, servidores, redes e implementações individuais. Deve haver um ambiente unificado disponível para todos provendo acesso para esse ‘docuverso’ completo”. A complexidade das aplicações de banco de dados tem crescido de forma significativa, implicando num grande volume de dados a armazenar e gerenciar de forma eficiente, além da necessidade de lidar com novos tipos de dados como documentos, imagens e sons. O enfoque mais adequado para tratar problemas de forma simples e eficiente está na construção de ambientes compostos por ferramentas (interativas, cooperativas e formais) para projetar, desenvolver e manipular aplicações de banco de dados, da etapa de análise até o projeto físico. As interfaces também são um assunto central em ambientes de desenvolvimento de banco de dados e devem ser tratados de forma multidisciplinar. BIBLIOGRAFIA UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 37 A. C. Salgado, D. Fonseca, E. S. de Albuquerque & S. R. Meira – “Sistemas Hipermídia: Hipertexto e Bancos de Dados”, VIII Escola de Informática, Informática UFRGS, 1992 K. Parsaye et. all. - "Intelligent Databases", John Wiley & Sons, 1989 L. F. G. Soares, L. Tucherman, M. A. Casanova & P. R. Nunes "Fundamentos de Sistemas Multimídia", VIII Escola de Computação, Informática UFRGS, 1992 N. Drakos – “Hypermedia Databases”, Wed Mar 30 BST 1994 UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 38 APÊNDICE Termos de Hipertexto Este é um glossário de termos utilizado dentro do projeto da WWW. Na maioria dos casos, seu uso corresponde ao uso convencional em círculos hipertextos. Anchor (Âncora) Uma área dentro do dentro do conteúdo de um nó a qual é a origem ou destino de um link. A âncora pode ser o todo o conteúdo do nó. Tipicamente, clicando com o mouse numa área âncora faz com que o link seja seguido, deixando a âncora no fim oposto do link exibido. Âncoras geralmente são destacadas numa maneira especial (sempre, ou quando o mouse estão sobre elas), ou representadas por um símbolo especial. Uma âncora pode, e freqüentemente, corresponde ao nó inteiro (também conhecida como span, região, botão ou extent). Annotation O link de um novo nó de comentário para um nó existente. Se os leitores puderem anotar seus nós, então eles podem prover imediatamente retorno se a informação está se desencaminhando, desatualizada ou plenamente errada. Logo, a qualidade da informação na Web pode ser aperfeiçoada. Authoring Um termo para o processo de escrever um documento. Authoring começou a ser utilizado no intuito de enfatizar que a produção de documentos envolvia mais do que apenas escrevê-los. Back link Um link numa direção justificado pela existência de um outro link explícito em outra direção. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 39 Browser Um programa que permite um usuário ler um hipertexto. O browser oferece maneiras de ver os conteúdos dos nós e de navegar de um nó para outro. Botão (Button) Uma âncora a qual é a origem de um link. Card (Cartão) Um termo alternativo para um nó num sistema (HyperCard, Notecards), no qual o tamanho do nó é limitado a uma simples página de tamanho limitado. Client (Cliente) Um programa que solicita serviços de outro programa. Normalmente, o browser é cliente do servidor de dados. Cyberspace Este é o mundo "eletrônico" percebido na tela de um computador. O termo é freqüentemente utilizado em oposição ao mundo "real". Com as extensões Web, como VRML, e o protocolo Cyberspace, a realidade virtual irá um dia chegar ao seu computador caseiro. Database (Banco de Dados) Usamos vagamente como um termo significando uma coleção de nós. Imaginamos o gerenciamento de informação sendo mantido em um lugar e todas sendo acessíveis pelo mesmo servidor. Links de fora são considerados external, e os de dentro são internal. Daemon Um programa que roda independentemente, por exemplo o browser. Daemons podem realizar várias tarefas de gerenciamento, como construção de índices, overviews e back-links. No Unix, daemon é utilizado como servidor, visto que servidores geralmente rodam independentemente. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 40 Document (Documento) Um termo para um nó em alguns sistemas (Intermedia). Algumas vezes usado por outros como um termo para uma coleção de nós em tópicos relacionados, possivelmente armazenados ou distribuídos como um. O termo preferido é documentação W3. Domain Usamos especificamente para uma unidade de proteção. Pode possivelmente corresponder a um banco de dados, e nesse caso seria um melhor (menos vago) termo para ele. External Um link para um nó num banco de dados diferente. Veja Banco de Dados. Host Um computador numa rede. Hypermedia Hipertexto Multimídia. Hipermídia e Hipertexto são usados livremente um em lugar do outro. Mídia também incluem, além de texto, gráficos, sons e vídeo. Hypertext (Hipertexto) Texto sem restrição de linearidade. Index (Índice) Algo que aponta para outros dados; uma facilidade de servidor que provê ponteiros para dados particulares através de uma consulta; uma tabela de conteúdos de um livro em forma de hipertexto. Internal Um link para um nó no mesmo banco de dados. Veja Banco de Dados. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 41 Link Um relacionamento entre duas âncoras, armazenado no mesmo banco de dados ou em bancos de dados distintos. Veja Internal e External. Navegation (Navegação) O processo de movimentação de um nó para outro através da Web hipertexto. Isso é feito normalmente seguindo-se links. Várias características de um browser particular podem facilitar. Isso inclui manter a história onde o usuário esteve e desenho de links entre nós próximos. Node (Nó) Uma unidade de informação. Também conhecido como frame (KMS) ou card (Hypercard, Notecards). Usado com esse significado especial em círculos hipertexto: não confunda com nó significando network host. Para facilitar para os usuários, usamos o termo documento, visto que é o termo mais parecido fora do mundo de hipertextos. Protection (Proteção) A prevenção para que usuários não autorizados leiam ou escrevam certos dados. Também conhecida com autenticação, controle de acesso, etc. Path Um conjunto ordenado de nós ou âncoras representando uma seqüência na qual uma web pode ser lida. Um path pode representar a seqüência na qual um leitor usou de fato, ou pode ser uma seqüência recomendada ao leitor pelo autor. Reader (Leitor) Usamos esse termo para pessoas que navegam no intuito de distinguir o programa (browser) que ele/ela utiliza. Server (Servidor) UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 42 Um programa que provê um serviço para outro, conhecido como cliente. Num sistema hipertexto, um servidor provê informação hipertexto para um browser. Veja também daemon. Tracing A descoberta automática de nós através de navegação automática. Exemplos podem ser achar todos os nós dependentes de outro nó, todas as pessoas interessadas num certo nó, todos os módulos que utilizam um certo módulo. Topology (Topologia) A conectividade permitida entre nós, âncoras e links. Por exemplo, mapeamentos 1-1 ou muitos-1. Versioning (Versionamento) O armazenamento e gerenciamento de versões anteriores de um pedaço de informação, para segurança, diagnóstico e interesse. Isso é importante quando muitos usuários têm permissão para editar o mesmo material. VRML Virtual Reality Modelling Language. O termo VRML foi criado por Dave Ragget na I Conferência WWW em Gênova, maio de 1994. VRML é proposta como um formato markup lógico para plataforma não-proprietária. Web Um conjunto de nós interconectados através de links. Geralmente, o conjunto de todos os nós que estão interconectados. UFPB/CCT/DSC/COPIN - Bancos de Dados Avançados - 982 43