Pregunta

Estoy trabajando en un proyecto para un amigo y me he topado con una decisión difícil.El proyecto consta de ensayos, cada uno de los cuales puede ser cuestionado y también comentado.La cuestión es que sólo una persona puede cuestionar el ensayo, y luego todos los demás quedan excluidos y sólo pueden comentar.

Las refutaciones sólo pueden tener dos respuestas de profundidad, 2.000 palabras para la primera y 500 palabras para la segunda.En ese punto, no habrá más refutaciones: el resto de la discusión se lleva a cabo en los comentarios (longitud fija de n caracteres, a diferencia de las refutaciones) si los espectadores sienten que el tema no se agotó.

Así que inicialmente decidí que las refutaciones y los comentarios eran estructuralmente lo mismo, y simplemente agregaría un campo booleano dentro de mi tabla de comentarios para indicar si el comentario es_refutación.Pero me siento un poco inseguro acerca de esa dirección.

¿Qué sugeriría el colectivo?Cada ensayo puede tener una discusión entre dos personas únicamente, y ambas solo pueden hablar 2 veces.Muy similar a los comentarios, pero separados.

¿Fue útil?

Solución

Así que probablemente tendría una mesa para 'conversaciones', con los campos ID de usuario para el cartel de ensayo, el respondedor sola (inicialmente NULL) y probablemente un título o el resumen. Otra tabla contendría 'Ensayos' con campos para el ensayo o un ID de usuario de rebutter, la conversationID, el cuerpo del mensaje, y un recuento de entradas para ponerlos en orden. Por último, tendría una tabla de 'Comentarios' con comentario carteles identificadores de usuario, essayID de vincularlos a los puestos de ensayo, de commentID a los puso en modo de hilo (si eso es adecuada exploración) y por supuesto el cuerpo comentario.

Otros consejos

Bueno, difícil de decir sin saber más sobre el sistema. Pero yo diría que, a partir de lo que se escribe, sí, las réplicas y los comentarios son similares y se deben poner en una sola tabla.

Mi lema siempre es: En caso de duda, utilice el método más simple. Que en este caso es claramente una sola tabla.

Si después resulta que las tablas separadas son más útiles, siempre se puede refactorizar.

Si los comentarios y réplicas tienen diferentes longitudes máximas, y diferentes restricciones en la cantidad que se puede tener por ensayo, que suenan como cosas muy diferentes a mí. Su esquema será más claro si crea dos tablas para las entidades con diferentes limitaciones, y establecer diferentes columna y referencial limitaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top