Nesta aula, vou ensinar com desenvolver um sistema de enquetes para ilimitadas enquetes.
Primeiro nos vamos criar o banco de dados e as tabelas para armazenar as enquetes, os votos, comentarios, e log de registros os votos.
Assista ao video para entender sobre cada coluna das tabelas
O SQL das tabelas;
//tabela enquetes
CREATE TABLE IF NOT EXISTS `enquetes` (
`enqCodigo` int(10) NOT NULL AUTO_INCREMENT COMMENT 'codigo da enquete',
`enqDtCadastro` date NOT NULL COMMENT 'data do cadastro',
`enqNmEnquete` varchar(200) NOT NULL COMMENT 'pergunta da enquete',
`enqOpcao1` varchar(150) NOT NULL COMMENT 'resposta 1',
`enqOpcao2` varchar(150) NOT NULL COMMENT 'resposta 2',
`enqOpcao3` varchar(150) NOT NULL COMMENT 'resposta 3',
`enqOpcao4` varchar(150) NOT NULL COMMENT 'resposta 4',
`enqOpcao5` varchar(150) NOT NULL COMMENT 'resposta 5',
`enqOpcao6` varchar(150) NOT NULL COMMENT 'resposta 6',
`enqOpcao7` varchar(150) NOT NULL COMMENT 'resposta 7',
`enqOpcao8` varchar(150) NOT NULL COMMENT 'resposta 8',
`enqOpcao9` varchar(150) NOT NULL COMMENT 'resposta 9',
`enqOpcao10` varchar(150) NOT NULL COMMENT 'resposta 10',
`enqVotos1` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 1',
`enqVotos2` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 2',
`enqVotos3` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 3',
`enqVotos4` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 4',
`enqVotos5` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 5',
`enqVotos6` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 6',
`enqVotos7` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 7',
`enqVotos8` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 8',
`enqVotos9` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 9',
`enqVotos10` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 10',
`enqDtInicioExibicao` date NOT NULL COMMENT 'data inicio da exiicao',
`enqDtFinalExibicao` date NOT NULL COMMENT 'data final da exibicao',
`enqStatus` enum('A','I') NOT NULL DEFAULT 'A' COMMENT 'ativo ou inativo',
PRIMARY KEY (`enqCodigo`,`enqNmEnquete`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os dados das enquetes' AUTO_INCREMENT=1 ;
//tabela enquetes_comentarios
CREATE TABLE IF NOT EXISTS `enquetes_comentarios` (
`enqcCodigo` int(20) NOT NULL AUTO_INCREMENT COMMENT 'codigo do comentario',
`enqcCodEnquete` int(10) NOT NULL,
`enqcIpEnvio` varchar(30) NOT NULL COMMENT 'ip do usuario',
`enqcProvedorEnvio` varchar(150) NOT NULL COMMENT 'provedor do ip',
`enqcDtHrEnvio` datetime NOT NULL COMMENT 'data e hora do envio',
`enqcNome` varchar(40) NOT NULL COMMENT 'nome que quem enviou',
`enqcEmail` varchar(60) NOT NULL COMMENT 'email de quem envu',
`enqcCidade` varchar(150) NOT NULL,
`enqcUF` char(2) NOT NULL,
`enqcComentario` mediumtext NOT NULL COMMENT 'comentáro',
`enqcStatus` enum('A','I') NOT NULL,
PRIMARY KEY (`enqcCodigo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os comentários das enquetes' AUTO_INCREMENT=1 ;
//tabela enquete_log
CREATE TABLE IF NOT EXISTS `enquetes_log` (
`enqlCodigo` int(30) NOT NULL AUTO_INCREMENT COMMENT 'codigo do envio',
`enqlCodEnquete` int(10) NOT NULL COMMENT 'codigo da enquete',
`enqlIpEnvio` varchar(30) NOT NULL COMMENT 'ip que enviou',
`enqlDtHrEnvio` datetime NOT NULL COMMENT 'data e hora do envio',
`enqlOpcao` varchar(5) NOT NULL,
PRIMARY KEY (`enqlCodigo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os dados de log dos votos' AUTO_INCREMENT=2 ;