Domanda

Sto lavorando su un progetto per un amico e ho incontrato una decisione difficile. Il progetto si compone di saggi, ognuno dei quali può essere contestata, e anche commentato. Il fatto è questo, solo una persona è in grado di sfidare il saggio, e poi tutti gli altri viene bloccato e può solo commentare.

Le contestazioni possono essere solo due risposte profonde, 2.000 parole per la prima e 500 parole per il secondo. A quel punto, non più confutazioni - il resto della discussione ha luogo nei commenti (lunghezza fissa di n caratteri, a differenza di confutazioni) se gli spettatori si sentono l'argomento non è stato esaurito

.

Così ho deciso che inizialmente confutazioni e commenti erano strutturalmente la stessa cosa, e vorrei solo aggiungere un campo booleano nel mio tavolo commenti per indicare se il commento is_rebuttal. Ma mi sento un po 'incerto se quella direzione.

quello che sarebbe il collettivo-suggeriresti? Ogni saggio può avere una discussione tra le uniche due persone, ed entrambi ottenere solo a parlare 2 volte. Molto simile ai commenti, ma separati.

È stato utile?

Soluzione

Quindi, probabilmente sarei una tabella per 'conversazioni', con campi per userID del manifesto saggio, il singolo risponditore (inizialmente NULL) e, probabilmente, un titolo o astratta. Un altro tavolo conterrebbe 'saggi' con campi per il saggio o userID di rebutter, il conversationId, il corpo del post, e un conteggio post per metterli in ordine. Infine, mi piacerebbe avere un tavolo 'commenti' con commento manifesti userids, essayID di per collegarli ai post saggio, di commentID metterli in modalità filo (se questo è apropriate) e, naturalmente, il commento del corpo.

Altri suggerimenti

Beh, difficile dire senza sapere di più sul sistema. Ma direi che, da quello che si scrive, sì, confutazioni e commenti sono simili e dovrebbero essere messi in un'unica tabella.

Il mio motto è sempre: In caso di dubbio, utilizzare il metodo più semplice. Che qui è chiaramente una singola tabella.

Se in seguito si scopre che tavoli separati sono più utili, si può sempre refactoring.

Se i commenti e confutazioni hanno lunghezze massime diverse, e diverse restrizioni su quanti si può avere per ogni saggio, suonano come cose molto diverse da me. Lo schema sarà più chiaro se si creano due tabelle per i soggetti con diverse limitazioni, e stabilire colonna diversa e referenziale vincoli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top