950 resultados para Versoes : Banco : Dados
Resumo:
Este trabalho apresenta o projeto de uma interface visual para modelos de bancos de dados orientados a objetos, com suporte para versões. Um requisito importante, não atendido pelas interfaces visuais específicas e genéricas para sistemas orientados a objetos, é a capacidade de definir e manipular versões de um objeto nos vários níveis da hierarquia de classes (herança por extensão, adotada pelo modelo de versões [GOL 95]). As interfaces, que manipulam versões, suportam essa característica no nível mais especializado da hierarquia (herança por refinamento, adotada pelos principais SGBDOOs). Procurando prover a possibilidade do versionamento de objetos nos vários níveis da hierarquia de classes, surgiu a motivação para projetar e desenvolver uma interface visual com funcionalidades de interfaces existentes (específicas e genéricas) e que obedeça às características principais dos Modelos de Dados Orientados a Objetos e do Modelo de Versões [GOL 95], seguindo as características recomendadas para interfaces visuais para MDOOs, propostas em [SIL 96]. Foi implementado um protótipo com algumas das características projetadas para o browser de objeto e seu suporte para versões.
Resumo:
Nas aplicações do mundo real, os dados mudam com o passar do tempo. Devido à característica dinâmica das aplicações, o esquema conceitual também pode mudar para se adaptar às mudanças que freqüentemente ocorrem na realidade. Para representar esta evolução, uma nova versão do esquema é definida e os dados armazenados são adaptados à nova versão. Entretanto, existem aplicações que precisam acessar também o esquema sob os diversos aspectos de suas mudanças, requerendo o uso de versionamento de esquemas. Durante a evolução do esquema, o versionamento preserva todas as versões deste esquema e seus dados associados, possibilitando a recuperação dos dados através da versão com a qual foram definidos. Ultimamente muitas pesquisas têm sido realizadas envolvendo as áreas de versionamento de esquemas e bancos de dados temporais. Estes bancos de dados provêm suporte ao versionamento de esquemas, pois permitem armazenar e recuperar todos os estados dos dados, registrando sua evolução ao longo do tempo. Apesar de muitos esforços, ainda não existem SGBDs temporais comercialmente disponíveis. A utilização de um modelo de dados temporal para a especificação de uma aplicação não implica, necessariamente, na utilização de um SGBD específico para o modelo. Bancos de dados convencionais podem ser utilizados desde que exista um mapeamento adequado entre o modelo temporal e o SGBD utilizado. Este trabalho apresenta uma abordagem para a implementação de um banco de dados temporal permitindo o versionamento de esquemas, usando um banco de dados relacional, tendo como base o modelo temporal TRM (Temporal Relational Model). Como forma de ilustrar apresenta-se um exemplo de implementação utilizando o SGBD DB2. O principal objetivo é avaliar diferentes técnicas de implementar e gerenciar o versionamento de esquemas em bancos de dados temporais. Para atingir esse objetivo, um protótipo foi desenvolvido para automatizar os mapeamentos do TRM para o DB2 e gerenciar o versionamento de esquemas e dados. Duas experiências de implementação foram realizadas utilizando formas diferentes de armazenar os dados - um repositório e vários repositórios - com o objetivo de comparar os resultados obtidos, considerando um determinado volume de dados e alterações. Um estudo de caso também é apresentado para validar as implementações realizadas.
Resumo:
Um Sistema gerenciador de Bancos de Dados (SGBD) possui como principal característica a capacidade de gerenciar bases de dados que representam parte do mundo real. Para que essa representação seja fiel, os dados presentes em uma base de dados devem obedecer a diversas regras conhecidas como restrições de integridade. Estas podem ser provenientes da realidade modelada, da implementação ou do modelo de dados utilizado. O suporte oferecido por sistemas gerenciadores de bancos de dados tradicionais não é suficientemente adequado a certas aplicações com necessidades que vão além das convencionais. Diversas aplicações necessitam armazenar dados históricos em conjunto com seus períodos de validade. Outras precisam armazenar versões de conjuntos de dados, gerenciando suas agregações e formas de representação. Através do suporte aos conceitos de tempo e de versão, provido por um SGBD, grande parte dessas necessidades é suprida. Este tipo de banco de dados usa o conceito de tempo para armazenar e controlar dados históricos enquanto o conceito de versão permite a gerência de alternativas de projeto. Existem atualmente diversos trabalhos e implementações relacionados à manutenção de restrições de integridade sobre bancos de dados tradicionais. Entretanto, restrições que consideram a gerência de tempo e de versões sobre dados ainda representam uma área de pesquisa praticamente inexplorada. De acordo com essa realidade, o primeiro objetivo do presente trabalho consiste em definir uma classificação de restrições de integridade para bases de dados com suporte a tempo e versões, a fim de prover uma base para o desenvolvimento de pesquisas relacionadas à sua especificação e manutenção. O segundo objetivo consiste em agregar ao Modelo Temporal de Versões (TVM), que suporta os conceitos de tempo e de versão, uma linguagem que permita a especificação de restrições de integridade. Esta linguagem considera características relacionadas à temporalidade e ao versionamento dos dados e das próprias restrições.
Resumo:
O Modelo Temporal de Versões (TVM Vesions Model) foi proposto com base na união de um modelo de versões com informações temporais. Esse modelo permite o armazenamento de alternativas de projeto, o armazenamento da história dos dados em evolução, bem cmoo a reconstrução do estado da base em qualquer data passada, sem o uso de operações complexas de backup e recovery. Para realizar consultas nesse modelo foi definida uma linguagem de consulta, a TVQL (Temporal Versioned Query Language). Além das consultas básicas realizadas pela linguagem padrão AQL, a TVQL permite novas consultas que retornam valores específicos das características de tempo e versões, estabelecendo um comportamento o mais homogêneo possível para elementos normais e temporais vesionados. O objetivo principal deste trabalho e possibilitar a realização de consultas TVQL em um banco de dados convencional. Nesse contexto, o mapeamento da TVQL é implementando através da tradução de todas as propriedades e funções definidas na TVQL para SQL. Para que isso seja possível é necessário queos dados também estejam nesse banco de dados. Então, faz-se necessário o mapeamento das classes da hierarquia do TVM, bem como das classes da aplciação, para o banco de dados. Adicionalmente, é implementado um protótipo de uma interface de consultas realizadas em TVQL, para testar o funcionamento tanto da TVL como do seu mapeamento.
Resumo:
Ambientes de engenharia apresentam a forte característica da necessidade de cooperação entre projetistas na concepção de projetos CAD, o que provoca uma série de problemas em relação aos ambientes usuais encontrados em aplicações convencionais. Na busca de solucionar tais problemas, vários recursos e mecanismos relativos às gerências de dados e do processo de projeto são apresentados em vários estudos encontrados na literatura. Boa parte desses recursos estão embutidos nesse trabalho, que visa apresentar um sistema gerenciador de documentação técnica para ambientes de engenharia/CAD chamado GerDoc Ábacus. A proposta da construção do GerDoc Ábacus é baseada na busca da solução dos problemas relativos à consistência dos dados de projetos e da integração de tarefas de projetistas que interagem em ambientes distribuídos de projeto. Unindo vários mecanismos, é proposta uma interface totalmente interativa, objetivando manter a harmonia entre projetistas que fazem parte de equipes de projetos que são mantidos em atividade durante longos períodos de tempo, além de documentar todos os passos realizados acerca de cada um desses projetos. Dessa forma, o GerDoc Ábacus é uma ferramenta organizacional e administrativa para projetos de engenharia, sendo de fácil operacionalização, buscando altos níveis de integridade dos dados mantidos.
Resumo:
O objetivo principal desse trabalho é apresentar uma alternativa para a união de um modelo de versões e dados temporais. O resultado, o Modelo Temporal de Versões – TVM (Temporal Versions Model), é capaz de armazenar as versões do objeto e, para cada versão, o histórico dos valores das propriedades e dos relacionamentos dinâmicos. Esse modelo difere de outros modelos de dados temporais por apresentar duas diferentes ordens de tempo, ramificado para o objeto e linear para cada versão. O usuário pode também especificar, durante a modelagem, classes normais sem tempo e versionamento, o que permite a integração deste modelo com outros modelos existentes. A utilização de um modelo de dados temporal semanticamente rico não requer necessariamente a existência de um SGBD próprio para este modelo. A tendência é implementar o modelo sobre banco de dados convencionais, através do mapeamento das informações temporais para atributos explícitos. Como objetivo complementar, é apresenta do um ambiente para o suporte do TVM e de todas suas características. Especificamente, são detalhados o mapeamento da hierarquia base do modelo para um banco de dados objeto-relacional e sua implementação em um banco de dados comercial. Desse ambiente, foi implementado um protótipo da ferramenta para o auxílio na especificação de classes da aplicação.
Resumo:
Um dos requisitos naturais na modelagem de diversas aplicações na área de banco de dados é a utilização de um mecanismo para controle de versões. Esse mecanismo fornece suporte a um processo evolutivo. Tal suporte permite armazenar os diferentes estágios de uma entidade em tempos distintos, ou sob diferentes pontos de vista. Estudos recentes nessa área mostram a importância de incorporar ao modelo conceitual de banco de dados, um mecanismo para auxiliar no controle da evolução de versões. A evolução de versões apresenta problemas principalmente quando ocorre em uma hierarquia de composição. Por exemplo, se existem objetos compostos fazendo referência à objetos componentes que representam versões, então modificações nos componentes podem causar alterações nos objetos que os referenciam. Normalmente as ações relativas a essas modificações são a notificação ou a propagação de mudanças. Algumas propostas adicionam mecanismos de notificação e propagação ao modelo conceitual utilizado por aplicações não convencionais. Isso é importante porque mecanismos deste tipo auxiliam no controle da integridade de dados e na divulgação de informações sobre as mudanças realizadas no banco de dados. O objetivo do trabalho aqui descrito é apresentar um mecanismo de notificação e propagação, que trata da evolução de dados, para um modelo de versões. É definido um modelo de classes com propriedades e operações que permitem manter e manipular subscrições de eventos referentes à evolução de objetos e versões e reagir diante da ocorrência destes eventos. Para atender os requisitos das diferentes aplicações, esta proposta especifica três estratégias. Cada uma delas apresenta diferentes funcionalidades: notificação ativa (enviar mensagens sobre mudanças ocorridas); notificação passiva (armazenar informações sobre mudanças ocorridas) e propagação (alterar o conteúdo do banco de dados automaticamente). Para validar o mecanismo proposto, uma implementação é apresentada para o sistema Oracle 8.
Resumo:
Este trabalho apresenta uma extensão do padrão ODMG para o suporte ao versionamento de objetos e características temporais. Essa extensão, denominada TV_ODMG, é baseada no Modelo Temporal de Versões (TVM), que é um modelo de dados orientado a objetos desenvolvido para armazenar as versões do objeto e, para cada versão, o histórico dos valores dos atributos e dos relacionamentos dinâmicos. O TVM difere de outros modelos de dados temporais por apresentar duas diferentes ordens de tempo, ramificado para o objeto e linear para cada versão. O usuário pode também especificar, durante a modelagem, classes normais (sem tempo e versões), o que permite a integração desse modelo com outras modelagens existentes. Neste trabalho, os seguintes componentes da arquitetura do padrão ODMG foram estendidos: o Modelo de Objetos, a ODL (Object Definition Language) e a OQL (Object Query Language). Adicionalmente, foi desenvolvido um conjunto de regras para o mapeamento do TV_ODMG para o ODMG a fim de permitir o uso de qualquer ODBMS para suportar a extensão proposta.
Resumo:
Um esquema de banco de dados certamente sofrerá alguma alteração com o passar do tempo. Algumas das causas destas modificações são ocorrência de um aumento no domínio do sistema, erros ocorridos na fase de projeto, mudanças na realidade representada pelo sistema, ou a necessidade de melhoria no seu desempenho. O uso de bancos de dados temporais é uma alternativa para o armazenamento das informações da evolução, pois permite sua recuperação por meio do histórico de suas mudanças. O presente trabalho propõe um ambiente para implementar evolução de esquemas sobre um BDOO, utilizando o Modelo Temporal de Versões (TVM). Deste modo, características de versões e de tempo são utilizadas tanto no nível dos esquemas como nos dados armazenados. Estados são associados às versões de esquema para representar seus estágios de desenvolvimento durante a evolução. O gerenciamento das versões de esquema é realizado por intermédio de uma camada denominada meta-esquema. Em um outro nível, o gerenciamento das instâncias é realizado por meio de uma camada denominada metadados, inserida para cada versão de esquema definida. Por intermédio destes controles é possível analisar a evolução dos esquemas como um todo e, para cada esquema, as correspondentes versões de seus dados e sua evolução temporal. Algumas alternativas de consulta para um ambiente com estas características são analisadas. O trabalho apresenta, ainda, as características básicas de um protótipo implementado para verificar a viabilidade da proposta apresentada.
Resumo:
As aplicações que lidam com dados temporais e versionados podem ser modeladas através do Modelo Temporal de Versões. No entanto, para que se possa utilizar esse modelo,é necessário que bases de dados tradicionais sejam estendidas para bases temporais versionadas, habilitando dessa forma, a manipulação desses dados. O padrão XML tem sido amplamente utilizado para publicar e trocar dados pela internet. Porém, pode ser utilizado também para a formalização de conceitos, dados, esquemas, entre outros. Com a especificação do Modelo Temporal de Versões em XML,é possível gerar automaticamente um script SQL com as características do modelo, de forma a ser aplicado a um banco de dados, tornando-o apto a trabalhar com os conceitos de tempo e de versão. Para isso,é necessário criar regras de transformação (XSLT), que serão aplicadas às especificações definidas para o modelo. O resultado final (script SQL) será executado em uma base de dados que implemente os conceitos de orientação a objetos, transformando essa base em uma base temporal versionada. Cada banco de dados possui sua própria linguagem de definição de dados. Para gerar o script em SQL com as características do Modelo Temporal de Versões, regras de transformação deverão ser definidas para os bancos que utilizarão o modelo, observando sua sintaxe específica. Essas diversas regras serão aplicadas à mesma especificação do modelo em XML. O resultado será o script em SQL definido na sintaxe de cada base de dados.
Resumo:
A utilização de versões tem sido essencial em diversas aplicações de banco dados, por permitir o armazenamento e a manipulação de diferentes estados da base de dados. Durante a evolução de um esquema, o versionamento preserva todas as versões de esquemas e de seus dados associados. Por outro lado, os conceitos de bancos de dados bitemporais, que incorporam tanto tempo de transação quanto tempo de validade, provêm flexibilidade ao mecanismo de evolução de esquemas, não somente por permitir acesso a informações presentes, passadas e futuras, mas também por permitir atualizações e consultas entre as diversas versões de esquemas existentes. O objetivo principal desta tese é definir um modelo que utilize os conceitos de tempo e de versão para permitir o gerenciamento da evolução dinâmica de esquemas em bancos de dados orientados a objetos. O resultado, o Modelo Temporal de Versionamento com suporte à Evolução de Esquemas (TVSE - Temporal and Versioning Model to Schema Evolution), é capaz de gerenciar o processo de evolução de esquemas em todos os seus aspectos: versionamento e modificação de esquemas, propagação de mudanças e manipulação de dados. Esse modelo difere de outros modelos de evolução de esquemas por permitir o gerenciamento homogêneo e simultâneo do histórico da evolução do banco de dados intencional e extensional. Com o objetivo de complementar a definição deste modelo é apresentado um ambiente para gerenciar o versionamento temporal da evolução de esquemas. Desse ambiente foi implementado um protótipo da ferramenta de apoio ao gerenciamento de evolução de esquemas. Por fim, enriquecendo o universo da tese e com o intuito de prover uma maior fundamentação teórica e matemática para descrever as políticas de evolução de esquemas, é especificada uma semântica operacional para um subconjunto do modelo proposto.
Resumo:
A utilização de versões permite o armazenamento de diferentes alternativas de projeto no desenvolvimento de uma aplicação. Entretanto, nem todo o histórico das alterações aplicadas sobre os dados é registrado. Modificações importantes podem ser realizadas e os valores anteriores são perdidos. O histórico completo somente é acessível através da junção de versões com um modelo temporal. Os conceitos de tempo e de versão aplicados em conjunto possibilitam a modelagem de aplicações complexas. Uma extensão que implemente simultaneamente estes dois conceitos em um banco de dados comercial não está disponível. O Modelo Temporal de Versões (TVM – Temporal Version Model) fornece a base para esta funcionalidade. O objetivo deste trabalho é projetar um extender para oferecer suporte aos conceitos de tempo e versão no sistema DB2, utilizando como base o TVM. A extensão engloba o mapeamento da hierarquia do TVM; a criação de tabelas administrativas; procedimentos para especificação das classes, atributos e relacionamentos; a definição de gatilhos e restrições para a manipulação dos dados diretamente nas tabelas criadas; e a especificação de procedimentos e UDFs para controle de versões e valores temporais e de outras UDFs que permitem consultas envolvendo os dois conceitos. Apesar do SGBD não ser totalmente orientado a objetos, como é definido no modelo utilizado (TVM), oferece mecanismos que permitem o mapeamento para um modelo objetorelacional. Através da utilização desta extensão, a união de tempo e de versões pode ser utilizada em aplicações reais.
Resumo:
Modelos de bancos de dados têm sido progressivamente estendidos a fim de melhor capturar necessidades específicas de aplicações. Bancos de dados versionados, por exemplo, provêm suporte a versões alternativas de objetos. Bancos de dados temporais, por sua vez, permitem armazenar todos os estados de uma aplicação, registrando sua evolução com o passar do tempo. Tais extensões sobre os modelos de dados se refletem nas respectivas linguagens de consulta, normalmente sob a forma de extensões a linguagens conhecidas, tais como SQL ou OQL. O modelo de banco de dados TVM (Temporal Versions Model ), definido sobre o modelo de banco de dados orientado a objetos, suporta simultaneamente versões alternativas e o registro de alterações de objetos ao longo do tempo. A linguagem de consulta TVQL (Temporal Versioned Query Language), definida a partir da linguagem de consulta SQL, permite recuperar informações do modelo de dados TVM. As construções introduzidas em TVQL têm como objetivo tornar simples a consulta do banco de dados em diversos pontos da linha temporal. Apesar das vantagens da utilização da linguagem TVQL para resgatar dados temporais do modelo TVM, existem algumas limitações importantes para seu aprimoramento. Uma delas é a alta complexidade do modelo TVM, proveniente da integração de conceitos variados como estados alternativos e rótulos temporais. Outro ponto é que, até o presente momento, não existe um interpretador para TVQL, impedindo uma experiência prática de programação de consultas. O objetivo principal deste trabalho é o desenvolvimento de uma especificação formal para a linguagem TVQL, tornando possível um estudo consistente de suas construções. Adicionalmente, uma especificação formal serve como documentação para futuras implementações de interpretadores. Neste trabalho foi desenvolvido um protótipo de avaliador de consultas e verificador de tipos para um núcleo funcional da linguagem TVQL, possibilitando também uma experimentação prática sobre os modelos propostos.