Artigo Banco de Dados Relaticonal Objeto

Embed Size (px)

Citation preview

1

DESENVOLVIMENTO EM GRAILS COM ABORDAGEM MAPEAMENTO OBJETO RELACIONAL

Emerson Brito do Nascimento

RESUMO: Este trabalho apresenta a desenvolvimento de uma aplicao real de um instituio de ensino superior pblica, usando ferramenta Grails de desenvolvimento gil para web, uso do conceito de modelo Orientado a Objeto e modelo de dados Entidade Relacional, aplicando a abordagem de mapeamento objeto relacional ORM, apresentar como feito o mapeamento entre os objetos e entidades. Palavras-chaves: Grails, mapeamento objeto relacional, modelagem de dados. 1 - Introduo Objetivo do estudo elaborar um aplicao utilizando uma ferramente de desenvolvimento gil. O Grails ser a ferramenta utilizada para desenvolvimento gil, esta ferramente atua sobre a linguagem Groovy.A linguagem Groovy desenvolvida sobre java, ela facilita o desenvolvimento de aplicaes, simplificando comandos e estruturas que em java normalmente so complexas. Grails a prxima gerao de Java framework de desenvolvimento web que gera grandes ganhos de produtividade atravs da confluncia de uma linguagem dinmica(Grails in Action, 2009,PG 3) No estudo aplica-se o paradigma Orientado a Objeto, e modelagem de dados, Entidade Relacional. Dessa forma feito abordagem MOR ou ORM, Mapeamento Objeto Relacional, (do ingls Object Relational Maping), A qual o principal objetivo do estudo, mostra como feito esse mapeamento. Essa abordagem consistem em mapear os objetos de um modelo OO

2 com as entidades do modelo ER. A utilizao da ferramente Grails permite gera um mtodo de construo GORM (Grails In Action,G. SMITH,PETER LEDBROOK,Manning,2009), baseado em um aplicao real, foi modelado as classes do modelo OO(Orientado a Objeto) e suas respectivas entidades do modelo relacional do schema do banco de dados. O estudo tambm aborda a forma que a linguagem SQL (do ingls Structured Query Language), aplicada na construo e utilizao do banco de dados MySQL(gerenciador de banco de dados) . As ferramentas utilizada para o desenvolvimento foi NetBeans 6.9.1 (IDE- integrated Development Environment ou Ambiente Integrado de Desenvolvimento), pluing Grails para Netbeans, workbeanch MySQL (ferramenta de modelagem de Schema), MySQL(gerenciado de banco de dados ou SGBD) e Astah (ferramenta de modelagem UML).

2 - Apresentao do domino da aplicao GINFO O domnio que ser usado para estudo uma instituio de ensino superior pblica onde a carreira de professor estruturada em classes e nvel, e os integrantes de carreira docente, tero promoo de classe e ascenso de nvel. O pedido de promoo de classe dever ser formalizado, na Pr-Reitoria de Recurso Humanos Comunitrio (PRRHC), mediante requerimento devidamente protocolizado, junto com Memorial Descritivo, documentao necessria conferida com os originais. A aplicao tem que gerenciar as informaes do currculo do professor, detalhar todas as atividades exercidas, como assim seus perodos, quantidade. As classes e nveis so dividas conforme segue: a) Professor Auxiliar (nveis A, B, C e D); b) Professor Assistente (nveis A, B, C e D); c) Professor Adjunto(nveis A,B,C e D); d) Professor Associado (nveis A, B e C). O professor ascender ao nvel consecutivo de sua classe aps interstcio de dois anos mediante avaliao de desempenho. O Professor Auxiliar ascender ao nvel consecutivo de sua classe mediante a comprovao do grau de Especialista, independentemente do interstcio, interferindo na sua data base. Toda ascenso reinicia um novo interstcio. O Professor Assistente e o Professor Adjunto tero direito avaliao de desempenho

3 para ascenso de nvel quando comprovarem possuir, respectivamente, os graus de Mestre e de Doutor. O professor ser comunicado a respeito do vencimento do interstcio pela PRH, com antecedncia de 60 dias. O professor pode requerer a ascenso de nvel, em protocolizado a partir de 45 dias antes do trmino do perodo de vencimento do interstcio. A avaliao do memorial descritivo dever ser feita com base na tabela de pontuao. A avaliao acontece mediante defesa em sesso pblica do Memorial Descritivo, ser realizada por uma comisso designada pelo departamento. A comisso ser composta por trs membros e um suplente, todos docentes da mesma classe ou superior do candidato. A sesso de defesa dever ser marcada em um prazo mximo de trinta dias, a contar da data da constituio da comisso. O roteiro para a elaborao do Memorial Descritivo contm os dados do Professor e sua situao atual(nome, matrcula, regime de trabalho, classe/nvel, unidade e perodo) e as atividades agrupam-se em 6: atividades de ensino, produo acadmica, capacitao do professor, orientao, atividades administrativas e outras atividades. As tabelas a seguir completam a infraestrutura de mecanismos para proceder a avaliao do memorial.

Figura 1 - Memorial descritivo Fonte: R E S O L U O No 061/2003-CEP /UEM

4

Figura 2- Grupo de atividades Produo Acadmica Fonte: R E S O L U O No 061/2003-CEP /UEM

No ANEXO os grupos de atividades necessrio para o desenvolvimento da aplicao. 3 - Modelo Orientado a Objetos A orientao a objetos uma abordagem para desenvolvimento de software que organiza os problemas e suas solues como um conjunto de objetos distintos(Pflleger,Shari,Eng. de software.:teoria. e prtica., 2. ed.SP, 2005, pg. 210). A abordagem OO usada para identifica e analisado os objetos no mundo da aplicao(domnio do problema). Na aplicao a se desenvolvida existem entidades. O professor entidade do domnio, um professor tem que se relacionar com outras entidades, atividade,nvel,classe so outras entidades do domnio desse mundo, a partir disso comear a desenvolver a estrutura inicial do mundo onde esses objetos trocaram mensagem. Um relacionamento entre objetos e dada pelo troca de mensagens (Sommerville Eng.Software, 8.edi Pearson Addison Wesley,2007, pg. 120) .

5 Um professor contm um nvel e uma classe(essa classe referencie a o professor, no classe do paradigma orientado a objeto, como exposto adiante) para representar esse contexto aplicado no OO, usa-se diagramas UML que demostra todas as classes(conjunto de objetos em comum) e seus relacionamentos no domnio dado nome de diagrama de classes para essa representao.

Figura 3- Professor relaciona com Classe Autor: Emerson Brito do Nascimento

A representao do relacionamento tem que mostra a carnalidade entre as entidades, tanto o objeto Classe como Nvel, tem se o relacionamento 1:1(um para um) com Professor, Figura 3, Figura 4.

Figura 4-Carnalidade relacionamentos Autor: Emerson Brito do Nascimento

As carnalidades podem ser 1:1(um para um), 1:N(um para muitos) ou M:N(muitos para muitos). No domnio um professor ou mais professores solicitar promoo de nvel para Pr-Retoria Recursos Humanos Assuntos Comunitrios. Ento neste caso encontra-se a carnalidade de N:1(muitos para 1 ou 1 para muitos) , a ordem de chama um ou muitos depende da forma que se deseja representar a troca de mensagem.

6

Figura 5 -Carnalidade N:1 Autor: Emerson Brito do Nascimento

No mundo OO tem um conceito chamado herana onde um objeto filho herda algumas caractersticas do objeto pai. O objeto Atividades tem algumas caractersticas que so compartilhadas com todos grupos de atividades, mas cada grupo de atividades tem suas caractersticas nicas.

Figura 6 -Herana atividades Autor: Emerson Brito do Nascimento

Na Figura 7 representada a forma mais abstrata de um diagrama de classe, da aplicao GINFO. Nesse modelo apresenta simplificado as principais classe do domnio da aplicao GINO e seus relacionamentos, com esse diagrama j possvel comear a estrutura um modelo de dados, que ira representar a estrutura lgica do banco de dados (schema).

7

Figura 7 - Diagrama de classe GINFO Autor: Emerson Brito do Nascimento

4 - Modelo Entidade Relacionamento Como lembra Ramakrishnan e Gehrke(Sistemas de Gerenciamento de Banco de Dados,2008, 3.ed.)O principal caracterstica para representar os dados do modelo relacional a relao. No domnio existe as entidades que precisa se relacionar com as outras entidades, as entidade so a representao das tabelas no schema e cada entidade tem conjuntos de atributos que so a representao dos campos das tabelas. Assim como no modelo OO, existem carnalidades entre as relaes das entidade no modelo ER, ela pode ser igual ao modelo OO, 1:1, 1:N ou M:N.

4.1 - Chave nica e relacionamento

8 Cada entidade precisa se nica, no existem duas pessoas com a mesa impresso digital ou cpf,como no mundo real as entidades no podem existir a mesma no mesmo espao ele precisa se nica,cada instancia de um entidade(objeto),representa um registro em uma tabela, que precisa ser identificado como nico. No modelo ER para identificar uma entidade como nica, selecionado um atributo que mostra essa caracterstica de unicidade, esse atributo aplicado a chave primaria, a chave primeira que garante que aquele registro nico. Na entidade Professor no GINFO foi adotada como chave primaria a matricula, considerar que cada professor tem seu nico cdigo de matricula. Ento um professor tem uma classe, para entidade classe considerar com chave primaria idclasse. Para obter essa o relacionamento no modelo ER entre professor e classe, usa ser as chave primaria das duas entidade, matricula e idclass , o relacionamento entre essas duas entidades como pode ver na Figura 8, cria-se um atributo chamado classe_idclasse dentro classe , do mesmo tipo da chave primaria da entidade classe ao inserir um registro na tabela professor tem que se adicionar uma valor em classe_idclasse que a ponta para um registro da classe, que indicar qual classe o professor pertence. O atributo classe_idclasse caracterizado como uma chave estrangeria na entidade professor, pois ela uma chave primaria da entidade classe.

Figura 8 - professor Relaciona classe Autor: Emerson Brito do Nascimento

Os relacionamento um para muitos, aplicado em professor para atividades Figura 9

9

Figura 9 - relacionamento um para muitos Autor:Emerson Brito do Nascimento

A entidade atividades ela esta relacionada com o grupo de atividade assim tem um relacionamento um para muitos Figura 10.

Figura 10- Entidade Relacional Autor: Emerson Brito do Nascimento

No caso estudado entidade atividades tem uma relao com professor e tambm com os grupos de atividades, gerando assim um relao ternria onde cada entidade do grupo de atividades(produo acadmica, ensino, administrativas, capacitao docente, orientao e outras) um atividade filha . Logo uma entidade professor tem um relao com o grupos de atividade. Ao associa um busca da chave estrangeira de professor na entidade atividade poder associa um chave estrangeira de algum grupo de atividade(professor->atividade