CREATE TABLE TABELAAPOIOMM (
  IDETABELAAPOIOMM INT UNSIGNED NOT NULL,
  IDETABELAAPOIOMESTREMM INT UNSIGNED NULL,
  NOMIDENTIFICADORTABELAAPOIO VARCHAR(255) NULL,
  NOMDESCRITORTABELAAPOIO VARCHAR(255) NULL,
  NOMIDENTIFICADORTABELAMESTRE VARCHAR(255) NULL,
  NOMTABELAAPOIOMM VARCHAR(255) NULL,
  PRIMARY KEY(IDETABELAAPOIOMM),
  UNIQUE INDEX UKTABAPOMM_NOMTABAPOMM(NOMTABELAAPOIOMM),
  INDEX TABELAAPOIOMM_FKIndex1(IDETABELAAPOIOMESTREMM),
  FOREIGN KEY(IDETABELAAPOIOMESTREMM)
    REFERENCES TABELAAPOIOMM(IDETABELAAPOIOMM)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE TIPOFILTROCONSULTA (
  IDETIPOFILTROCONSULTA INT UNSIGNED NOT NULL,
  NOMTIPOFILTROCONSULTA VARCHAR(255) NOT NULL,
  NOMOBJETOCONTROLADO VARCHAR(255) NOT NULL,
  PRIMARY KEY(IDETIPOFILTROCONSULTA),
  UNIQUE INDEX TIPOFILTROCONSULTA_index1858(NOMOBJETOCONTROLADO)
)
TYPE=InnoDB;

CREATE TABLE SISTEMA (
  IDESISTEMA INT UNSIGNED NOT NULL,
  NOMSISTEMA VARCHAR(255) NULL,
  DESSISTEMA VARCHAR(255) NULL,
  IDESISTEMAAGRUPADOR INT UNSIGNED NULL,
  NOMOBJETOCONTROLADO VARCHAR(255) NULL,
  PRIMARY KEY(IDESISTEMA),
  INDEX SISTEMA_FKIndex1(IDESISTEMAAGRUPADOR),
  FOREIGN KEY(IDESISTEMAAGRUPADOR)
    REFERENCES SISTEMA(IDESISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE GRUPO (
  CODGRUPO INT UNSIGNED NOT NULL,
  DESGRUPO VARCHAR(255) NULL,
  PRIMARY KEY(CODGRUPO)
)
TYPE=InnoDB;

CREATE TABLE CATEGORIATALENTO (
  IDECATEGORIA INT UNSIGNED NOT NULL,
  NOMCATEGORIA VARCHAR(255) NULL,
  DESCATEGORIA TEXT NULL,
  DESDICAPREENCHIMENTO VARCHAR(255) NULL,
  INDUNICIDADE CHAR(1) NULL DEFAULT 'N',
  SEQORDENACAO TINYINT UNSIGNED NULL,
  PRIMARY KEY(IDECATEGORIA)
)
TYPE=InnoDB;

CREATE TABLE TIPOHTML (
  IDETIPOHTML INT UNSIGNED NOT NULL,
  DESTIPOHTML VARCHAR(255) NULL,
  INDMULTIPLICIDADE CHAR(1) NULL,
  PRIMARY KEY(IDETIPOHTML),
  UNIQUE INDEX UKTIPOHTML_DESTIPOHTML(DESTIPOHTML)
)
TYPE=InnoDB;

CREATE TABLE USUARIOSISTEMA (
  IDEUSUARIO INT UNSIGNED NOT NULL,
  NOMUSUARIO VARCHAR(255) NOT NULL,
  DESLOGIN VARCHAR(255) NULL,
  NUMSENHAHASH VARCHAR(255) NULL,
  INDEXPIRACAOSENHA CHAR(1) NULL,
  DATATUALIZACAOSENHA DATETIME NULL,
  DATVALIDADE DATETIME NULL,
  DATDESLIGAMENTO DATETIME NULL,
  CODGRUPO INT UNSIGNED NULL,
  PRIMARY KEY(IDEUSUARIO),
  UNIQUE INDEX UKUSUARIOSISTEMA_DESLOGIN(DESLOGIN),
  INDEX USUARIOSISTEMA_FKIndex1(CODGRUPO),
  FOREIGN KEY(CODGRUPO)
    REFERENCES GRUPO(CODGRUPO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE PERFILSISTEMA (
  IDEPERFILSISTEMA INT UNSIGNED NOT NULL,
  NOMPERFILSISTEMA VARCHAR(255) NULL,
  DESPERFILSISTEMA VARCHAR(255) NULL,
  IDESISTEMA INT UNSIGNED NULL,
  IDEPERFILAGRUPADOR INT UNSIGNED NULL,
  NOMOBJETOCONTROLADO VARCHAR(255) NULL,
  PRIMARY KEY(IDEPERFILSISTEMA),
  INDEX PERFILSISTEMA_FKIndex1(IDEPERFILAGRUPADOR),
  INDEX PERFILSISTEMA_FKIndex2(IDESISTEMA),
  FOREIGN KEY(IDEPERFILAGRUPADOR)
    REFERENCES PERFILSISTEMA(IDEPERFILSISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDESISTEMA)
    REFERENCES SISTEMA(IDESISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE FILTROCONSULTA (
  IDEFILTROCONSULTA INT UNSIGNED NOT NULL,
  IDETIPOFILTROCONSULTA INT UNSIGNED NOT NULL,
  NOMFILTROCONSULTA VARCHAR(255) NOT NULL,
  PRIMARY KEY(IDEFILTROCONSULTA),
  UNIQUE INDEX PERFILCONSULTA_Unique1(NOMFILTROCONSULTA),
  INDEX FILTROCONSULTA_FKIndex1(IDETIPOFILTROCONSULTA),
  FOREIGN KEY(IDETIPOFILTROCONSULTA)
    REFERENCES TIPOFILTROCONSULTA(IDETIPOFILTROCONSULTA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE FUNCIONALIDADESISTEMA (
  IDEFUNCIONALIDADESISTEMA INT UNSIGNED NOT NULL,
  NOMFUNCIONALIDADESISTEMA VARCHAR(255) NULL,
  DESFUNCIONALIDADESISTEMA VARCHAR(255) NULL,
  NOMOBJETOCONTROLADO VARCHAR(255) NULL,
  IDEFUNCIONALIDADEAGRUPADORA INT UNSIGNED NULL,
  IDESISTEMA INT UNSIGNED NULL,
  PRIMARY KEY(IDEFUNCIONALIDADESISTEMA),
  UNIQUE INDEX UKFUNSIS_IDENOMCON(IDESISTEMA, NOMOBJETOCONTROLADO),
  INDEX FUNCIONALIDADESISTEMA_FKIndex1(IDEFUNCIONALIDADEAGRUPADORA),
  INDEX FUNCIONALIDADESISTEMA_FKIndex2(IDESISTEMA),
  FOREIGN KEY(IDEFUNCIONALIDADEAGRUPADORA)
    REFERENCES FUNCIONALIDADESISTEMA(IDEFUNCIONALIDADESISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDESISTEMA)
    REFERENCES SISTEMA(IDESISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE SIGESPPESSOAL (
  IDEPESSOAL INT UNSIGNED NOT NULL,
  NOMPESSOAL VARCHAR(255) NULL,
  DATNASCIMENTO DATETIME NULL,
  INDSEXO CHAR(1) NULL DEFAULT 'M',
  NUMCPF CHAR(11) NULL,
  NUMRG VARCHAR(255) NULL,
  CODGRUPO INT UNSIGNED NULL,
  PRIMARY KEY(IDEPESSOAL),
  INDEX SIGESPPESSOAL_NOMPESSOAL(NOMPESSOAL),
  INDEX SIGESPPESSOAL_FKIndex1(CODGRUPO),
  INDEX SIGESPPESSOAL_FKIndex2(IDEPESSOAL),
  FOREIGN KEY(CODGRUPO)
    REFERENCES GRUPO(CODGRUPO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEPESSOAL)
    REFERENCES USUARIOSISTEMA(IDEUSUARIO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE USUARIOPERFILSISTEMA (
  IDEPERFILSISTEMA INT UNSIGNED NOT NULL,
  IDEUSUARIO INT UNSIGNED NOT NULL,
  INDGESTORPERFIL CHAR(1) NULL,
  PRIMARY KEY(IDEPERFILSISTEMA, IDEUSUARIO),
  INDEX USUARIOPERFILSISTEMA_FKIndex1(IDEPERFILSISTEMA),
  INDEX USUARIOPERFILSISTEMA_FKIndex2(IDEUSUARIO),
  FOREIGN KEY(IDEPERFILSISTEMA)
    REFERENCES PERFILSISTEMA(IDEPERFILSISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEUSUARIO)
    REFERENCES USUARIOSISTEMA(IDEUSUARIO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE TALENTO (
  IDETALENTO INT UNSIGNED NOT NULL,
  IDEPESSOAL INT UNSIGNED NOT NULL,
  IDECATEGORIA INT UNSIGNED NULL,
  DATLANCAMENTO DATETIME NULL,
  PRIMARY KEY(IDETALENTO),
  INDEX TALENTO_FKIndex1(IDECATEGORIA),
  INDEX TALENTO_FKIndex2(IDEPESSOAL),
  FOREIGN KEY(IDECATEGORIA)
    REFERENCES CATEGORIATALENTO(IDECATEGORIA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEPESSOAL)
    REFERENCES SIGESPPESSOAL(IDEPESSOAL)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE PERFILSISTEMAGRUPO (
  IDEPERFILSISTEMA INT UNSIGNED NOT NULL,
  CODGRUPO INT UNSIGNED NOT NULL,
  PRIMARY KEY(IDEPERFILSISTEMA, CODGRUPO),
  INDEX PERFILSISTEMAGRUPO_FKIndex1(CODGRUPO),
  INDEX PERFILSISTEMAGRUPO_FKIndex2(IDEPERFILSISTEMA),
  FOREIGN KEY(CODGRUPO)
    REFERENCES GRUPO(CODGRUPO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEPERFILSISTEMA)
    REFERENCES PERFILSISTEMA(IDEPERFILSISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE FILTROCONSULTAGRUPO (
  IDEFILTROCONSULTA INT UNSIGNED NOT NULL,
  CODGRUPO INT UNSIGNED NOT NULL,
  PRIMARY KEY(IDEFILTROCONSULTA, CODGRUPO),
  INDEX FILTROCONSULTAGRUPO_FKIndex1(CODGRUPO),
  INDEX FILTROCONSULTAGRUPO_FKIndex2(IDEFILTROCONSULTA),
  FOREIGN KEY(CODGRUPO)
    REFERENCES GRUPO(CODGRUPO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEFILTROCONSULTA)
    REFERENCES FILTROCONSULTA(IDEFILTROCONSULTA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE FILTROCONSULTAUSUARIO (
  IDEFILTROCONSULTA INT UNSIGNED NOT NULL,
  IDEUSUARIO INT UNSIGNED NOT NULL,
  PRIMARY KEY(IDEFILTROCONSULTA, IDEUSUARIO),
  INDEX FILTROCONSULTAUSUARIO_FKIndex2(IDEUSUARIO),
  INDEX FILTROCONSULTAUSUARIO_FKIndex2(IDEFILTROCONSULTA),
  FOREIGN KEY(IDEFILTROCONSULTA)
    REFERENCES FILTROCONSULTA(IDEFILTROCONSULTA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEUSUARIO)
    REFERENCES USUARIOSISTEMA(IDEUSUARIO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE ATRIBUTOTALENTO (
  IDEATRIBUTO INT UNSIGNED NOT NULL,
  IDEATRIBUTOPAI INT UNSIGNED NULL,
  NOMATRIBUTO VARCHAR(255) NULL,
  IDETIPOHTML INT UNSIGNED NULL,
  DESMASCARA VARCHAR(255) NULL,
  IDETABELAAPOIOMM INT UNSIGNED NULL,
  INDPESQUISA CHAR(1) NULL DEFAULT 'N',
  DESPESQUISA VARCHAR(255) NULL,
  INDTIPODADO CHAR(1) NULL,
  PRIMARY KEY(IDEATRIBUTO),
  UNIQUE INDEX UKATRIBUTOTALENTO_NOMATRIBUTO(NOMATRIBUTO),
  INDEX ATRIBUTOTALENTO_FKIndex1(IDETIPOHTML),
  INDEX ATRIBUTOTALENTO_FKIndex2(IDEATRIBUTOPAI),
  UNIQUE INDEX ATRIBUTOTALENTO_FKIndex3(IDETABELAAPOIOMM),
  FOREIGN KEY(IDETIPOHTML)
    REFERENCES TIPOHTML(IDETIPOHTML)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEATRIBUTOPAI)
    REFERENCES ATRIBUTOTALENTO(IDEATRIBUTO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDETABELAAPOIOMM)
    REFERENCES TABELAAPOIOMM(IDETABELAAPOIOMM)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE CATEGORIAATRIBUTOTALENTO (
  IDECATEGORIAATRIBUTO INT UNSIGNED NOT NULL,
  SEQPREENCHIMENTO TINYINT UNSIGNED NULL,
  IDECATEGORIA INT UNSIGNED NULL,
  IDEATRIBUTO INT UNSIGNED NULL,
  INDOBRIGATORIEDADE CHAR(1) NULL,
  INDFORMACAODESCRICAO CHAR(1) NULL,
  NOMAPELIDO VARCHAR(255) NULL,
  DESDICAPREENCHIMENTO VARCHAR(255) NULL,
  PRIMARY KEY(IDECATEGORIAATRIBUTO),
  INDEX CATEGORIAATRIBUTOTALENTO_FKIndex1(IDEATRIBUTO),
  INDEX CATEGORIAATRIBUTOTALENTO_FKIndex2(IDECATEGORIA),
  FOREIGN KEY(IDEATRIBUTO)
    REFERENCES ATRIBUTOTALENTO(IDEATRIBUTO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDECATEGORIA)
    REFERENCES CATEGORIATALENTO(IDECATEGORIA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE GRUPOCRITERIOCONSULTA (
  IDEFILTROCONSULTA INT UNSIGNED NOT NULL,
  CODGRUPO INT UNSIGNED NOT NULL,
  PRIMARY KEY(IDEFILTROCONSULTA, CODGRUPO),
  INDEX GRUPOCRITERIOCONSULTA_FKIndex1(CODGRUPO),
  INDEX GRUPOCRITERIOCONSULTA_FKIndex2(IDEFILTROCONSULTA),
  FOREIGN KEY(CODGRUPO)
    REFERENCES GRUPO(CODGRUPO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEFILTROCONSULTA)
    REFERENCES FILTROCONSULTA(IDEFILTROCONSULTA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE PERFILFUNCIONALIDADESISTEMA (
  IDEPERFILSISTEMA INT UNSIGNED NOT NULL,
  IDEFUNCIONALIDADESISTEMA INT UNSIGNED NOT NULL,
  PRIMARY KEY(IDEPERFILSISTEMA, IDEFUNCIONALIDADESISTEMA),
  INDEX PERFILFUNCIONALIDADESISTEMA_FKIndex1(IDEFUNCIONALIDADESISTEMA),
  INDEX PERFILFUNCIONALIDADESISTEMA_FKIndex2(IDEPERFILSISTEMA),
  FOREIGN KEY(IDEFUNCIONALIDADESISTEMA)
    REFERENCES FUNCIONALIDADESISTEMA(IDEFUNCIONALIDADESISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEPERFILSISTEMA)
    REFERENCES PERFILSISTEMA(IDEPERFILSISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE GESTORSISTEMA (
  IDESISTEMA INT UNSIGNED NOT NULL,
  IDEUSUARIO INT UNSIGNED NOT NULL,
  INDADMINISTRADOR CHAR(1) NULL,
  PRIMARY KEY(IDESISTEMA, IDEUSUARIO),
  INDEX GESTORSISTEMA_FKIndex1(IDESISTEMA),
  INDEX GESTORSISTEMA_FKIndex2(IDEUSUARIO),
  FOREIGN KEY(IDESISTEMA)
    REFERENCES SISTEMA(IDESISTEMA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEUSUARIO)
    REFERENCES USUARIOSISTEMA(IDEUSUARIO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE GRUPOCATEGORIATALENTO (
  CODGRUPO INT UNSIGNED NOT NULL,
  IDECATEGORIA INT UNSIGNED NOT NULL,
  PRIMARY KEY(CODGRUPO, IDECATEGORIA),
  INDEX GRUPOCATEGORIATALENTO_FKIndex1(IDECATEGORIA),
  INDEX GRUPOCATEGORIATALENTO_FKIndex2(CODGRUPO),
  FOREIGN KEY(IDECATEGORIA)
    REFERENCES CATEGORIATALENTO(IDECATEGORIA)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(CODGRUPO)
    REFERENCES GRUPO(CODGRUPO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE ATRIBUTOTALENTOOPCAO (
  IDEATRIBUTOOPCAO INT UNSIGNED NOT NULL,
  IDEATRIBUTO INT UNSIGNED NULL,
  IDEATRIBUTOOPCAOPAI INT UNSIGNED NULL,
  DESATRIBUTOOPCAO VARCHAR(255) NULL,
  IDETABELAAPOIOORIGEM INT UNSIGNED NULL,
  PRIMARY KEY(IDEATRIBUTOOPCAO),
  INDEX ATRIBUTOTALENTOOPCAO_FKIndex1(IDEATRIBUTO),
  INDEX ATRIBUTOTALENTOOPCAO_FKIndex2(IDEATRIBUTOOPCAOPAI),
  FOREIGN KEY(IDEATRIBUTO)
    REFERENCES ATRIBUTOTALENTO(IDEATRIBUTO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDEATRIBUTOOPCAOPAI)
    REFERENCES ATRIBUTOTALENTOOPCAO(IDEATRIBUTOOPCAO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE SIGESPPESSOALLOTACAO (
  IDEPESSOALLOTACAO INT UNSIGNED NOT NULL,
  IDEPESSOAL INT UNSIGNED NOT NULL,
  CODLOTACAO INT UNSIGNED NULL,
  DESLOTACAO VARCHAR(255) NULL,
  DATINICIO DATETIME NULL,
  DATTERMINO DATETIME NULL,
  PRIMARY KEY(IDEPESSOALLOTACAO),
  INDEX SIGESPPESSOALLOTACAO_FKIndex1(IDEPESSOAL),
  FOREIGN KEY(IDEPESSOAL)
    REFERENCES SIGESPPESSOAL(IDEPESSOAL)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

CREATE TABLE ATRIBUTOTALENTOVALORADO (
  IDEATRIBUTOVALORADO INT UNSIGNED NOT NULL,
  IDETALENTO INT UNSIGNED NOT NULL,
  IDECATEGORIAATRIBUTO INT UNSIGNED NULL,
  DESVALORACAO TEXT NULL,
  IDEATRIBUTOOPCAO INT UNSIGNED NULL,
  PRIMARY KEY(IDEATRIBUTOVALORADO),
  INDEX ATRIBUTOTALENTOVALORADO_FKIndex1(IDEATRIBUTOOPCAO),
  INDEX ATRIBUTOTALENTOVALORADO_FKIndex2(IDECATEGORIAATRIBUTO),
  INDEX ATRIBUTOTALENTOVALORADO_FKIndex3(IDETALENTO),
  FOREIGN KEY(IDEATRIBUTOOPCAO)
    REFERENCES ATRIBUTOTALENTOOPCAO(IDEATRIBUTOOPCAO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDECATEGORIAATRIBUTO)
    REFERENCES CATEGORIAATRIBUTOTALENTO(IDECATEGORIAATRIBUTO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(IDETALENTO)
    REFERENCES TALENTO(IDETALENTO)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
)
TYPE=InnoDB;

