ANÁLISE COMPARATIVA ENTRE OS BANCOS DE DADOS ADABAS, DATAFLEX, ORACLE E PROGRESS. Oscar Dalfovo, MAN Doutorando pela Universidade Federal de Santa Catarina Professor do Depto de Sistemas e Computação Universidade Regional de Blumenau Rua: Antônio da Veiga, 140 89010-971 Blumenau – SC Tel.: (047) 321-0278 Cel.: (047) 982-1890 Fax : (047) 322-8818 E-mail [email protected] Luiz Fernando J. Maia, Dr. Prof. da Universidade Federal de Santa Catarina. (048) 981-9623 [email protected] Aldir Tirelli Bacharel em Ciências da Computação Universidade Regional de Blumenau RESUMO O presente trabalho apresenta uma Análise Comparativa entre os Bancos de Dados Adabas, Dataflex, Oracle e Progress utilizando a Norma ISO/IEC 9126 como critério comparativo. Além disso, foi desenvolvido um protótipo em cada um dos bancos de dados, o qual será utilizado para manipulação de dados e comparativos para análise entre eles. ABSTRACT The present work presents a Comparative Analysis among the Data Bases Adabas, Dataflex, Oracle and Progress using the ISSO/IEC 9126 Norm like as in comparative criterion. Also this, it will be created a prototype to each one of the each one of the Data Bases, that it will be used to manipulation and comparative of the Datas Bases. PALAVRAS CHAVES: Banco de Dados, Norma ISO/IEC INTRODUÇÃO De acordo com [DAT91], o crescimento do uso de computadores em aplicações industriais, administrativas e científicas conduziu a mecanização de grandes volumes de dados. No final dos anos 50 e início dos anos 60, iniciou-se a coleta e armazenamento de dados em arquivos de computadores. A cada nova necessidade surgida, um novo arquivo era gerado. Diferentes grupos dentro de uma mesma organização desenvolviam suas próprias aplicações, coletando e mantendo arquivos particulares. Arquivos e programas eram projetados um para o outro. Verificou-se então, o início da conscientização sobre a necessidade de uma gerência de dados e aplicações centralizada a partir de dificuldades da alta gerência em obter informações necessárias para suporte às decisões, isto porque: para atender a um pedido, era necessário criar um programa de modo a acessar vários arquivos em formatos diferentes. Normalmente o pedido era suspenso porque ou não valia o custo envolvido nesta operação, ou porque a informação era obtida tardiamente. Outro problema grave era a falta de integridade das informações, isto devido a duplicidade de informação armazenada ocasionando emissão de relatórios conflitantes. Finalmente as organizações perceberam que os dados eram um recurso muito valioso e que deveria ser gerenciado adequadamente. Além de problemas de dificuldade no acesso a dados, e de múltiplos usuários o sistema pode apresentar outros problemas tais como: Redundância de dados e inconsistência; Isolamento de dados; Problemas de segurança; Problemas de integridade e outros. Estas dificuldades induziram ao desenvolvimento de sistemas gerenciadores de banco de dados. Um sistema gerenciador de banco de dados é formado por uma coleção de arquivos inter-relacionados e um conjunto de programas, que permitem a diversos usuários acessar e modificar esses arquivos. Um propósito central de um sistema de banco de dados é o de proporcionar aos usuários uma visão "abstrata" dos dados. Isto é, o sistema esconde certos detalhes de como os dados são armazenados ou mantidos. Porém para que o sistema seja utilizável, os dados precisam ser recuperados eficientemente. FUNDAMENTOS TEÓRICOS De acordo com [DAT91], Banco de Dados é um conjunto de arquivos que armazenam dados de uma maneira organizada e segura em determinado meio físico, disponibilizando todas as informações solicitadas pelo cliente, além de permitir operações de manutenção, como: inserções, exclusões e atualizações. Estes dados armazenados geralmente refletem certos aspectos de interesse do mundo real. Cada alteração em algum item do banco de dados, reflete uma mudança ocorrida na realidade. Um sistema de gerenciamento de banco de dados (SGBD) consiste em uma coleção de dados inter-relacionados e uma coleção de programas para prover o acesso a esses dados. De acordo com [DAT91], os componentes de banco de dados podem ser divididos em tres grupos principais: 1) dados: trata dos valores fisicamente armazenados; 2)dados integrados quer dizer que o banco de dados pode ser imaginado como a unificação de diversos arquivos de dados que, de outra forma, seriam distintos, eliminando-se totalmente ou parcialmente qualquer redundância entre os mesmos; 3)dados compartilhados diz-se que parcelas isoladas de dados podem ser compartilhadas por diversos usuários num banco de dados, no sentido de que todos os usuários podem ter acesso à mesma parcela de dados; Sistema de Gerenciamento do Banco de Dados (SGBD) Conforme [CHU83], (SGBD) é um conjunto de programas desenhado para desempenhar determinadas funções a fim de atingir objetivos específicos envolvendo a formação e utilização de banco de dados. O SGBD apresenta as seguintes funções: sistemas específicos com armazenagem complexa de dados: são sistemas que foram desenhados para fins específicos de aplicação e podem operar com estrutura complexa de dados, principalmente com ponteiros inseridos nos registros de dados; sistemas de gerenciamento de arquivos: são sistema que possuem capacidade de criar e manter arquivos convencionais ( como seqüencial, seqüencial indexado etc); sistema de recuperação de informação: são sistemas orientados para a recuperação de informação, principalmente de textos; sistemas de banco de dados orientados para teleprocessamento: são sistemas cujo projeto estão orientados para utilização via terminais, e os arquivos são administrados segundo a linha de banco de dados, podendo operar também com monitores de teleprocessamento independentes; sistemas de gerência de banco de dados: são sistemas que têm como objetivos básico possibilitar a criação, manutenção e operação de banco de dados. Função do Administrador de Banco de Dados (DBA) De acordo com [DAT91], o DBA é a pessoa ( ou grupo de pessoas) responsável pelo controle do sistema. As responsabilidades do DBA incluem: decidir o conteúdo de informações do banco de dados; decidir a estrutura de armazenamento e a estratégia de acesso; servir de elo de ligação de usuários; definir os controles de segurança e integridade; definir a estratégia de reserva e recuperação; monitorar o desempenho e atendes as necessidades de modificações; rotinas de carga ( para criar uma versão inicial do banco de dados a partir de um ou mais arquivos); rotinas de despejo da memória e recuperação ( despejar o banco de dados num dispositivo auxiliar de armazenamento de dados, e recarregar o banco de dados a partir dessa cópia de segurança); rotinas de reorganizações; rotinas estatísticas; rotinas analíticas ( para analisar as estatísticas mencionadas). Para [KOR95], uma das principais razões para empregar um gerenciador de banco de dados é ter um controle central dos dados e dos programas de acesso a eles. A pessoa que tem esse controle sobre o sistema é chamada administrador do banco de dados. As funções do administrador do banco de dados incluem: definição de esquema: o esquema original do banco de dados é criado escrevendo-se um conjunto de definições que são traduzidas pelo compilador de DDL para um conjunto de tabelas que é armazenado permanentemente no dicionário de dados; definição de estruturas de armazenamento e métodos de acesso: estruturas apropriadas de armazenamento e métodos de acesso são criados escrevendo-se um conjunto de definições que são traduzidas pelo compilador de estruturas de dados e de linguagem de definição; modificação de esquema e de organização física: modificações no esquema do banco de dados ou na descrição da organização da armazenagem física, embora relativamente raras, são executadas escrevendo-se um conjunto de definições que são usadas pelo compilador DDL ou pelo compilador de estruturas de dados; concessão de autorização para acesso aos dados: a concessão de diferentes tipos de autorização permite ao administrador do banco de dados regular a quais partes do banco de dados os diversos usuários podem fazer acesso; especificação de restrições de integridade: restrições de integridade são mantidas em uma estrutura especial do sistema, consultada pelo gerenciador do banco de dados quando uma atualização é feita no sistema. Linguagem de Definição de Dados (DDL) Conforme [KOR95], um esquema de banco de dados é especificado por um conjunto de definições expressas por uma linguagem especial chamada linguagem de definição de dados ( Data Definition Language, DDL). O resultado da compilação de comandos de uma DDL é um conjunto de tabelas que são armazenadas em um arquivo especial chamado dicionário ( ou diretório) de dados. Um diretório de dados é um arquivo que contém metadados; isto é, “dados sobre dados”. Este arquivo é consultado antes que os dados sejam lidos ou modificados no sistema de banco de dados. Linguagem de Manipulação de Dados ( DML) Segundo [CHU83], DML é a linguagem utilizada pelo programador para a transferência de dados entre o programa de aplicação ( por exemplo, em COBOL) e o banco de dados. O DML não constitui e não funciona como uma linguagem na forma de programa hospedeiro. Os programas hospedeiros possuem portanto, a parte de procedimento e utilizam o DML para acessar o banco de dados, isto é, para adição, exclusão e atualização de dados. Para [KOR95], a manipulação de dados significa: a busca da informação armazenada no banco de dados; a inserção de novas informações nos bancos de dados; a eliminação de informações do banco de dados; a modificação de dados armazenados no banco de dados. Modelos de Dados Conforme [KOR95], fundamentalmente à estrutura de um banco de dados é o conceito de modelo de dados, uma coleção de ferramentas conceituais para descrição de dados, relacionamentos de dados, semântica de dados e restrições de consistência. Os vários modelos de dados que têm sido propostos dividem-se em três diferentes grupos: modelos lógicos baseados em objetos: são usados na descrição de dados nos níveis conceitual e de visões. Eles se caracterizam pelo fato de fornecerem, de modo conveniente, capacidades de estruturação flexíveis e admitirem restrições de dados para serem explicitamente especificados. Alguns dos mais conhecidos são: o modelo entidade-relacionamento, orientado a objeto, binário, semântico de dados, infológico e funcional de dados e funcional de dados; modelo lógico baseado em registros: são usados nas descrições de dados nos níveis conceitual e visual. Em comparação com os modelos de dados baseados em objetos, ambos são usados para especificar a estrutura lógica geral do banco de dados e para fornecer uma descrição de alto nível da implementação. Os três modelos de dados mais aceitos são o relacional, de rede e o hierárquico; modelos físicos de dados: são usados para descrever dados no nível mais baixo. Em comparação com os modelos lógicos de dados, existem poucos modelos físicos em uso. Dois dos mais conhecidos são: modelo unificador ( unitying modelo) e estrutura de memória ( frame memory). Modelo Entidade-Relacionamento Segundo [KOR95], o modelo entidade-relacionamento (E-R) é baseado na percepção do mundo real que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos. Ele foi desenvolvido para facilitar o projeto de banco de dados permitindo a especificação de um esquema de empresa. Tal esquema representa a estrutura lógica geral do banco de dados. Entidades Segundo [CHU83], entidade é tudo aquilo que pode ser identificado de maneira distinta. Tanto pode ser abstrato como concreto. Assim, uma pessoa específica, uma determinada empresa, um evento, são exemplos de entidade. As entidades podem ser classificadas segundo tipos (ou conjuntos) de entidades, por possuírem as mesmas propriedades que as caracterizam. Assim, um conjunto de pessoas que trabalham numa mesma empresa pode ser classificado como um tipo de entidade: Funcionários. Conforme [KOR95], uma entidade é um objeto que existe e é distinguível dos outros objetos. Por exemplo, John Harris com número de seguridade social 890-12-3456 é uma entidade, visto que isto identifica unicamente uma pessoa particular no universo. Assim, a conta número 401 na filial Readwood é uma entidade que identifica unicamente uma conta particular. Uma entidade pode ser concreta, como uma pessoa ou um livro, ou pode ser abstrata, como um feriado ou um concreto. Um conjunto de entidades, é um conjunto com entidades do mesmo tipo. O conjunto de todas as pessoas com conta num banco, por exemplo, pode ser definido como o conjunto de entidade cliente. Similarmente, o conjunto de entidades conta pode representar o conjunto de todas as contas de um banco particular. Atributos Conforme [KOR95], a noção de um conjunto de entidades e de um conjunto de relacionamentos não é precisa, é possível definir um conjunto de entidades e o relacionamento entre elas de diversos modos. A principal diferença é a forma como tratamos os vários atributos. Considere o conjunto de entidades funcionários com os atributos nome-funcionário e número-telefone e local (escritório onde está o telefone). Normalização Conforme [CHU83], de uma maneira genérica, uma relação pode conter atributos cujos domínios sejam também relações; dizemos então que a relação está na forma não normalizada e os domínios são do tipo “não simples”. Para a devida utilização de operadores de teoria de conjuntos é necessário que a relação não-normalizada seja transformada numa forma onde os atributos só contenham domímios simples. A relação resultante, contendo atributos com domínios simples, ainda pode conter irregularidades devido a dependências funcionais não desejáveis. Tais irregularidades se manifestam principalmente no processo de manutenção (inclusão, atualização e exclusão de tuplas) das relações. Segundo [KER94], formas normais são regras que expressam critérios práticos para a simplificação e tabelas. Cada uma destas regras apresenta um critério segundo o qual a tabela tem ou não um projeto adequado, e o processo de adequação de tabelas a estas regras práticas chama-se normalização. A normalização serve para analisar tabelas e organizá-las de forma que a sua estrutura seja simples, relacional e estável, para que o gerenciamento possa ser também simples, eficiente e seguro. Os objetivos são evitar a perda e a repetição da informação e atingir uma forma de representação adequada para o que se deseja armazenar. Primeira Forma Normal (1FN) Conforme [CHU83], uma relação R está na primeira forma normal (1FN) se e somente se todos os domínios considerados contenham somente valores atômicos (isto é, valores que não são relações). Supondo que R = R(A, B, C, D) seja uma relação não normalizada (com grau n = 4), onde os atributos A, B e C estão associados a domínios simples, e D associado a um domínio não simples. O atributo A é atributo-chave. Seja D a relação D ((X, Y, Z) onde X é atributo_chave. Podemos então considerar a relação não normalizada R (A, B, C, D(X, Y, Z)) passando através de normalização a 2 relações em 1FN na forma R1 = R1 (A, B, C) (notar que grau n = 3 a R2 = R2 (A, X, Y, Z) esta altura) Segundo Forma Normal (2FN) Conforme [CHU83], uma relação R está na Segunda forma formal (2FN) se ela está na 1FN e cada atributo dependente é funcionalmente dependente do atributo-chave e sem ser funcionalmente dependente de qualquer subconjunto do atributo-chave (no caso de ser composto de diversos atributos). Supondo que R = R (A, B, C, D, E) seja uma relação em 1FN, e que as dependências funcionais em R são: B -> C, D (C, D dependentes funcionais de B) A, B -> E (E dependente funcional de A, B) Então R pode ser decomposto em 2 relações da forma: R1 = R1 (B, C, D) R2 = R2 (A, B, E) Terceira Forma Normal (3FN) Segundo [CHU83], uma relação R está na terceira normal formal (3FN) se está em 2FN e os atributos dependentes não são dependentes transitivos do atributo-chave. Consideremos a relação R = R (A, B, C, D) em 2 FN, com seguinte dependência funcional e transitiva: A -> C com (C -/-> A) A -> D com (D -/-> A) C -> D com (D -/->C) dizemos então que D é dependente transitivo de A A relação R (em 2 FN) pode ser transformada em 2 relações (em 3FN) através da remoção da dependência transitiva, obtendo assim: R1 = R1 (A, D, C) R2 = R2 (C, D). BCNF (Boyce Codd Normal Form) Segundo [DAT91], surgiu para resolver problemas de entidades que eventualmente possam ter chaves com elementos sobrepostos. Essa proposta tenta corrigir imperfeições deixadas pela definição da terceira forma normal, que era condescendente caso a relação tivesse mais de uma chave candidata. Para isso, introduziu-se, via BCNF, a definição de que em toda relação BCNF os determinantes são chaves candidatas. A BCNF serve para analisar e organizar as tabelas de forma que a sua estrutura seja simples, relacional e estável para que o gerenciamento possa ser também simples eficiente e seguro. NORMAS DE GARANTIA DA QUALIDADE DE SOFTWARE Segundo [GRI94], as normas série ISO 9000 para a gestão e a garantia da qualidade representam o consenso de vários países para a normalização da qualidade. Elas orientam na busca da melhoria dos níveis de qualidade para os produtos, serviços e relacionamento cliente / fornecedor, através de diretrizes para a implantação de sistemas da qualidade nas empresas. A sigla ISO origina-se de International Organization for Standardization, que é o nome de um grupo internacional de normalização localizado em Genebra, na Suíça. Essa organização foi fundada em 23 de fevereiro de 1947. Entidades de normalização de mais de noventa países fazem parte desse grupo, entre os quais o Brasil é representado pela ABNT – Associação Brasileira de Normas Técnicas. Segundo [JUN98], esta série de documentos padroniza as definições de características da qualidade, subcaracterísticas e métricas que são recomendadas para serem usadas não somente na avaliação da qualidade do produto, mas também para a especificação dos requisitos da qualidade, planejamento de lista de checagem para a revisão e teste final para o projeto. Qualidade de Produtos de Software – ISO 9126 Segundo [JUN98], esta norma chama-se ISO/IEC 9126 e foi publicada em1991. Ela é uma das mais antigas da área de qualidade de software e já possui sua tradução para o Brasil, publicada em agosto de 1996 como NBR 13596. Estas normas listam o conjunto de características que devem ser verificadas em um software para que ele seja considerado um software de qualidade. São seis grandes grupos de características, cada um dividido em algumas subcaracterísticas. A seguir, segue a lista de características, subcaracterísticas e pergunta-chave para as sub-características: CARACTERÍSTICA Funcionalidade Confiabilidade Usabilidade Eficiência Manutenibilidade SUBCARACTERÍSTICA PERGUNTA CHAVE CARACTERÍSTICA PARA A SUB- Adequação Propõe-se a fazer o que é apropriado? Acurácia Faz o que foi proposto de forma correta? Interoperabilidade Interage com os sistemas especificados? Conformidade Está de acordo com as normas, leis, etc.? Segurança de acesso Evita acesso não autorizado aos dados? Maturidade Com que freqüência apresenta falhas? Tolerância a falhas Ocorrendo falhas, como ele reage? Recuperabilidade É capaz de recuperar dados em caso de falha? Intelegibilidade É fácil entender o conceito e a aplicação? Apreensibilidade É fácil aprender a usar? Operacionalidade É fácil de operar e controlar? Tempo Qual é o tempo de resposta, a velocidade de execução? Recursos Quanto recurso usa? Durante Quanto tempo? Analisabilidade É fácil de encontrar uma falha, Quando ocorre? Modificabilidade É fácil modificar e adaptar? Estabilidade Há grande risco quando se faz alterações? Portabilidade Testabilidade É fácil testar quando se faz alterações? Adaptabilidade É fácil adaptar a outros ambientes? Capacidade para ser instalado É fácil instalar em outros ambientes? Conformidade Está de acordo com padrões de portabilidade? Capacidade para substituir É fácil usar para substituir outro? Quadro: 13.4.1 Característica e Sub-característica da norma ISO/IEC 9126 Fonte : [JUN98] Segundo [JUN98], esta série de documentos padroniza as definições de características da qualidade, subcaracterísticas e métricas que são recomendadas para serem usadas não somente na avaliação da qualidade do produto, mas também para a especificação dos requisitos da qualidade, planejamento de lista de checagem para a revisão e teste final para o projeto. ORACLE Segundo [ORA96], Oracle é um sistema de gerenciamento de banco de dados relacional produzido pela Oracle Corporation de Belmont, Califórnia. A Oracle Corporation também pública usa série de produtos voltados pra uso conjunto com o banco de dados. Os usuários cadastrados no ORACLE acessam a base de dados através de uma linguagem não procedural o SQL, que pode ser procedural quando integrado com PL formando PL/SQL. Esta integração fornece total integridade, segurança e compõe uma linguagem estruturada de bloco e uma linguagem com capacidade procedural. O ORACLE dispõe de uma gama variada de ferramentas que vão desde ferramentas de manipulação dos dados, de desenvolvimento e até para viabilizar comunicação com outras bases de dados. DATAFLEX Segundo [OLI95], criado em 1981 pela software house americana DATA Access, o Dataflex foi criado inicialmente como um produto para a manipulação de arquivos de dados, com uma pequena linguagem de programação que permitia manipular as informações de forma prática e rápida. Atualmente, o Dataflex é uma ferramenta para desenvolvimento de aplicações que inclui um Sistema Gerenciador de Banco de Dados Relacional conbinado com uma línguagem de Quarta Geração Procedural e linguagem de Programação Orientada à Objetos. Como todo sistema gerenciador de banco de dados profissional, há dois modos de trabalharmos com o Dataflex. O primeiro modo é o interativo, normalmente utilizado por pessoas que não possuem muitos conhecimentos técnicos de manipulação de dados via programa, mas necessitam informatizar os seus dados em arquivos no computador, de modo que possam, por exemplo, alterá-los ou pesquisá-los posteriormente. Para pessoas com esse perfil, o Dataflex oferece ferramentas com telas interativas que permitem a criação de arquivos de dados, a entrada de dados neles e, obviamente, a sua pesquisa. Para programadores, o Dataflex oferece, além das ferramentas interativas, outras destinadas apenas ao desenvolvimento de sistemas e uma linguagem de programação de forma procedural. ADABAS Conforme [ADA95], em 1971 a Software AG, com sede em Darnstadt (Alemanha) lança a primeira versão do ADABAS, conhecido como uma família de servidores e tecnologia que combina funcionalidade e gestão avançada de dados multiplataforma. O ADABAS é um avançado sistema para gerenciamento de banco de dados relacional (SGBDR), que requer o envolvimento mínimo do DBA e não necessita de reorganização do banco de dados. É o único SGBDR desenhado desde o início com capacidades de distribuição de dados transparentes e avançadas capacidades incorporadas, não adaptadas. PROGRESS Para [PRO95], Progress é um completo Ambiente de Desenvolvimento de Aplicações baseado em componentes que oferece ferramentas de desenvolvimento e ambiente de produção para a construção, montagem e distribuição de sistemas de classe corporativa através de ambientes heterogêneos e cliente/servidor. A linha de produtos é composto pelo Ambiente visual de Desenvolvimento de Aplicações (Progress ADE (Application Development Environment)), pela Arquitetura Progress DataServer e pelo Sistema Gerenciador de Banco de Dados Relacional (SGBDR) Progress. Progress oferece ferramentas de desenvolvimento integradas, para construir completamente, aplicações de classe corporativa formada por componentes altamente interativos. Equipes de desenvolvedores podem facilmente montar, compartilhar e reutilizar aplicações através de um grande conjunto de opções de plataformas, ambientes operacionais, configurações e interfaces de usuário, sem a necessidade de alterar a lógica de aplicação. Estas ferramentas oferecem tecnologia RAD (Rapid Application Development), enorme produtividade, consistência nas aplicações e menores custos de manutenção. ANÁLISE INTERPRETAÇÃO DOS RESULTADOS Foi atribuído nota 10 para o(s) Banco(s) que melhor se saiu na subcaracterística. Os demais Bancos de Dados foram atribuídos notas proporcionais ao melhor Banco de dados. Neste trabalho foi considerado a característica eficiência como sendo essencial, as características usabilidade e confiabilidade como sendo muito importante e as características funcionabilidade e portabilidade como sendo pouco importante. A característica funcionabilidade, de um modo geral, constatou-se que existe uma boa funcionabilidade entre os bancos, com uma pequena queda com relação à segurança. Neste item, todos os bancos receberam nota 10. Na característica confiabilidade, verificou-se uma pequena queda em relação à subcategoria recuperabilidade. Foi atribuído maior peso ao banco de dados Oracle, após ter feito um modelo entidade-relacionamento e provocado falha de conexão do banco de dados, onde após a reconexão do banco de dados e o seu reposicionamento automático do SGBD, o mesmo foi capaz de recuperar os dados, automaticamente em relação a falha ocasionada anteriormente. Na categoria usabilidade é constatado uma variação em relação as subcategorias inteligibilidade, apreensibiliade e operacionabilidade. Foram atribuídos maiores notas aos Bancos de Dados Adabas e Progress nas subcaracterísticas inteligibilidade, apreensabilidade e operacionalidade. Observou-se que nos Bancos de dados Adabas e Progress, ao momento em que se faz o desenho do modelo entidade relacionamento a nível lógico é automaticamente atualizado as estruturas dos bancos de dados a nível físico. Não precisando, para isso, fazer as atualizações no modelo físico e a geração de scripts. Na característica eficiência há de se verificar que houve variação em relação à eficiência, tanto para a subcaracterística tempo como para a recursos. Em relação a subcaracterística tempo constatou-se que os bancos de dados Adabas e Dataflex obtiveram uma melhor performance. Já na subcaracterística recurso constatou-se que para executar os bancos de dados Adabas, Dataflex e Progress utilizaram-se de menos memória RAN(Ready Access Memory). Na característica manutebilidade verifica-se que houve uma pequena variação em relação a subcaracterística modificabilidade. Os bancos de dados Adabas, Dataflex e Progress receberam os maiores pesos, pelo fato que quando simula-se a inserção de um novo atributo na entidade, basta alterá-lo somente no modelo conceitual e automaticamente é feita a alteração até o nível físico. Na característica portabilidade há de se notar que existe uma pequena variação na subcaracterística adaptabilidade, foi atribuído o maior peso aos bancos de dados Dataflex, Oracle e Progress. Observou-se que esses bancos de dados foram fáceis de fazer uma adaptação de um ambiente para outro. Enquanto que o banco de dados Adabas existe uma restrição com relação ao winchester que possui 3 gigabytes de memória, ou seja, para instalar num outro ambiente tem que ser um winchester diferente de 3 gigabytes de memória. CONCLUSÃO Ao término deste trabalho, observou-se que os objetivos propostos no início do projeto foram cumpridos, uma análise comparativa entre os bancos de dados, utilizando como critério a norma ISSO/IEC 9126 para controle de qualidade de software. Aplicou-se as características e subcaracterísticas de norma gerando como resultado gráficos comparativos. Constatou-se que no banco de dados Oracle são gerados scripts para a criação física de entidades, enquanto que no Adabas, Dataflex e Progress basta criá-las apenas logicamente. Também no Case Designer/2000 pode-se criar funções, que seriam programas de cadastros e relatórios. Além disso, observou-se, no decorrer do mesmo, que no banco de dados Dataflex é possível informar o número máximo de registros por entidade. REFERÊNCIAS BIBLIOGRÁFICAS [ADA95] ADABAS: Concepts and Facilities. Estados Unidos : Software AG of North America, 1995. [CHU83] CHU, Shao Yong. Banco de Dados : organização, sistemas e administração. São Paulo : Atlas, 1983. [DAT91] DATE, C.J. Introdução a sistemas de banco de dados. Rio de Janeiro : Campus, 1988. [KER94] KERN, Vinicius Medina. Banco de dados relacionais teoria e prática de projeto. São Paulo : Érica, 1994. [KOR95] KORTH, Henry F. , Silberschatz, Abraham. Sistema de banco de dados. 2. Ed. São Paulo : Makron Books, 1995. [OLI95] OLIVEIRA, Gorki Starlin da costa. Dataflex 3.01b. São Paulo : Makron Books, 1995. [ORA96] Grupo de Usuários Oracle Brasil. Encontro Nacinal dos Usuários Oracle, 1996. São Paulo : Esfera da Publicidade, 1996. [PRO95] PROGRESS: Visão Geral de Produtos para Desenvolvimento Baseado em Componentes e Ambiente de produção. São Paulo : Progress Software Corporation, 1995.