È bello avere dettagli del lavoro nella tabella della coda di lavoro in sé o avere i dettagli in una tabella separata?

StackOverflow https://stackoverflow.com//questions/11688105

Domanda

Attualmente sto progettando un modulo in cui un servizio o un'applicazione di console leggerà il lavoro da una tabella di JobQueue.Ho progettato il tavolo di JobQueue con le seguenti informazioni:

jobid: int prisarykey

jobtype: int notnull

Stato: varchar notnull

creato: datetime notnull

LastModifiedIfiedon: DateTime Nullable

Completabile: DateTime Nullable

L'attributo JobType viene presentato principalmente per mantenere questa tabella più generica, rispetto a particolare tipo di lavoro.La mia domanda è se mantenere i dettagli per il lavoro da eseguire in questa tabella stessa o qualche altra tabella con ID di lavoro che si riferisce?Questo perché ho i dati disponibili in qualche altro tavolo.Quindi, mentre esegue il lavoro in cui possiamo recuperare indirettamente i dati.Per evitare di duplicare le informazioni, ho pensato a qualcosa di simile.è un buon approccio?Hai bisogno del tuo consiglio su questo

È stato utile?

Soluzione

Mantieni qualsiasi dato che hai in quella "altra tabella" in quella tabella.Quello che devi considerare qui è come userete i dati.
Se hai intenzione di visualizzare qualche lavoro indicizzato da dove si può selezionare uno per visualizzare i dettagli, è possibile ottenere i tuoi dati in due recupero separato.Oppure Se è necessario per tutti i dati (dati in Jobquaue Table Plus Dati in quella "Altro tavolo") relativi a un lavoro, è possibile eseguire sempre un singolo recupero con i join.Non penso di tenere i dati di JobDetails su un tavolo separato causerebbe qualsiasi problema.

Altri suggerimenti

Non vedo molti attributi qui (forse non hai mostrato quelli?)

Vedo un ID (Jobid) Informazioni chiaramente necessarie, digita e stato (non riescono a vedere come è possibile fare a meno di questi dati.)

E quindi hai informazioni di auditing, create, modificate e completate.Mi piace mettere una corda lì per chi ha creato e chi ha modificato, ma ho quei informazioni di auditing in ogni tavolo che creo.È sempre utile quando non sei sicuro di cosa è successo e stai cercando di mantenere il database.

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