Estoy haciendo un pequeño programa donde los usuarios hacen publicaciones o escriben blogs. En esas publicaciones, a otros usuarios les puede gustar o no la publicación como en Facebook o votar a favor o en contra de la publicación como en stackoverflow. Me gustaría conocer una buena estructura de base de datos que se usa comúnmente y el programa funciona eficientemente con esa estructura. Tengo dos opciones
primero
Enviar:
id head message datepost likes dislikes
1 ab anchdg DATE 1,2,3 7,55,44,3
De la manera anterior, id
es el postid. En la columna de me gusta, se 1,2,3
encuentra la identificación del usuario a quien le gustó o votó la publicación o el blog. 7,55,44,3
es la identificación de los usuarios a los que no les gustó o rechazaron la publicación o el blog.
Segundo
Enviar:
id head message datepost
1 ab anchdg DATE
Gustos:
id postid userid
1 1 1
2 2 2
No me gusta:
id postid userid
1 1 7
2 1 55
De esta manera, tengo que crear dos tablas separadas para Me gusta y No me gusta para obtener Me gusta de la publicación. De esta manera, las tablas, es decir, Likes
y Dislikes
se llenarán en gran medida. Esto puede hacer que la mesa sea pesada y el procesamiento lento.
Entonces, ¿me gustaría saber cuál es la forma mejor y estándar de lograr esta tarea?