





-- -----------------------------------------------------

-- Tabela `atualizacoes`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}atualizacoes` (

  `intAtualizacaoID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strAtualizacaoChave` CHAR(8) NOT NULL,

  `strAtualizacaoVersao` VARCHAR(12) NOT NULL,

  `strAtualizacaoTitulo` VARCHAR(200) NOT NULL,

  `strAtualizacaoDescricao` TEXT NOT NULL,

  `tAtualizacaoDataCadastro` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intAtualizacaoID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela que armazena as atualizações instaladas';





-- -----------------------------------------------------

-- Tabela `categorias`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}categorias` (

  `intCategoriaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strCategoriaChave` CHAR(8) NOT NULL,

  `strCategoriaStatus` ENUM('inativo','ativo') NOT NULL DEFAULT 'inativo',

  `strCategoriaNome` VARCHAR(50) NOT NULL,

  `strCategoriasSlug` VARCHAR(50) NOT NULL,

  `tCategoriaUltAlteracao` DATETIME NULL DEFAULT NULL,

  `tCategoriaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intCategoriaID`),

  INDEX `fk_categorias_idx` (`strCategoriaChave` ASC))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar categorias';





-- -----------------------------------------------------

-- Tabela `empresas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}empresas` (

  `intEmpresaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strEmpresaChave` CHAR(8) NOT NULL,

  `strEmpresaUserChave` CHAR(8) NULL,

  `strEmpresaPalavrasChave` VARCHAR(160) NULL DEFAULT NULL,

  `strEmpresaOrigem` ENUM('user','adm') NOT NULL DEFAULT 'user',

  `intEmpresaContVisita` INT(11) NOT NULL DEFAULT '0',

  `intEmpresaRankVisita` DOUBLE NOT NULL DEFAULT '0',

  `strEmpresaStatus` ENUM('inativo','ativo','expirado','cancelado') NOT NULL DEFAULT 'inativo',

  `strEmpresaStatusPg` ENUM('pago','pendente') NOT NULL DEFAULT 'pendente' COMMENT 'Define o status de pagamento do anuncio da empresa',

  `strEmpresaRevisao` ENUM('revisado','aguardando') NOT NULL DEFAULT 'aguardando' COMMENT 'Status de revisão da empresa recem publicada ou alterada',

  `strEmpresaTitulo` VARCHAR(255) NOT NULL,

  `strEmpresaTituloSlug` VARCHAR(255) NOT NULL,

  `strEmpresaDescricao` TEXT NOT NULL,

  `strEmpresaEndereco` VARCHAR(100) NOT NULL,

  `strEmpresaTelefone` VARCHAR(15) NOT NULL,

  `strEmpresaTelefone2` VARCHAR(15) NULL DEFAULT NULL,

  `strEmpresaBairro` VARCHAR(50) NOT NULL,

  `strEmpresaCidade` VARCHAR(50) NOT NULL,

  `strEmpresaCidadeSlug` VARCHAR(100) NOT NULL,

  `strEmpresaEstado` VARCHAR(2) NOT NULL,

  `strEmpresaCEP` VARCHAR(12) NULL DEFAULT NULL,

  `strEmpresaMaps` TEXT NULL DEFAULT NULL,

  `strEmpresaSite` VARCHAR(255) NULL DEFAULT NULL,

  `strEmpresaImagem1` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem2` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem3` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem4` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem5` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem6` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaVideo` TEXT NULL DEFAULT NULL,

  `tEmpresaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  `tEmpresaDataInicio` DATETIME NULL DEFAULT NULL,

  `tEmpresaDataExpiracao` DATETIME NULL DEFAULT NULL,

  `tEmpresaUltAlteracao` DATETIME NULL,

  PRIMARY KEY (`intEmpresaID`),

  INDEX `fk_empresas_usuarios_idx` (`strEmpresaUserChave` ASC),

  INDEX `fk_empresas_idx` (`strEmpresaChave` ASC),

  CONSTRAINT `fk_empresas_usuarios`

    FOREIGN KEY (`strEmpresaUserChave`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}usuarios` (`strUsuarioChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar anuncios';





-- -----------------------------------------------------

-- Tabela `categoriasempresas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}categoriasempresas` (

  `intCatEmpresaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strCatEmpresaChave` CHAR(8) NOT NULL,

  `strCatEmpresaChaveCategoria` CHAR(8) NOT NULL,

  `strCatEmpresaChaveEmpresa` CHAR(8) NOT NULL,

  `tCatEmpresaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intCatEmpresaID`),

  INDEX `fk_categoriasempresa_empresas_idx` (`strCatEmpresaChaveEmpresa` ASC),

  INDEX `fk_categoriasempresa_categorias_idx` (`strCatEmpresaChaveCategoria` ASC),

  CONSTRAINT `fk_categoriasempresa_empresas`

    FOREIGN KEY (`strCatEmpresaChaveEmpresa`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}empresas` (`strEmpresaChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_categoriasempresa_categorias`

    FOREIGN KEY (`strCatEmpresaChaveCategoria`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}categorias` (`strCategoriaChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar a relacao entre um anuncio e as categorias';





-- -----------------------------------------------------

-- Tabela `historicoacoes`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}historicoacoes` (

  `intHistoricoacoesID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strHistoricoacoesChave` CHAR(8) NOT NULL,

  `intHistoricoacoesChaveConta` INT(8) NOT NULL,

  `strHistoricoacoesChaveAdministrador` CHAR(8) NOT NULL,

  `strHistoricoacoesTipo` ENUM('gravacao','edicao','exclusao') NOT NULL,

  `strHistoricoacoesAcao` VARCHAR(255) NOT NULL,

  `tHistoricoacoesDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intHistoricoacoesID`),

  INDEX `fk_historicoacoes_idx` (`strHistoricoacoesChaveAdministrador` ASC),

  CONSTRAINT `fk_historicoacoes`

    FOREIGN KEY (`strHistoricoacoesChaveAdministrador`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}administradores` (`strAdministradorChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar ações que cada usuario realiza';





-- -----------------------------------------------------

-- Tabela `historicologin`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}historicologin` (

  `intHistoricologinID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strHistoricologinChave` CHAR(8) NOT NULL,

  `strHistoricologinChaveAdministrador` CHAR(8) NOT NULL,

  `intHistoricologinChaveConta` INT(8) NOT NULL,

  `strHistoricologinIP` VARCHAR(20) NOT NULL,

  `tHistoricologinData` DATETIME NOT NULL,

  `tHistoricologinDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intHistoricologinID`),

  INDEX `fk_historicologin_administradores_idx` (`strHistoricologinChaveAdministrador` ASC),

  CONSTRAINT `fk_historicologin_administradores`

    FOREIGN KEY (`strHistoricologinChaveAdministrador`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}administradores` (`strAdministradorChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar logins realizados pelos usuarios';





-- -----------------------------------------------------

-- Tabela `paginas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}paginas` (

  `intPaginaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strPaginaChave` CHAR(8) NOT NULL,

  `strPaginaStatus` ENUM('inativo','ativo') NOT NULL DEFAULT 'ativo',

  `strPaginaTitulo` VARCHAR(100) NOT NULL,

  `strPaginaSlug` VARCHAR(100) NOT NULL,

  `strPaginaUrl` VARCHAR(255) NULL DEFAULT NULL,

  `strPaginaAlvo` ENUM('_blank','_self') NULL DEFAULT '_self',

  `intPaginaOrdem` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',

  `strPaginaConteudo` TEXT NOT NULL,

  `tPaginaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPaginaID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Armazena as paginas criadas pelo usuario';





-- -----------------------------------------------------

-- Tabela `planos`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}planos` (

  `intPlanoID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strPlanoChave` CHAR(8) NOT NULL,

  `strPlanoStatus` ENUM('ativo','inativo') NOT NULL DEFAULT 'ativo',

  `strPlanoTipo` ENUM('gratuito','pago') NOT NULL DEFAULT 'gratuito',

  `strPlanoNome` VARCHAR(100) NOT NULL,

  `strPlanoSetor` ENUM('anuncio','publicidade') NOT NULL,

  `intPlanoPermImagens` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,

  `intPlanoQimagens` TINYINT(1) UNSIGNED NOT NULL DEFAULT 6 COMMENT 'Coluna usada para armazenar a quantidade de imagens permitidas em um plano.',

  `intPlanoValor` DECIMAL(10,2) NOT NULL DEFAULT '0.00',

  `intPlanoDuracao` INT(3) NOT NULL,

  `tPlanoUltAlteracao` DATETIME NULL,

  `tPlanoDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPlanoID`),

  INDEX `fk_planos_idx` (`strPlanoChave` ASC))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para cadastrar os planos';





-- -----------------------------------------------------

-- Tabela `publicidade`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}publicidade` (

  `intPubID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strPubChave` CHAR(8) NOT NULL,

  `strPubUserChave` CHAR(8) NULL,

  `strPubOrigem` ENUM('user','adm') NOT NULL DEFAULT 'user',

  `strPubTitulo` VARCHAR(100) NOT NULL,

  `strPubStatus` ENUM('ativo','inativo') NOT NULL DEFAULT 'ativo',

  `strPubLink` VARCHAR(255) NOT NULL,

  `strPubTarget` ENUM('_blank','_self') NULL DEFAULT NULL,

  `strPubTamanho` ENUM('destaque','banner') NOT NULL,

  `strPubImagem` VARCHAR(20) NOT NULL,

  `tPubDataExpiracao` DATETIME NOT NULL,

  `tPubUltAlteracao` DATETIME NULL DEFAULT NULL,

  `tPubDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPubID`),

  INDEX `fk_publicidade_usuarios_idx` (`strPubUserChave` ASC),

  INDEX `fk_publicidade_idx` (`strPubChave` ASC),

  CONSTRAINT `fk_publicidade_usuarios`

    FOREIGN KEY (`strPubUserChave`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}usuarios` (`strUsuarioChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar dados publicidade';





-- -----------------------------------------------------

-- Tabela `taxarejeicao`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}taxarejeicao` (

  `intTaxaRejeicaoID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strTaxaRejeicaoChave` CHAR(8) NOT NULL,

  `intTaxaRejeicaoQuantidade` INT(11) NOT NULL,

  `tTaxaRejeicaoDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intTaxaRejeicaoID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para armazenar quantidade de taxa de rejeicao';





-- -----------------------------------------------------

-- Tabela `tentativaslogin`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}tentativaslogin` (

  `intTentativaloginID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strTentativaloginIP` VARCHAR(20) NOT NULL,

  `intTentativaloginQuantidade` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',

  `tTentativaloginDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intTentativaloginID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para armazenar as tentativas de login';





-- -----------------------------------------------------

-- Tabela `visitasunicas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}visitasunicas` (

  `intVisitaUnicaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strVisitaUnicaChave` CHAR(8) NOT NULL,

  `intVisitaUnicaQuantidade` INT(11) NOT NULL,

  `tVisitaUnicaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intVisitaUnicaID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para armazenar quantidade de visitantes unicos';





-- -----------------------------------------------------

-- Tabela `visualizacoespagina`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}visualizacoespagina` (

  `intViPaginaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strViPaginaChave` CHAR(8) NOT NULL,

  `intViPaginaQuantidade` INT(11) NOT NULL,

  `tViPaginaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intViPaginaID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar a quantidade de pageviews do site';





-- -----------------------------------------------------

-- Tabela `planosempresas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}planosempresas` (

  `intPlanoEmpresaID` INT(11) NOT NULL AUTO_INCREMENT,

  `strPlanoEmpresaChave` CHAR(8) NOT NULL,

  `strPlanoEmpresaChaveEmpresa` CHAR(8) NOT NULL,

  `strPlanoEmpresaChavePlano` CHAR(8) NOT NULL,

  `strPlanoEmpresaTipo` ENUM('gratuito','pago') NOT NULL,

  `strPlanoEmpresaNome` VARCHAR(100) NOT NULL,

  `strPlanoEmpresaValor` DECIMAL(10,2) NOT NULL,

  `intPlanoEmpresaDuracao` INT(3) NOT NULL,

  `tPlanoEmpresaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPlanoEmpresaID`),

  INDEX `fk_planosempresa_empresas_idx` (`strPlanoEmpresaChaveEmpresa` ASC),

  INDEX `fk_planosempresa_planos_idx` (`strPlanoEmpresaChavePlano` ASC),

  CONSTRAINT `fk_planosempresa_empresas`

    FOREIGN KEY (`strPlanoEmpresaChaveEmpresa`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}empresas` (`strEmpresaChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_planosempresa_planos`

    FOREIGN KEY (`strPlanoEmpresaChavePlano`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}planos` (`strPlanoChave`)

    ON DELETE RESTRICT

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;





-- -----------------------------------------------------

-- Tabela `planospublicidade`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}planospublicidade` (

  `intPlanoPubID` INT(11) NOT NULL AUTO_INCREMENT,

  `strPlanoPubChave` CHAR(8) NOT NULL,

  `strPlanoPubChavePublicidade` CHAR(8) NOT NULL,

  `strPlanoPubChavePlano` CHAR(8) NOT NULL,

  `strPlanoPubTipo` ENUM('gratuito','pago') NOT NULL,

  `strPlanoPubNome` VARCHAR(100) NOT NULL,

  `strPlanoPubValor` DECIMAL(10,2) NOT NULL,

  `strPlanoPubDuracao` INT(3) NOT NULL,

  `strPlanoPubDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPlanoPubID`),

  INDEX `fk_planospublicidade_publicidade_idx` (`strPlanoPubChavePublicidade` ASC),

  CONSTRAINT `fk_planospublicidade_publicidade`

    FOREIGN KEY (`strPlanoPubChavePublicidade`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}publicidade` (`strPubChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;



-- -----------------------------------------------------
-- Table `organygu_teste`.`mensagens`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}mensagens` (
  `intMsgID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `strMsgChave` CHAR(8) NOT NULL,
  `strMsgStatus` ENUM('naolida','lida') NULL DEFAULT 'naolida',
  `strMsgChaveUsuario` CHAR(8) NULL,
  `strMsgChaveEmpresa` CHAR(8) NOT NULL,
  `strMsgNome` VARCHAR(45) NOT NULL,
  `strMsgEmail` VARCHAR(100) NOT NULL,
  `strMsgTel` VARCHAR(16) NOT NULL,
  `strMsgAssunto` VARCHAR(45) NOT NULL,
  `strMsgTexto` TEXT NOT NULL,
  `strMsgDataCadastro` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`intMsgID`),
  INDEX `ce_mensagens_usuarios_idx` (`strMsgChaveUsuario` ASC),
  INDEX `ce_mensagens_empresas_idx` (`strMsgChaveEmpresa` ASC),
  CONSTRAINT `ce_mensagens_usuarios`
    FOREIGN KEY (`strMsgChaveUsuario`)
    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}usuarios` (`strUsuarioChave`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `ce_mensagens_empresas`
    FOREIGN KEY (`strMsgChaveEmpresa`)
    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}empresas` (`strEmpresaChave`)
    ON DELETE CASCADE
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabela utilizada para armazenar as mensagens do usuario';