Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2007, 10:15
Avatar de IMAC/
IMAC/
 
Fecha de Ingreso: octubre-2005
Mensajes: 738
Antigüedad: 18 años, 6 meses
Puntos: 14
Sonrisa Diseño de la base de datos. Duda de optimizacion.

Buenas.

La cuestión es que tengo a unos usuarios que pueden votar una serie de artículos.
Yo quiero que un usuario unicamente pueda votar un mismo artículo una única vez.

Yo he estado haciendo esto mismo anteriormente, pero no me convence para nada el diseño que le he dado en la base de datos.

Hice lo siguiente:
Creé 2 atributos: id_articulo y idUsuario
De este modo si un usuario votaba un artículo, yo insertaba el id del artículo y el id del usuario en la tabla.
Si votaba otro artículo, VOLVÍA a insertar el mismo id de usurio, y luego insertaba otro id de artículo.
De este modo si quería que no votaran un mismo artículo 2 veces hacía una busqueda en la tabla por id de usuario y si no encontraba el id de artículo que estaba intentando votar en este momento, entonces se insertaba su voto, de lo contrario, salía un mensaje dicnedo que ya había votado.

Bueno, perdonaz por la parrafada, pero es para no dejar ningún cabo suelto.

La cuestión principal está en que me gustaría que no tuviera que insertar 100 veces el id de usuario en la tabla si ha votado 100 artículos diferentes.
Se me había ocurrido separar los artículos que vote por comas, y luego buscar el número dentro del campo de texto o lo que fuera, pero como no estoy muy seguro aún, he preferido preguntar a los expertos (vosotros), para que me aconsejeis sobre que acciones se toman en estas situaciones.

Gracias por todo.