Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/01/2009, 01:12
Chuecko
 
Fecha de Ingreso: junio-2008
Mensajes: 119
Antigüedad: 18 años, 3 meses
Puntos: 1
Que Opinan de este diseño

Hola gente estoy por sacar a la web un sistema de notas, comentarios (visto por doquier) y puntos especie taringa y todos sus clones, aqui les traigo como queda la base de datos para que udts expertos me digan o comenten sugerencias o criticas
Código PHP:
CREATE TABLE `notas` (
  `
notasID` int(10) unsigned NOT NULL auto_increment,
  `
userID` mediumint(8) unsigned NOT NULL,
  `
posterTime` int(10) unsigned NOT NULL default '0',
  `
posterIP` tinytext NOT NULL,
  `
titulo` tinytext NOT NULL,
  `
cuerpo` text NOT NULL,
  `
tags` varchar(16),
  `
categoria` varchar(16) NOT NULL default 'xx',
   
FOREIGN KEY (`userID`) references usuarios,
   
PRIMARY KEY  (`notasID`)

) 
ENGINE=MyISAM  DEFAULT CHARSET=utf8; 
Esta es la tabla notas que tendra en su cuerpo el codigo BBcode obvio, con tags, categorias, tiempo, un notasID incremental unico, y un userID que referencias a los usuarios ya registrados...


Código PHP:
CREATE TABLE `comentarios` (
  `
comentarioID` int(10) unsigned NOT NULL auto_increment,
  `
notasID` int(10) unsigned NOT NULL auto_increment,
  `
userID` mediumint(8) unsigned NOT NULL,
  `
posterTime` int(10) unsigned NOT NULL default '0',
  `
posterIP` tinytext NOT NULL,
  `
cuerpo` text NOT NULL,
   
FOREIGN KEY (`userID`) references usuarios,
   
FOREIGN KEY (`notasID`) references notas,
   
PRIMARY KEY  (`comentarioID`)
) 
ENGINE=MyISAM  DEFAULT CHARSET=utf8; 
Aqui en esta tabla se almacenara todo los comentarios, solo tendria que recorrer los comentarios de un notasID especifico y listarlos, en este caso el userID es el del usuario que comenta

Código PHP:
CREATE TABLE `puntos` (
  `
notasID` int(10) unsigned NOT NULL auto_increment,
  `
userID` mediumint(8) unsigned NOT NULL,
  `
puntos` int(3) NOT NULL,
  
   
FOREIGN KEY (`userID`) references usuarios,
   
FOREIGN KEY (`notasID`) references notas,
   
PRIMARY KEY  (`notasID`)

) 
ENGINE=MyISAM  DEFAULT CHARSET=utf8; 

Aqui tendre todos los puntos que un usuario de a una nota, el userID es el del usuario que da puntos, puntos indica la cantidad, para saber los puntos de la nota recorreria esta tabla y de manera semejante la de un usuario...


Bueno critiquen lindo, gracias...