Tutorial G_Info

 

Este tutorial mostrará a implementação da base de dados da aplicação G_Info usando o framework Grails e o SGBD MySql WorkBench.

 

 O que é o G_Info??

É uma aplicação que auxília no gerenciamento de pontuação dos professores de uma universidade segundo as atividades desenvlvidas dentro da mesma. Os professores podem solicitar promoção de cargo de acordo com sua pontuação.

A aplicação foi desenvolvida de acordo a RESOLUÇÃO No 061/2003-CEP da Universidade Estadual de Maringá, disponível aqui.

Para entender melhor a parte teórica do banco de dados, acesse o artigo aqui.

 

 

Definindo a base de dados da aplicação

Para desenvolver uma base de dados, segundo a Resolução, foi necessário abstrair todas as entidades que seriam necessárias na aplicação que estão descritas abaixo:

 

bancas_qualificacao:  tabela que irá guardar a atividade banca de qualificação, que é o caso em que o Professor participa de uma banca.
memorial: tabela que guarda a solicitação de Memorial, realizada pelo professor e através deste memorial será feita a avaliação da promoção.
professor_producao_academica: tabela que faz o relacionamento entre a tabela Professor e a tabela produção acadêmica.
aluno_curso: tabela que faz o relacionamento entre o aluno e o curso, para saber quais alunos estão relacionados com quais cursos.
capacitacao_docente: grava a capacitações do professor (curso em andamento)
curso : grava os cursos da instituição/Universidade.
nivel_do_professor: grava os níveis que um professor pode ter (auxiliar, adjunto...).
publicacao_capitulos: grava as publicações de capitulos de professores.
artigo: grava os artigos dos professores.
capacitacao_docente_professor: faz a relação entre a capacitação docente e os professores.
departamento: grava os departamentos da Universidade.
orientacao: grava as orientações feitas pelos professores.
publicacao_livros: grava as publicações de livros feitas pelos professores.
tipo_atividade_producao_academica: grava o relacionamento das produções acadêmicas com os tipos de atividades, pois existem tipos diferentes de produções.
atividade_administrativa: grava atividades administrativas exercidas pelos professores.
cargo: grava os cargos que os funcionários dos departametos podem ter.
disciplina: grava as disciplinas dos departamentos.
producao_academica: grava as produções acadêmicas dos professores.
tipo_de_atividade_administrativa: grava os tipos de atividades administrativas.
atividade_ensino: grava as atividades de ensino dos professores.
classe_do_professor: Grava as classes que um professor pode ter.
eventos: grava os eventos dos professores.
professor_atividade_administrativa: faz o relacionamentos entre os professores e as atividades administrativas.
tipo_orientacao: grava os tipos de orientações.
bancas_defesas: grava as bancas que os professores participaram.
formacao: grava a formação dos professores (mestre, doutor ...)
comunicação: grava os congressos, simpósios dos professores ...
professor_atividade_ensino: faz o relacionamento dos professores e atividades de ensino.
tipos_anexos: grava os tipos de anexos que são anexados nas atividades.
bancas_livre: grava as bancas livres que das quais os professores participaram.
consultoria_em_revista: grava as consultorias que os professores fizeram em revistas.
grupo_producaoacademica: grava os grupos que uma produção acadêmica pode ter.
professor_orientacao: grava as orientações que os professores fizeram.
 
Sabendo as tabelas que serão criadas em nossa aplicação, vamos começar a modelar esses dados. Como foi menscionado anteriormente, iremos modelar nossa base de dados usando o WorkBench, e a aplicação usando o framework Grails.
O framework Grails,  foi instalado na IDE STS e NetBeans.
 
 
 

Vamos começar a fazer a base de dados no WorkBench:

 

A imagem abaixo, mostra a tela de montagem de modelagem de dados do WorkBench.

 
 

Você poderá criar um novo modelo, usano o menu File > new model, ou usar o comando SQL:

CREATE DATABASE ginfo;

 

Para inserir novas tabelas, vamos usar o botão de adição de tabelas.

 

Após isso aparecerá na tela a tabela pronta para adicionar as colunas.

Veja na imagem abaixo que criamos a tabela PROFESSOR com as colunas idProfessor, nome, CPF, nascimento. Nesta tabela, definimos a coluna idProfessor como chave primária.

 

Para entender melhor, como é organizada as chaves em um banco de dados, acesse o artigo do G_Info.

 
 
 
 

Para criar essa tabela em SQL, o código ficará da seguinte forma:

 
CREATE  TABLE IF NOT EXISTS `ginfo`.`Professor` (
  `idProfessor` INT(11) NOT NULL ,
  `nome` VARCHAR(45) NULL DEFAULT NULL ,
  `CFP` VARCHAR(45) NULL DEFAULT NULL ,
  `nascimento` DATE NULL DEFAULT NULL ,
  PRIMARY KEY (`idProfessor`) )
 

 

Agora sabemos como criar tabelas no Workbench, porém, temos que ter uma classe de objeto correspondente em nossa aplicação, então no grails vamos fazer como descrito na próxima página.

próxima página