COMPARATIVO ENTRE ABORDAGENS DE SISTEMAS GERENCIADORES DE BANCO DE DADOS Anderson Roberto Ollmann (IC-Voluntária), Josiane Michalak Hauagge Dall’ Agnol (Orientadora), e-mail: [email protected]. Palavras-chave: banco de dados, modelo relacional, modelo orientado a objetos. Resumo: Esta pesquisa visa apresentar um estudo dos aspectos de duas abordagens de Sistemas Gerenciadores de Banco de Dados (SGBDs): Relacional e Orientado a Objetos. Além disso, pretende mostrar um estudo comparativo entre abordagens de banco de dados, apresentando as limitações existentes no modelo relacional e as soluções implementadas pelo modelo orientado a objetos. Essa comparação pôde ser realizada de forma mais ampla com o desenvolvimento de um estudo de caso. Introdução O processamento de informações é uma tarefa de suma importância nas atividades das organizações, principalmente para auxiliar nos processos de tomada de decisão. Para que o processamento de informações seja realizado de forma eficiente são utilizados Bancos de Dados (BDs), que são repositórios dos dados usados no processamento de informações [1]. Existem várias abordagens de bancos de dados, sendo que os bancos de dados do Modelo Relacional são os mais utilizados pelos sistemas de informação atuais. Entretanto, devido a evolução da computação, a utilização da programação orientada a objetos em larga escala e o aumento da complexidade das aplicações, a partir da década de 80 é crescente a necessidade de implementação de estruturas de representação mais sofisticadas para o tratamento dos dados. Algumas limitações do Modelo Relacional não permitem a adição dessas funcionalidades, surgindo assim novas abordagens, como o Modelo Orientado a Objetos [2]. Essa abordagem implementa novas características aos bancos de dados, visando suprir as necessidades emergentes, proporcionando maior poder semântico de representação e manipulação de dados. Materiais e Métodos Um Banco de Dados (BDs) serve basicamente para simplificar o desenvolvimento de aplicações caracterizadas pelo uso intensivo de dados. Para isso os BDs provêem serviços que diminuem o tempo de desenvolvimento através de ferramentas que permitem que o usuário: realize a entrada de dados, examine os dados e manipule os dados de acordo com a aplicação [3]. O Modelo Relacional baseia-se na teoria matemática das relações. Nesse modelo o armazenamento dos dados é feito em relações, sendo que a ligação entre os dados é feita através de relacionamentos. Os bancos de dados relacionais são utilizados principalmente em atividades comerciais, devido à capacidade de gerenciar grandes quantidades de informações, envolvendo a definição de estruturas e mecanismos para o eficiente e seguro armazenamento e manipulação das informações, controle de concorrência de transações, entre outras atividades. Apesar da grande confiabilidade dos bancos relacionais, com o passar do tempo diversas aplicações, principalmente nas áreas de CAD (Computer Aided Design), CASE (Computer Aided Software Engineering) e Inteligência Artificial, passaram a apresentar requisitos e necessidades não atendidas pelo Modelo Relacional, motivando a realização de pesquisas em outras abordagens de banco de dados [4]. Por sua vez, o Modelo Orientado a Objetos visa a persistência às aplicações avançadas e altamente dinâmicas, nas quais o enfoque principal está na especificação de objetos complexos que apresentam, freqüentemente, modificações tanto em seu valor quanto em sua estrutura. Além disso, os Bancos de Objetos permitem a execução de transações de duração mais longa, criação de novos tipos de dados para armazenamento de imagens ou textos longos e a possibilidade de definição de operações nos padrões específicos da aplicação. Resultados e Discussão O Modelo Relacional é considerado fácil de ser utilizado, porém, por ser excessivamente simplificado e normalizado, torna difícil a representação de aplicações que utilizam estruturas mais complexas. Como exemplo, para se representar um objeto complexo nesse modelo é necessário à realização de um número considerável de operações de junção para recuperação do objeto, pois o mesmo estará subdividido em um grande número de tuplas. Além disso, junções são operações pesadas e impedem construções dinâmicas de objetos complexos. O Modelo Orientado a Objetos apresenta maior flexibilidade na manipulação de estruturas complexas, pois por meio de identificadores de objetos manipula os dados como um todo, de forma consistente, mantendo uma correspondência direta entre os objetos do mundo real e os do banco de dados. Uma diferença significativa entre as duas abordagens é na maneira como eles vêem os dados. O modelo de dados Relacional trabalha os dados como relações, cada um tendo uma coleção de tuplas armazenadas em um arquivo. Já no modelo Orientado a Objetos (OO), um BD é considerado como uma coleção de objetos do mundo real [5]. Para constatar na prática as diferenças entre as abordagens Relacional e OO foi desenvolvido um estudo de caso: o Sistema de Controle de Consultas Médicas. Para tanto, foi utilizada a linguagem JAVA para sua implementação. Sendo assim, foi possível constatar diversas vantagens do uso de um Banco de Objetos juntamente com uma linguagem de programação OO. O Banco de Dados Relacional utilizado para o desenvolvimento desse estudo foi o MySql [6], enquanto que o DB4Objects [7] foi o Banco de Dados Orientado a Objeto utilizado. Também pode-se verificar que para a realização do mapeamento do BD Relacional com o sistema, é necessário utilizar-se diversos comandos, pois se trata da ligação de uma linguagem OO com um Banco de Dados Relacional. Já o mapeamento entre um Banco de Objetos com o sistema, é realizado de forma simples, pois ambos utilizam o paradigma Orientado a Objetos, o que torna o processo bastante simplificado. Conclusões É cada vez mais necessário a utilização de BDs nos sistemas de informações nos dias atuais, sendo que apesar dos BDs Relacionais serem os mais utilizados, existe a necessidade de se armazenar estruturas mais complexas não suportadas por eles. Com o surgimento dos Bancos de Objetos novas funcionalidades foram criadas como a representação de objetos complexos, além de novas operações como a recursividade. Devido ao aumento do uso de linguagens de programação Orientadas a Objetos, é provável que cada vez mais sejam desenvolvidos Bancos que adotem o modelo OO para simplificar o processo de mapeamento dos objetos dos sistemas. Entretanto, apesar do modelo Orientado a Objetos apresentar algumas vantagens perante o modelo Relacional, este último é mais indicado para aplicações mais simples que não necessitem de objetos complexos. Referências [1] Elmasri, R.; Navathe, S. Sistemas de banco de dados. 4. ed. São Paulo: Addison Wesley, 2005. [2] Silberschatz, A.; Korth, H.; Sudarshan, S. Sistemas de banco de dados. 5. ed. Rio de Janeiro: Elsevier, 2006. [3] Mattoso, M. Introdução a Banco de Dados. O modelo Relacional. Disponível em < http://www.cos.ufrj.br/~marta/BdRel.pdf >. Acesso em: 2 fev. 2008. [4] Edelweiss, N; Galante, R. M. Banco de Dados Orientado a Objetos e Relacional-Objeto. Disponível em: <http://www.cultura.ufpa.br/clima/bdoo/galante.pdf>. Acesso em: 4 mar. 2008. [5] Boscarioli C. et.al. Uma reflexão sobre Banco de Dados Orientados a Objetos. Disponível em < http://paginas.terra.com.br/informatica/profbianca/mack/reflexao.pdf>. Acessado em 10 mar. 2008. [6] MYSQL. Disponível em <http://www.mysql.com>. Acessado em 4 de março de 2008. [7] DB4OBJECTS. Disponível em <http://www.db4o.com/Default.aspx?AspxAutoDetectCookieSupport=1>. Acessado em 4 de março de 2008.