18
~ QUICK-GÉRMEN: UM GERADOR DE PROGRAMAS PARA MANUTENÇÃO DE BASES DE DADOS VOL TADO PARA O Mo- DELO ENTIDADE-RELACIONAMENTO Claudio Degrazia Ribeiro Pedro Manoel da Silveira NCE/UFRJ NCE -02/93 fevereiro N Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Tel.: 598-3212 -Fax.: (021) 270-8554 Caixa Postal 2324- CEP 20001-970 Rio de Janeiro -RJ

QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

Embed Size (px)

Citation preview

Page 1: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

~

QUICK-GÉRMEN: UM GERADOR DE

PROGRAMAS PARA MANUTENÇÃO DEBASES DE DADOS VOL TADO PARA O Mo-

DELO ENTIDADE-RELACIONAMENTO

Claudio Degrazia RibeiroPedro Manoel da Silveira

NCE/UFRJ

NCE -02/93

fevereiro

N�

Núcleo de Computação EletrônicaUniversidade Federal do Rio de Janeiro

Tel.: 598-3212 -Fax.: (021) 270-8554Caixa Postal 2324- CEP 20001-970

Rio de Janeiro -RJ

Page 2: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

" ,

, -QUICK-GERMEN: UM GERADOR DE PROGRAMAS PARA MANUTENÇAO DE BASES

DE DADOS VOLTADO PARA O MODELO ENTIDADE-RELACIONAMENTO

RESUMO.,

Este artlgo apresenta QUICK-GERMEN, umgerador de programas que tem como base umaextensão do Modelo Entidade-Relacionamento. QUICK-GERMEN recebe comoentrada um diclonário de dados (Quearmazena informações sobre o esquema E-Respecificado) e gera automaticamente telase programas parq. a -manutenção da base dedados de uma apllCaçaO.

QUICK-GÉRMEN: A PROGRAM GENERATOR FOR MAINTENANCE OF DATABASESBASED UPON THE ENTITY-RELATIONSHIP MODEL

ABSTRACT

This paper presents QUICK-GÉRMEN, aprogram generaror based upon an extensionof the Entity-Relationship Model. QUICK-GERMEN accepts a data dicLionary as input(which con�ains informations about thespecified E-R schema) and generatesautomatically a set of screens and aRrogram for the maintenance of theaatabase of an application.

Page 3: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

, -QUICK-GERMEN: UM GERADOR DE PROGRAMAS PARA MANUTENÇAO DE BASES

DE DADOS VOLTADO PARA O MODELO ENTIDADE-RELACIONAMENTO

RESUMO, "

Este artlgo apresenta QUICK-GERMEN, umgerador de programas qve tem como base umaextenscto do Modelo Entidade-Relacionamento. QUICK-GERMEN recebe comoentrada um diclonário de dados (guearmazena informações sobre o esquema E-Respecificado) e gera automaticamente telase programas parq. a -manutençcto da base dedados de uma apllCaçao.

QUICK-GÉRMEN: A PROGRAM GENERATOR BASED UPON THE ENTITV-RELATIONSHIP MODEL

ABSTRACT

This paper presents QUICK-GÉRMEN, aprogram generator based upon an extensionof the Entity-Relationship Model. QUICK-GERMEN accepts a data dictionary as input(which contains informations about thespecified E-R schema) and generatesautomatically a set of screens and aRrogram for the maintenance of theaatabase of an application.

Page 4: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

, -QUICK-GERMEN: UM GERADOR DE PROGRAMAS PARA MANUTENÇAO DE BASES DE

DADOS VOLTADO PARA O MODELO ENTIDADE-RELACIONAMENTO

Cláuàio Degrazia RibeiroPedro Manoel da Silveira

Núcleo de Computação Eletrônica -UFRJCaixa Postal 2324, CEP 20001-970, Rio de Janeiro, RJ, Brasil

E-mail: [email protected]

RESUMO

Este artigo apresenta QUICK-GÉRMEN, um gerador de programas quetem como base uma extensão do Modelo Entidade-Relacionamento.QUICK-GÉRMEN recebe como entrada um dicionário de dados (quearmazena informações sobre o esquema E-R especificado) e geraautomaticamente telas e programas para a manutenção da base dedados je uma aplicação.

ABSTRACT

This paper presents QUICK-GÉRMEN, a program generator based uponan extension of the Entity-Relationship Model. QUICK-GÉRMENaccepts a data dictionary as input (which contains informationsabout the specified E-R schema) and generates automatically aset of screens and a program for the maintenance of thedatabase of an application.

1- INTRODUÇÃO

A utilização do Modelo Entidade-Relacionamento é, em geral,restrita à fase de modelagem l6gica da base de dados e aimplementação efetiva é feita com auxílio de um modelo auxiliar,como o relacional ou hierárquico. Esta característica,largamente difundida, faz com que a visão E-R da base de dados,usada como referência conceitual, fique distante da visão deimplementação, que é usada como referência nos programas eprocedimentos de manipulação dos dados.

No âmbito do nosso projeto, temos trabalhado com o objetivo deanalisar os efeitos de haver um único modelo referencial, tantono nível de projeto, quanto no nível operacional de manipulaçãodos dados. As primitivas disponíveis para operar os dados estãodiretamente ligadas ao diagrama E-R que descreve a organizaçãodos dados.

Nesse contexto, este trabalho apresenta um gerador de programas,denominado QUICK-GÉRMEN, que, a partir da descrição doscomponentes de um esquema E-R e de suas interligações, constr6iprogramas para manipular a base de dados correspondente. Osprogramas possuem rotinas para a realização das transações maisusuais como inclusão, exclusão e alteração e também tratam os

Page 5: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

efeitos colaterais resultantes das restriçOes de integridade,tais como chaves, cardinalidades e dominios. Conforme abordagemsugerida em [CLEA1988], os programas gerados possuem tantopadrOes repetitivos para quaisquer transaçOes do mesmo tipogeradas, quanto partes variáveis que v ao depender do esquema E-Rdefinido pelo usuário.

e

É importante salientar que, embora os programas gerados sejamautOnomos, robustos e completos; a construção de aplicações, emgeral, envolve a codificação de transações mais complexas emenos triviais. Assim, embora QUICK-GÉRMEN não possa serconsiderado um gerador de aplicações em si, ele pode ser vistocomo uma importante ferramenta no desenvolvimento de aplicaçõespara bancos de dados pelas seguintes razões: i) pode gerartrechos que certamente v ao ser parte das aplicações,constituindo-se num mecanismo eficaz para reutilização de c6digoe ii) pode ser de extrema utilidade na prototipação eidealização de uma aplicação, devido a rapidez com que se passada fase de modelagem l6gica do banco de dados à sua utilização

experimental.

Na implementaçao corrente, QUICK-GÉRMEN gera programas Pascalque fazem uso da biblioteca de métodos Turbo Vision. Istopermite que interfaces elaboradas possam ser obtidas. Alémdisso, os programas gerados têm acesso à base de dados atravésda manipulaçao de objetos e métodos também gerados a partir dadescriçao da base.

Este artigo está estruturado da seguinte maneira. A seção 2descreve algumas extensões ao modelo Entidade-Relacionamento noqual este trabalho se baseia. Na seção 3, encontramos umadescrição do funcionamento de QUICK-GÉRMEN e a definição de suascaracteristicas principais. A seção 4 apresenta a especificaçãodas transações de atualização geradas através de um exemplo. Aseção 5 apresenta os principais aspectos da implementação, quefoi desenvolvida segundo o paradigma de orientação a objetos.Finalmente, a última seção apresenta as conclusões do trabalho esugere algumas extensões.

2- O MODELO ENTIDADE-RELACIONAMENTO E EXTENSOES

QUICK-GÉRMEN trabalha com bancos de dados que seguem adisciplina de modelagem do Modelo E-R básico definido por Chen[CHEN1976] .Porém, algumas extensOes foram introduzidas paratornar o ambiente mais eficiente e completo. Esta seç�oapresenta algumas destas extensOes.

o conceito de generalização [PECK1988] foi implementado de formasimples, visando uma solução eficiente. Todas as implicaçõesocasionadas pelo conceito são suportadas, tais como herança dechaves e ordens.

Atributos referenciais sao atributos que retornam referências aoutras entidades do esquema. Este conceito é importante eextremamente útil, uma vez que elimina, em muitos casos, a

Page 6: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

necessidade de introduzirmos relacionamentos l:n ficticios,sAo melhor expressos com o presente conceito.

que

Ordens permitem acesso a conjuntos de entidades ourelacionamentos de tal forma que a seqtiência em que asinstancias sao obtidas fique previamente estabelecida. Issoequivale ao uso de indices e chaves, constituindo-se num desvioda funçao do E-R como referência conceitual apenas, uma vez queesta caracteristica foi introduzida no modelo devido à suautilizaçao na implementaçao.

o relacionamentos que também podementidade participante em outros

associativas podem ter atributos,

Entidades associativas saassumir o papel derelacionamentos. Entidadesordens e cardinalidades.

� desob

ou

Atributos virtuais, que podem ser especificados atravésregras de produçao ou como expressOes. sao calculadosdemanda em funçao dos atributos estáticos de uma entidaderelacionamento.

Cardinalidades, que sao uma classe particular de restriçOes deintegridade. Ceri [CERIl992] e Lenzerini [LENZl983] propOemestruturas adequadas para expressá-las em um Modelo Entidade-Relacionamento enriquecido. Estas restriçOes de cardinalidadesao observadas por QUICK-GÉRMEN de maneira que os programasgerados nao permitem que o usuário viole a integridade do bancode dados. A cardinalidade minima e cardinal idade máxima de umconjunto de entidades El em relaçao a um outro conjunto deentidades E2 no contexto de um relacionamento R representam onúmero minimo e máximo de instancias de um conjunto de entidadesEl que podem se relacionar a uma instancia de um outro conjuntode entidades E2 através de um determinado relacionamento R.

3- O FUNCIONAMENTO DE QUICK-GÉRMEN

QUICK-GÉRMEN está inserido em um ambiente de desenvolvimento desoftware denominado QUICK-DB [SILV1990] .Este ambiente écomposto por um conjunto de ferramentas de software que o tornamprático, simples e didático no desenvolvimento de aplicaçOes debancos de dados. Através do QUICK-DB, é possivel o projeto, amanutençao e a manipulaçao de bancos de dados construidos sobreo Modelo Entidade/Relacionamento.

QUICK-DB é formadodescrito na figura I

vários interligadoscomponentespor como

Page 7: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

"

FIGURA 1- QUICK-DB

3.1- DEFINIÇÃO DAS CARACTERfsTICAS

QUICK-DB apresenta uma ferramenta gráfica, chamada dediagramador E-R, para especificaçao de diagramas E-R e as demaisferramentas do projeto devem tomar o diagrama definido pelodiagramador E-R como base.

o dicionário de dados é um banco de dados que armazenainformaçOes sobre o esquema que foi especificado pelodiagramador E-R. Assim, QUICK-GÉRMEN recebe como entrada odicionário de dados (com as definiçOes de entidades erelacionamentos, seus atributos, suas chaves e ordens, ascardinal idades dos relacionamentos, etc ) e gera automaticamente

Page 8: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

um conjunto de telas e transaçOes com todas as funçOescriaçao e manutençao da base de dados de uma aplicaçao.

para

Para cada entidade ou relacionamento, são geradas as transaçõesde alteração, exclusão e inclusão de suas instâncias. Cadatransação possui uma ou mais telas de manutenção para interfacecom o usuário. As transações realizam algumas consist�nciasautomaticamente e erros detectados durante o processamento datransação são indicados e a transação não se realiza.

QUICK-GÉRMEN no âmbito do QUICK-DBo esquema de utilização depode ser visto na figura 2.

f'As rotinas de alteraçao, exclusao e inclusao sao geradas demaneira a impedir que o usuário viole determinadas regras deintegridade. O banco de dados deve estar obrigatoriamenteíntegro ap6s a realizaçao de uma transaçao. Assim, pode-seadotar dois procedimentos para evitar que o banco esteja em umestado incorreto ap6s uma transaçao: a) rejeitar a transaçao quedeixe o banco de dados em um estado incorreto e b) realizaroperaçOes adicionais para garantir que o resultado final seja umestado correto.

FIGURA 2- ESQUEMA DO QUICH-GERNEN COM UTILIZACAO DO SERUIDOR E-R

As regras de integridade verificadas são: i) integridade deentidade [DATE1986], ii) integridade referencial [DATE1986] eiii) restrição de cardinalidade.

As operaçOes adicionais fazem com que a transaçao sofra umefeito de propagaçao ou cascata que somente vai terminar quandoo banco de dados estiver em um estado que nao viole nenhuma dasregras de integridade citadas no parágrafo anterior.

instancia de entidadereferencial caso hajacorrespondam. Para a

Assim, por exemplo, a exclusao de umapoderia violar a regra de integridadeinstâncias de relacionamento que lhe

Page 9: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

todasnecessário estastransaçao ser executada, seriainsta.ncias também fossem excluidas.

que

Da mesma forma, a inclusao de uma instancia de entidade poderiaviolar a restriçao de cardinalidade caso toda instancia destaentidade necessite estar relacionada a pelo menos uma instanciade uma outra entidade. Para a transaçao ser executada, serianecessário a inclusao da instancia do relacionamento entre asentidades.

4- ESPECIFICAÇÃO DAS TRANSAÇõES DE ATUALIZAÇÃO

Esta seçao mostra como foram especificados os m6dulos deatualizaçao do banco de dados gerados por QUICK-GÉRMEN atravésde um exemplo prático baseado no esquema E-R mostrado pelafigura 4. A especificaçao destas transaçOes é encontrada, commaiores detalhes, em [RIBE1992] .sao seis os tipos de transaçaopossíveis: alteraçao de entidade, alteraçao de relacionamento,exclusao de entidade, exclusao de relacionamento, inclusao deentidade e inclusao de relacionamento.

FIGURA 4- ESQUEMA EXEMPLO

Este esquema E-R é referente a uma universidade, na qual, emcada per1odo letivo, todo professor deve lecionar no máximo umadisciplina. A entidade Pessoa possui os atributos Nome, Cpf,Endereço e Telefone e apresenta a chave Porcpf. A entidade Alunopossui os atributos Dre e Curso e nao apresenta chaves. Aentidade Professor possui os atributos Departamento e Registro eapresenta a chave Porregistro. A entidade Disciplina possui os

Page 10: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

atrib�tos C6digo e Créditos e apresenta a chave Porc6digo. Orelacionamento Leciona possui os atributos Turma e Horário eapreser1ta a chave Porturma .

A tela inicial da aplicação, que é comum a qualquer esquema E-R,oferece as opções Alterar, Excluir e Incluir. Ap6s o usuá�io terescolh�do uma dessas três opções, aparece um menu mostrandotodas as entidades e relacionamentos, para que o usuário indiqueaonde quer realizar a sua transação.

Ap6s ;:: usuário ter escolhido uma entre as três opções deAltera::, Excluir e Incluir, aparece a pr6xima tela, para que ousuár.:.:) possa escolher a entidade ou relacionamento no q'Cal querrealizclr a transação .

Serão descritas agora as etapas, de maneira simplificada, decada ��a das transações possíveis:

4.1- ALTERAÇÃO DE ENTIDADE

1. Ide�tificação da chave de acesso da entidade. Vide te�a 1. Ousuár.:.J escolhe a chave Porregistro para realizar aident.:.:icação de Professor.

2. Entrada dos valores dos atributos da chave. Vide tela 2. Ousuár.:.:) entra com o valor do atributo de Registro para acessar ainstâr,cia de Professor a ser al terada .

3. Alteração da instância da entidade. Vide tela 3. Os 'Jaloresatuais dos atributos da instância de Professor são mostrados e ousuário altera os campos que quiser. A alteração é realizadacaso r�do resul te em chave duplicada .

4.2- ALTERAÇÃO DE RELACIONAMENTO

Esta transação funciona de maneira análoga a Alteração deEntidade. A única diferença é que na etapa 1, de identificaçãoda chave de acesso, também vão aparecer as chaves das entidadesenvolvidas como opções para a identificação.

4.3- EXCLUSÃO DE ENTIDADE

1. Identificação da chave de acesso da entidade. Igual a etapa 1de Alteração de Entidade.

2. Entrada dos valores dos atributos da chave. Igual a etapa 2de Alteração de Entidade.

3. Exibição da instância da entidade a ser excluída. Vide tela4. A instância de Professor que vai ser excluída é mostrada. Aexclusão de uma determinada instância pode acontecer isolada oupode acarretar outras exclusões. Se houver propagação de

Page 11: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

as outras instancias que v ao ser excluidas também saoexclusao,mostradas.

4. Confirmaça.o da exclusa.o da(s) instãncia(s) .Vide tela 5. Ousuário confirma ou na.o a exclusa.o. Se tiver havido propagaça.o,ou sa.o excluidas todas as instâncias mostradas ou na.o é excluidanenhuma.

4.4- EXCLUSÃO DE RELACIONAMENTO

Esta transaç�o funciona de maneira análoga a Exclus�o deEntidade. A única diferença é que na etapa 1, de identificaç�oda chave de acesso, também v�o aparecer as chaves das entidadesenvolvidas como opçOes para a identificaç�o.

4.5- INCLUSÃO DE ENTIDADE

1. Inclusao da instancia da entidade Ei. Vide tela 6. Nestatela, o usuário preenche os valores dos atributos da entidadeProfessor. Quando a inclusao da instancia da entidade naoacarreta" propagaçao, aparece uma mensagem informando que atransaçao foi bem sucedida. Caso a inclusao acarrete umapropagaçao de inclusão, como é o caso da inclusao de Professor,a transação continua na etapa 2.

2. Decisao de propagar ou nao a inclusao. Vide tela 7. Anecessidade de propagaçao é exibida ao usuário e este informa sevai continuar ou cancelar a transaçao, visto que cada instanciade Professor precisa estar relacionada a pelo menos umaDisciplina. Caso queira continuar, continua na etapa 3.

3. Confirmaçao da existência da instancia da entidade Ej. Videtela 8. O usuário deve informar se a instancia de Disciplina jáfoi cadastrada anteriormente ou nao.

4. Identificaçao ou inclusao da instancia da entidade Ej. Caso ainstancia da entidade Ej já tenha sido cadastrada, ela deve seridentificada. Caso ainda n�o tenha sido cadastrada, ela deve serincluida.

5. Inclusao da instância do relacionamento. O usuário preencheos valores dos atributos do relacionamento Leciona. Aparece umamensagem informando que a transaçao completa foi bem sucedida.

4.6- INCLUSÃO DE RELACIONAMENTO

Esta transaçao funciona de maneira semelhante a Inclusao deEntidade. A diferença básica é que, antes da inclusao dainstancia do pr6prio relacionamento, devem ser identificadas ouincluidas as instancias das entidades envolvidas.

Page 12: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,
Page 13: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

"�","�"B,,�l �� lf) '"!"'i!'; � "!,! I

Page 14: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

5- ASPECTOS DA IMPLEMENTAÇÃO

o paradigma de

três :ases: a)

servidores e c)

utilização de QUICK-DB passa, basicamente, pordefiniçdo do esquema, b) geraçdo de �,ódulos

manipulação da case de dados.

SERVIDOR E-R

A geraçd.o de m6dulos servidores é a fase em que, a partir dodicionário de dados, sd.o geradas rotinas que atuard.o comoservid�res das bases de dados. QUICK-GÉRMEN utiliza-se destabiblio�eca de funções previamente definida, denominada SERVIDORE-R [DELV1991] .Existe um utilitário que gera esta biblioteca defunções a partir do esquema E-R especificado. O SERVIDOR E-R foidesenv�lvido para o Turbo Pascal 6.0 segundo a abordagem deorient3çd.o a objetos e é composto pelas definições de umacoleçd.� completa de objetos e métodos que permitem a manipulaçd.odo banco de dados sem a preocupaçd.o com aspectos deimplementaçd.o do mesmo.

Além de facilitar o acesso ao banco de dados para QUICK-GÉRMEN,o SER\'IDOR E-R também traduz operações para a interface comsistem�s especialistas [PACI1992] e viabiliza as operações deconsul:a [TRIN1991] .

o ser'Jiàor E-R objeti va proporcionar um suporte ao nívelconceitual, possibilitanào o àesenvolvimento de aplicações queutilizam o banco de dados sem o conhecimento de detalhesinternos do mesmo. Há uma separaçd.o entre os níveis físico econcei:ual: o nível físico é controlado pelas métodospertencentes ao servidor E-R e o nível conceitual é controladopelos programas de aplicaçd.o ou pelos m6dulos àe transaçd.ogerados por QUICK-GÉRMEN. Para o controle do nível físico, osmétoàos de acesso fazem uso do TURBO PASCAL DATABASE TOOLBOX[PASC1987], que necessita ser configurado para cada banco dedados gerado.

Um esquema ilustrativo da hierarquia de níveis de acesso a basede dados é encontrado na fiqura 3.

Page 15: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

"

FIGURA 3- HIERARQUIA DE ACESSO A BASE DE DADOS

Como exemplo de métodos de acesso e manipulação do banco dedados encontrados no SERVIDOR E-R podemos citar: i) gravaadiciona uma instancia do objeto no arquivo de dadoscorrespondente, ii) apaga remove uma instancia do objeto noarquivo de dados correspondente, iii) altera atualiza umainstancia do objeto no arquivo de dados correspondente, iv)instância retorna uma instancia do objeto a partir de umidentificador, v) cria gera a base de dados com instanciasvazias, vi) encontra é utilizado na busca de uma instancia quecontenha atributo igual a determinada chave, vii) iniciaposiciona no inicio de uma determinada ordem e viii) próximoobtém a pr6xima instancia a partir de uma determinada ordem.

5.2- ORIENTAÇÃO A OBJETOS

o desenvolvimento de QU��GÉRMEN foi feito baseando-se noparadigma de �ta-çao à -objetos [CATE1991] .Assim, o programagerado considera cada entidade ou relacionamento do esquema E-Rcomo sendo um objeto, que possui métodos tais como: inclusao,exclusao, alteraçao e identificaçao.

o banco de dados também é orientado a objetos e possuiquatro classes de objetos: banco de dados, conjunto, ordem eelemento. Conjuntos de entidades e relacionamentos s�oconsiderados uma mesma classe de objeto. As ordens tambémconstituem uma classe de objetos que manipulam elementos dosconjuntos de entidades ou relacionamentos. Cada elementocorresponde a uma instAncia definida em um conjunto de entidadesou relacionamentos, também considerada como uma classe. Para

Page 16: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

cada classe existe um conjunto de métodos vistos pelo usuário,que possibilitam a manipulaçao de cada objeto. É importanteressaltar que existe também um conjunto de métodos que naoaparecem para o usuário e servem para manipulaçao interna dearquivos da base de dados.

5.3- INTERFACE

Os programas gerados fazem uso da biblioteca de métodos do TurboPascal 6.0, chamada Turbo Vision [VISI1990] para a definiçao deinterfaces. O Turbo Vision oferece uma infra-estrutura básica,composta de uma biblioteca orientada a objetos, que pode serusada por qualquer aplicaçao que necessite de uma interface como usuário interativa, flexível e de alta performance.

�Dessa forma, o usuário pode executar as atualizaçOes em sua basede dados de maneira simples, direta e nao ambígua; através danavegaçao por telas racionais e uniformes.

6- CONCLUSOES

QUICK-GÉRMEN está operacional, sendo capaz de gerarautomaticamente programas contendo os tipos de transação maisusuais como inclusão, exclusão e alteração de entidades erelacionamentos. Nestas operaçOes, são respeitadas aspropriedades do esquema E-R tais como cardinalidades,dependências de inclusão e exclusão, chaves e atributosobrigat6rios. As transaçOes geradas fazem uso da biblioteca demétodos do TURBO PASCAL para a definição de interfaces, gerandoprogramas compactos, elegantes, robustos e com interfaceselaboradas.

As classes de objetos que formam o banco de dados sao acessadaspor métodos contidos no servidor E-R. Estes métodos, tambémchamados de rotinas de manipulaçao, isolam os programas geradospelo QUICK-GÉRMEN de detalhes internos do banco.

Verifica-se que QUICK-GÉRMEN utiliza-se destas rotinas para acriaçao das transaçOes de atualizaçao, obtendo outras rotinascom um nivel de abstraçao mais elevado. As transaçOes foramimplementadas aproveitando o suporte para a interface com ousuário oferecido pelo TURBO VISION.

Uma extensao importante para este trabalho consiste na adaptaçaodos m6dulos de transaçao gerados para que estes possam serreutilizados por programas de aplicaçao. Uma outra possívelextensao seria a implementaçao de mecanismos de escape[BIGG1987], que sao procedimentos arbitrários que sao colocadosem trechos específicos de programas gerados, aumentando a suafuncionalidade.

Concluindo, com a atual versao de QUICK-GÉRMEN, é possivel geraraplicaçOes para manutençao dos bancos de dados, através de um

Page 17: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

.

conjunto deRelacionamento.

voltadotransaçOes Modelo Entidade-para o

Assim, o presente trabalho propOe um gerador de programassimples e aberto a extensOes, tanto no nivel de gerador, quantodo programa gerado. sao utilizados e integrados conhecimentos dereutilizaçao de software e banco de dados. Tudo isso inserido emum ambiente de projeto, manutençao e manipulaçao de bancos dedados construidos sobre o modelo Entidade-Relacionamento.

REFERÊNCIAS

[BIGG1987] Biggerstaff, T. e Richter, C., "ReusabilityFramework, Assessment, and Directions". IEEE Software, pp. 41-49, March 1987.

[CATE1991] Catell, R.G.G., "Object DataOriented and Extended Relational DatabaseWesley Publishing Company, 1991.

Management:Systems".

Object-Addison-

[CERI1992] Batini, C. ; Ceri, S. e Navathe, S.B., "ConceptualDatabase Design An Entity-Relationship Approach". TheBenjamin/Cummings Publishing Company, Inc., 1992.

[CHENI976] Chen F.F., "The Entity-Relationship Model : Towarda Unified View of Data". ACM Transactions on Database Systems,vol. 1, no.1, March 1976, pp. 9-36.

[CLEA1988] Cleaveland, J.C., "Building Application Generators"IEEE Software, pp. 25-33, July 1988.

[DATE1986] Dat� C.J., "AnVolume I". Addison-WesleyEdition, 1986.

IntroductionPublishing

to Database

Company, Inc.,

Systems,Fourth

[DELV1991] Delvaux, M.M., "Geraç�o de Rotinas Orientadas aObjetos para Manipulaç�o de um Banco de Dados". Projeto Final deCurso, Instituto de Matemática, UFRJ, 1991.

M. e Santucci, G.,Model". Proceedings

on Entity-Relationship

"Cardinalityof the ThirdApproach, pp.

[LENZ1983] Lenzerini,Constraints in the E-RInternational Conference529-549, October 1983.

[PACI1992] Pacitti, E.C. e Silveira, P.M., "Um Sistema de Regrasde Produçao Fortemente Acopladas a Bancos de Dados". Anais doVII Simp6sio Brasileiro de Banco de Dados, pp. 175-189, PortoAlegre, Maio de 1992.

[PASC1987] Borland International,Toolbox" .Scotts Valley, Ca, 1987.

Inc., "Turbo Pascal Database

[PECK1988] Peckham, M.ACM Computing Surveys,

e Maryanski, F., "Semantic Data Mode1s".vo1. 20, no.3, September 1988.

Page 18: QUICK-GÉRMEN: UM GERADOR DE BASES DE DADOS VOL … · quick-germen: um gerador de programas para manutenÇao de bases de dados voltado para o modelo entidade-relacionamento resumo.,

í

[RIBE1992] Ribeiro, C.D., "Um Gerador de TransaçOes Voltado Pa.rao Modelo Entidade-Relacionamento". Tese de Mestrado, Programa deEngenharia de Sistemas, COPPE/UFRJ, Maio de 1992.

[SILV1990] Silveira, P.M., "Definindo e Utilizando Bancos deDados com o Modelo Entidade-Relacionamento". Anais do XXIIICongresso Nacional de Informática, Rio de Janeiro, 1990.

[TRIN1991] Trinkenreich, H., "Aspectos da Implementaçao deInterfaces Gráficas para Consultas a Bancos de Dados". Tese deMestrado, Programa de Engenharia de Sistemas, COPPE/UFRJ, Maiode 1991.

�.." [VISI1990] Borland International, Inc. , "Turbo Pascal 6.0

Turbo Vision Guide". Scotts Valley, Ca, 1990.

.,

�(-

"