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 ;