página anterior

Indo um pouco além da codificação

Agora que sabemos como difinir as tabelas do banco de dados e criar as classes de objetos no Grails, vamos definir um diagrama de classes com as entidades citadas na primeira página deste tutorial.

 diagrama de classes

Neste diagrama, podemos ver que há muitos relacionamentos para se descrever um por um neste tutorial, porém através deste diagrama, já é possível criar a aplicação.

 

Vamos mostrar aqui, a criação de todas as tabelas da aplicação G_Info em SQL: e após daremos algmas explicações de como isso foi mapeado no Grails.

O código em SQL abaixo, foi gerado a partir do modelo criado no WorkBench.

Segue abaixo a codificação em SQL, e na próxima página, apresentaremos o mapeamento em grails.

 

 
USE `ginfo`;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`aluno_curso` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `aluno_id` BIGINT(20) NOT NULL ,
  `ano_ingresso` INT(11) NOT NULL ,
  `curso_id` BIGINT(20) NOT NULL ,
  `situacao` VARCHAR(28) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK77458C48FC3C5F4F` (`curso_id` ASC) ,
  INDEX `FK77458C485519C8EF` (`aluno_id` ASC) ,
  CONSTRAINT `FK77458C485519C8EF`
    FOREIGN KEY (`aluno_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ),
  CONSTRAINT `FK77458C48FC3C5F4F`
    FOREIGN KEY (`curso_id` )
    REFERENCES `ginfo`.`curso` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`artigo` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ano` INT(11) NOT NULL ,
  `autores` VARCHAR(255) NOT NULL ,
  `editora` VARCHAR(255) NOT NULL ,
  `origem` VARCHAR(255) NOT NULL ,
  `revista` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  `titulo` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FKAC02DDCE215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FKAC02DDCE215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`atividade_administrativa` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ambito` VARCHAR(15) NOT NULL ,
  `atividade_id` BIGINT(20) NOT NULL ,
  `data_inicial` DATETIME NOT NULL ,
  `datafinal` DATETIME NOT NULL ,
  `informacoes_adiconais` VARCHAR(255) NOT NULL ,
  `portaria_resolucao` TINYBLOB NOT NULL ,
  `status_id` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FKDCD4362C0305C46` (`status_id` ASC) ,
  INDEX `FKDCD4362AABEDBEB` (`atividade_id` ASC) ,
  CONSTRAINT `FKDCD4362AABEDBEB`
    FOREIGN KEY (`atividade_id` )
    REFERENCES `ginfo`.`tipo_de_atividade_administrativa` (`id` ),
  CONSTRAINT `FKDCD4362C0305C46`
    FOREIGN KEY (`status_id` )
    REFERENCES `ginfo`.`status` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`atividade_ensino` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ano` INT(11) NOT NULL ,
  `carga_horaria_total` VARCHAR(255) NOT NULL ,
  `co_responsável` VARCHAR(255) NOT NULL ,
  `disciplina_id` BIGINT(20) NULL DEFAULT NULL ,
  `numero_alunos` VARCHAR(255) NOT NULL ,
  `pontuacao` FLOAT(11) NOT NULL ,
  `status_id` BIGINT(20) NOT NULL ,
  `tipo_atividade_ensino` VARCHAR(28) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FKDFB3E8F8FF744C45` (`disciplina_id` ASC) ,
  INDEX `FKDFB3E8F8C0305C46` (`status_id` ASC) ,
  CONSTRAINT `FKDFB3E8F8C0305C46`
    FOREIGN KEY (`status_id` )
    REFERENCES `ginfo`.`status` (`id` ),
  CONSTRAINT `FKDFB3E8F8FF744C45`
    FOREIGN KEY (`disciplina_id` )
    REFERENCES `ginfo`.`disciplina` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`bancas_defesas` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `nome_aluno` VARCHAR(255) NOT NULL ,
  `observacao` VARCHAR(255) NOT NULL ,
  `orientador` VARCHAR(255) NOT NULL ,
  `tese` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FKCC89D50C215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FKCC89D50C215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`bancas_livre` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `disciplina` VARCHAR(255) NOT NULL ,
  `edital` TINYBLOB NOT NULL ,
  `instituicao` VARCHAR(255) NOT NULL ,
  `observacao` VARCHAR(255) NOT NULL ,
  `periodo` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK72AD0273215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FK72AD0273215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`bancas_qualificacao` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `nivel` VARCHAR(255) NOT NULL ,
  `nome_aluno` VARCHAR(255) NOT NULL ,
  `observacao` VARCHAR(255) NOT NULL ,
  `orientador` VARCHAR(255) NOT NULL ,
  `periodo` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  `titulo_do_exame` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK16D177CF215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FK16D177CF215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`capacitacao_docente` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `curso_id` BIGINT(20) NULL DEFAULT NULL ,
  `data_final` DATETIME NOT NULL ,
  `data_inicial` DATETIME NOT NULL ,
  `instituicao` VARCHAR(255) NOT NULL ,
  `local` VARCHAR(255) NOT NULL ,
  `nivel_curso` VARCHAR(255) NOT NULL ,
  `status_id` BIGINT(20) NOT NULL ,
  `tipo_de_afastamento_id` BIGINT(20) NOT NULL ,
  `titulo_do_trabalalho` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK8FBD95C2FC3C5F4F` (`curso_id` ASC) ,
  INDEX `FK8FBD95C2C0305C46` (`status_id` ASC) ,
  INDEX `FK8FBD95C234752C15` (`tipo_de_afastamento_id` ASC) ,
  CONSTRAINT `FK8FBD95C234752C15`
    FOREIGN KEY (`tipo_de_afastamento_id` )
    REFERENCES `ginfo`.`tipo_afastamento` (`id` ),
  CONSTRAINT `FK8FBD95C2C0305C46`
    FOREIGN KEY (`status_id` )
    REFERENCES `ginfo`.`status` (`id` ),
  CONSTRAINT `FK8FBD95C2FC3C5F4F`
    FOREIGN KEY (`curso_id` )
    REFERENCES `ginfo`.`curso` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`cargo` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `descricao` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`classe_do_professor` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `classe` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`comunicacao` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ano` INT(11) NOT NULL ,
  `autores` VARCHAR(255) NOT NULL ,
  `evento` VARCHAR(255) NOT NULL ,
  `local` VARCHAR(255) NOT NULL ,
  `origem` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  `titulo` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK8F10F044215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FK8F10F044215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`consultoria_em_revista` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `numero_consultoria` VARCHAR(255) NOT NULL ,
  `periodo` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  `titulo_da_revista` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK559B66BB215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FK559B66BB215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`curso` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `centro` VARCHAR(255) NOT NULL ,
  `nome` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`departamento` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `centro` VARCHAR(255) NOT NULL ,
  `nome` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`departamento_curso` (
  `departamento_cusos_id` BIGINT(20) NULL DEFAULT NULL ,
  `curso_id` BIGINT(20) NULL DEFAULT NULL ,
  INDEX `FKFCB7CA1FC3C5F4F` (`curso_id` ASC) ,
  INDEX `FKFCB7CA1B8C468DF` (`departamento_cusos_id` ASC) ,
  CONSTRAINT `FKFCB7CA1B8C468DF`
    FOREIGN KEY (`departamento_cusos_id` )
    REFERENCES `ginfo`.`departamento` (`id` ),
  CONSTRAINT `FKFCB7CA1FC3C5F4F`
    FOREIGN KEY (`curso_id` )
    REFERENCES `ginfo`.`curso` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`disciplina` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `disciplina` VARCHAR(255) NOT NULL ,
  `nome` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`eventos` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ano` INT(11) NOT NULL ,
  `evento` VARCHAR(255) NOT NULL ,
  `local` VARCHAR(255) NOT NULL ,
  `periodo` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FKADF441FE215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FKADF441FE215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`formacao` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `data_de_termino` DATETIME NOT NULL ,
  `nome` VARCHAR(255) NOT NULL ,
  `status_id` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK1C41A294C0305C46` (`status_id` ASC) ,
  CONSTRAINT `FK1C41A294C0305C46`
    FOREIGN KEY (`status_id` )
    REFERENCES `ginfo`.`status` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`grupo_producaoacademica` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `classe` VARCHAR(20) NOT NULL ,
  `grupo` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`memorial` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `periodo_final` DATETIME NOT NULL ,
  `periodo_inicial` DATETIME NOT NULL ,
  `professor_id` BIGINT(20) NOT NULL ,
  `status_id` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FKDA0750DCBDFE97EF` (`professor_id` ASC) ,
  INDEX `FKDA0750DCC0305C46` (`status_id` ASC) ,
  CONSTRAINT `FKDA0750DCC0305C46`
    FOREIGN KEY (`status_id` )
    REFERENCES `ginfo`.`status` (`id` ),
  CONSTRAINT `FKDA0750DCBDFE97EF`
    FOREIGN KEY (`professor_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`nivel_do_professor` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `nivel` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`orientacao` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ano` VARCHAR(255) NOT NULL ,
  `data_defesa` DATETIME NOT NULL ,
  `data_termino` DATETIME NOT NULL ,
  `nome_do_monitor` VARCHAR(255) NULL DEFAULT NULL ,
  `numero_do_processo` INT(11) NOT NULL ,
  `periodo` INT(11) NOT NULL ,
  `status_id` BIGINT(20) NOT NULL ,
  `tipo_orientacao_id` BIGINT(20) NOT NULL ,
  `titulo_da_monografia` VARCHAR(255) NOT NULL ,
  `titulo_do_porjeto` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK2EC795958C62E487` (`tipo_orientacao_id` ASC) ,
  INDEX `FK2EC79595C0305C46` (`status_id` ASC) ,
  CONSTRAINT `FK2EC79595C0305C46`
    FOREIGN KEY (`status_id` )
    REFERENCES `ginfo`.`status` (`id` ),
  CONSTRAINT `FK2EC795958C62E487`
    FOREIGN KEY (`tipo_orientacao_id` )
    REFERENCES `ginfo`.`tipo_orientacao` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`producao_academica` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `artigo_id` BIGINT(20) NULL DEFAULT NULL ,
  `bancas_defesas_id` BIGINT(20) NULL DEFAULT NULL ,
  `bancas_livre_id` BIGINT(20) NULL DEFAULT NULL ,
  `bancas_qualificacao_id` BIGINT(20) NULL DEFAULT NULL ,
  `comunicacao_id` BIGINT(20) NULL DEFAULT NULL ,
  `consultoria_em_revista_id` BIGINT(20) NULL DEFAULT NULL ,
  `data_cadastro` DATETIME NULL DEFAULT NULL ,
  `eventos_id` BIGINT(20) NULL DEFAULT NULL ,
  `publicacao_capitulos_id` BIGINT(20) NULL DEFAULT NULL ,
  `publicacao_livros_id` BIGINT(20) NULL DEFAULT NULL ,
  `status_id` BIGINT(20) NULL DEFAULT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK80D5320EC8E72DF6` (`consultoria_em_revista_id` ASC) ,
  INDEX `FK80D5320ECB0412EE` (`comunicacao_id` ASC) ,
  INDEX `FK80D5320E7E795773` (`bancas_qualificacao_id` ASC) ,
  INDEX `FK80D5320EAFD1C6E1` (`bancas_livre_id` ASC) ,
  INDEX `FK80D5320E3E5D3EC6` (`artigo_id` ASC) ,
  INDEX `FK80D5320EC0305C46` (`status_id` ASC) ,
  INDEX `FK80D5320E4A72AE81` (`bancas_defesas_id` ASC) ,
  INDEX `FK80D5320EC9713D7B` (`publicacao_capitulos_id` ASC) ,
  INDEX `FK80D5320E91A2FAAE` (`eventos_id` ASC) ,
  INDEX `FK80D5320EED0D0979` (`publicacao_livros_id` ASC) ,
  CONSTRAINT `FK80D5320EED0D0979`
    FOREIGN KEY (`publicacao_livros_id` )
    REFERENCES `ginfo`.`publicacao_livros` (`id` ),
  CONSTRAINT `FK80D5320E3E5D3EC6`
    FOREIGN KEY (`artigo_id` )
    REFERENCES `ginfo`.`artigo` (`id` ),
  CONSTRAINT `FK80D5320E4A72AE81`
    FOREIGN KEY (`bancas_defesas_id` )
    REFERENCES `ginfo`.`bancas_defesas` (`id` ),
  CONSTRAINT `FK80D5320E7E795773`
    FOREIGN KEY (`bancas_qualificacao_id` )
    REFERENCES `ginfo`.`bancas_qualificacao` (`id` ),
  CONSTRAINT `FK80D5320E91A2FAAE`
    FOREIGN KEY (`eventos_id` )
    REFERENCES `ginfo`.`eventos` (`id` ),
  CONSTRAINT `FK80D5320EAFD1C6E1`
    FOREIGN KEY (`bancas_livre_id` )
    REFERENCES `ginfo`.`bancas_livre` (`id` ),
  CONSTRAINT `FK80D5320EC0305C46`
    FOREIGN KEY (`status_id` )
    REFERENCES `ginfo`.`status` (`id` ),
  CONSTRAINT `FK80D5320EC8E72DF6`
    FOREIGN KEY (`consultoria_em_revista_id` )
    REFERENCES `ginfo`.`consultoria_em_revista` (`id` ),
  CONSTRAINT `FK80D5320EC9713D7B`
    FOREIGN KEY (`publicacao_capitulos_id` )
    REFERENCES `ginfo`.`publicacao_capitulos` (`id` ),
  CONSTRAINT `FK80D5320ECB0412EE`
    FOREIGN KEY (`comunicacao_id` )
    REFERENCES `ginfo`.`comunicacao` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`professor_atividade_administrativa` (
  `professor_atividades_administrativas_id` BIGINT(20) NULL DEFAULT NULL ,
  `atividade_administrativa_id` BIGINT(20) NULL DEFAULT NULL ,
  INDEX `FKF333CB32DC5E9C98` (`professor_atividades_administrativas_id` ASC) ,
  INDEX `FKF333CB32750EBF45` (`atividade_administrativa_id` ASC) ,
  CONSTRAINT `FKF333CB32750EBF45`
    FOREIGN KEY (`atividade_administrativa_id` )
    REFERENCES `ginfo`.`atividade_administrativa` (`id` ),
  CONSTRAINT `FKF333CB32DC5E9C98`
    FOREIGN KEY (`professor_atividades_administrativas_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`professor_atividade_ensino` (
  `professor_atividades_ensino_id` BIGINT(20) NULL DEFAULT NULL ,
  `atividade_ensino_id` BIGINT(20) NULL DEFAULT NULL ,
  INDEX `FKCEC740C8DF1BCA85` (`atividade_ensino_id` ASC) ,
  INDEX `FKCEC740C8E09D519B` (`professor_atividades_ensino_id` ASC) ,
  CONSTRAINT `FKCEC740C8E09D519B`
    FOREIGN KEY (`professor_atividades_ensino_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ),
  CONSTRAINT `FKCEC740C8DF1BCA85`
    FOREIGN KEY (`atividade_ensino_id` )
    REFERENCES `ginfo`.`atividade_ensino` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`professor_capacitacao_docente` (
  `professor_capacitacao_docente_id` BIGINT(20) NULL DEFAULT NULL ,
  `capacitacao_docente_id` BIGINT(20) NULL DEFAULT NULL ,
  INDEX `FKBB56BF216BE6F8C` (`professor_capacitacao_docente_id` ASC) ,
  INDEX `FKBB56BF29B93843F` (`capacitacao_docente_id` ASC) ,
  CONSTRAINT `FKBB56BF29B93843F`
    FOREIGN KEY (`capacitacao_docente_id` )
    REFERENCES `ginfo`.`capacitacao_docente` (`id` ),
  CONSTRAINT `FKBB56BF216BE6F8C`
    FOREIGN KEY (`professor_capacitacao_docente_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`professor_orientacao` (
  `professor_orientacoes_id` BIGINT(20) NULL DEFAULT NULL ,
  `orientacao_id` BIGINT(20) NULL DEFAULT NULL ,
  INDEX `FK65ED0965CCDCBBF8` (`professor_orientacoes_id` ASC) ,
  INDEX `FK65ED096585207DFE` (`orientacao_id` ASC) ,
  CONSTRAINT `FK65ED096585207DFE`
    FOREIGN KEY (`orientacao_id` )
    REFERENCES `ginfo`.`orientacao` (`id` ),
  CONSTRAINT `FK65ED0965CCDCBBF8`
    FOREIGN KEY (`professor_orientacoes_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`professor_producao_academica` (
  `professor_producoes_academica_id` BIGINT(20) NULL DEFAULT NULL ,
  `producao_academica_id` BIGINT(20) NULL DEFAULT NULL ,
  INDEX `FKF871D5DE8B4957DB` (`professor_producoes_academica_id` ASC) ,
  INDEX `FKF871D5DEBA4BF807` (`producao_academica_id` ASC) ,
  CONSTRAINT `FKF871D5DEBA4BF807`
    FOREIGN KEY (`producao_academica_id` )
    REFERENCES `ginfo`.`producao_academica` (`id` ),
  CONSTRAINT `FKF871D5DE8B4957DB`
    FOREIGN KEY (`professor_producoes_academica_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`publicacao_capitulos` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ano` INT(11) NOT NULL ,
  `autores` VARCHAR(255) NOT NULL ,
  `editor` VARCHAR(255) NOT NULL ,
  `editora` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  `titulo_capitulo` VARCHAR(255) NOT NULL ,
  `titulo_livro` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK659501B2215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FK659501B2215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`publicacao_livros` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `ano` INT(11) NOT NULL ,
  `autores` VARCHAR(255) NOT NULL ,
  `editora` VARCHAR(255) NOT NULL ,
  `tipo_atividade_producao_academica_id` BIGINT(20) NOT NULL ,
  `titulo` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK5A5541E3215208E9` (`tipo_atividade_producao_academica_id` ASC) ,
  CONSTRAINT `FK5A5541E3215208E9`
    FOREIGN KEY (`tipo_atividade_producao_academica_id` )
    REFERENCES `ginfo`.`tipo_atividade_producao_academica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`shiro_role` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `name` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) ,
  UNIQUE INDEX `name` (`name` ASC) )
ENGINE = InnoDB
AUTO_INCREMENT = 2
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`shiro_role_permissions` (
  `shiro_role_id` BIGINT(20) NULL DEFAULT NULL ,
  `permissions_string` VARCHAR(255) NULL DEFAULT NULL ,
  INDEX `FK389B46C99ED0F1CE` (`shiro_role_id` ASC) ,
  CONSTRAINT `FK389B46C99ED0F1CE`
    FOREIGN KEY (`shiro_role_id` )
    REFERENCES `ginfo`.`shiro_role` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`shiro_user` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `password_hash` VARCHAR(255) NOT NULL ,
  `username` VARCHAR(255) NOT NULL ,
  `class` VARCHAR(255) NOT NULL ,
  `cpf` VARCHAR(255) NULL DEFAULT NULL ,
  `email` VARCHAR(255) NULL DEFAULT NULL ,
  `nome` VARCHAR(255) NULL DEFAULT NULL ,
  `telefone` VARCHAR(255) NULL DEFAULT NULL ,
  `departamento_id` BIGINT(20) NULL DEFAULT NULL ,
  `matricula` VARCHAR(255) NULL DEFAULT NULL ,
  `classe_id` BIGINT(20) NULL DEFAULT NULL ,
  `data_de_ingresso` DATETIME NULL DEFAULT NULL ,
  `nivel_id` BIGINT(20) NULL DEFAULT NULL ,
  `total_de_pontos` FLOAT(11) NULL DEFAULT NULL ,
  `ra` VARCHAR(255) NULL DEFAULT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FKE58845594F8491C0` (`classe_id` ASC) ,
  INDEX `FKE5884559292F0E85` (`departamento_id` ASC) ,
  INDEX `FKE5884559E7D9809E` (`nivel_id` ASC) ,
  CONSTRAINT `FKE5884559E7D9809E`
    FOREIGN KEY (`nivel_id` )
    REFERENCES `ginfo`.`nivel_do_professor` (`id` ),
  CONSTRAINT `FKE5884559292F0E85`
    FOREIGN KEY (`departamento_id` )
    REFERENCES `ginfo`.`departamento` (`id` ),
  CONSTRAINT `FKE58845594F8491C0`
    FOREIGN KEY (`classe_id` )
    REFERENCES `ginfo`.`classe_do_professor` (`id` ))
ENGINE = InnoDB
AUTO_INCREMENT = 3
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`shiro_user_permissions` (
  `shiro_user_id` BIGINT(20) NULL DEFAULT NULL ,
  `permissions_string` VARCHAR(255) NULL DEFAULT NULL ,
  INDEX `FK34555A9E43FBB5AE` (`shiro_user_id` ASC) ,
  CONSTRAINT `FK34555A9E43FBB5AE`
    FOREIGN KEY (`shiro_user_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`shiro_user_roles` (
  `shiro_user_id` BIGINT(20) NOT NULL ,
  `shiro_role_id` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`shiro_user_id`, `shiro_role_id`) ,
  INDEX `FKBA22105743FBB5AE` (`shiro_user_id` ASC) ,
  INDEX `FKBA2210579ED0F1CE` (`shiro_role_id` ASC) ,
  CONSTRAINT `FKBA2210579ED0F1CE`
    FOREIGN KEY (`shiro_role_id` )
    REFERENCES `ginfo`.`shiro_role` (`id` ),
  CONSTRAINT `FKBA22105743FBB5AE`
    FOREIGN KEY (`shiro_user_id` )
    REFERENCES `ginfo`.`shiro_user` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`status` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `status` VARCHAR(255) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`tipo_afastamento` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `nome` VARCHAR(255) NOT NULL ,
  `pontuacao` INT(11) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`tipo_atividade_producao_academica` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `grupo_producao_academica_id` BIGINT(20) NOT NULL ,
  `nome` VARCHAR(255) NOT NULL ,
  `pontuacao` INT(11) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `FK1954D7184048280` (`grupo_producao_academica_id` ASC) ,
  CONSTRAINT `FK1954D7184048280`
    FOREIGN KEY (`grupo_producao_academica_id` )
    REFERENCES `ginfo`.`grupo_producaoacademica` (`id` ))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`tipo_de_atividade_administrativa` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `nome_da_atividade` VARCHAR(255) NOT NULL ,
  `pontuacao` INT(11) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`tipo_orientacao` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  `alunos` BIT(1) NOT NULL ,
  `data_defesa` BIT(1) NOT NULL ,
  `data_termino` BIT(1) NOT NULL ,
  `nome_do_monitor` BIT(1) NOT NULL ,
  `nome_orientacao` VARCHAR(255) NOT NULL ,
  `numero_do_processo` BIT(1) NOT NULL ,
  `pontuacao` INT(11) NOT NULL ,
  `status` VARCHAR(255) NOT NULL ,
  `titulo_da_monografia` BIT(1) NOT NULL ,
  `titulo_do_porjeto` BIT(1) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
CREATE  TABLE IF NOT EXISTS `ginfo`.`tipos_anexos` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT ,
  `version` BIGINT(20) NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;
 
 
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
 

Na próxima página, mostraremos como mapear essas tabelas no grails.

 
página anterior                                                                        próxima página