nukelinux
(usa Ubuntu)
Enviado em 06/02/2009 - 11:04h
Esse é o sql que eu desenvolvi para o site:
------------------------------------------------------------------------
/*
tabela usuario cadastra os usuarios do site de uma forma geral. Somente usuarios
cadastrados poderão votar em enquetes, deixar recados, etc
*/
create table usuario(
login char(20) not null primary key,
senha char(20) not null,
nome varchar(60) not null,
email varchar(60) not null,
localidade varchar(60),
)engine=innodb;
/*
setor de trabalho da distro: design, desenvolvimento, testes... ficam na tabela
setor
*/
create table setor(
nome char(25) not null primary key,
descricao text
)engine=innodb;
/*
cadastra o(s) responsavel(is) de cada setor
*/
create table responsavel(
login char(20) not null,
setor char(25) not null,
foreign key (login) references usuario(login) on delete cascade,
foreign key (setor) references setor(nome) on delete cascade
)engine=innodb;
/*
cadastra os desenvolvedores. Para ser desenvolvedor, é necessário antes ser usuário
do site
*/
create table develop(
login char(20) not null,
setor char(25) not null,
foreign key (login) references usuario(login) on delete cascade,
foreign key (setor) references setor(nome) on delete cascade
)engine=innodb;
/*
--------------------------------------------------------------------------------------
daqui em diante começam as tabelas do sistema de enquetes. A idéia é fornecer quantas
enquetes forem necessárias e quantas respostas forem necessárias à pergunta da enquete.
Lembrando: para usar a enquete, deve estar registrado
---------------------------------------------------------------------------------------
*/
create table pergunta(
id int not null primary key auto_increment,
pergunta varchar(90) not null,
status enum('0','1') default '0',
inicio date not null, --data de inicio da enquete
encerra date not null --data de encerramento da enquete
)engine=innodb;
/* staus = 0 -> em andamento; status = 1 -> concluído */
/*
Cada resposta é criada e vinculada a uma pergunta e um contador é adicionado
cada voto incrementa o contador. O resultado parcial e/ou total busca
*/
create table resposta(
id int not null primary key auto_increment,
id_pergunta int not null,
resposta varchar(90) not null,
cont bigint not null default 0
)engine=innodb;
------------------------------------------------------------------------
A idéia é que possamos criar quantas equipes forem necessárias. os usuarios cadastrados podem se oferecer como voluntários e se inscrever em qualquer equipe (ou todas).
cada equipe pode ter um ou mais responsáveis. Assim temos mais flexibilidade...
estou trabalhando numa forma de gerenciamento dos trabalhos, envio de mensagens aos integrantes da equipe (ou todos) e sistema para "reportar bugs", que ficariam para a equipe de suporte, por exemplo