Ist es gut, Jobdetails in der Job-Warteschlange-Tabelle selbst zu haben oder die Details in einem separaten Tisch zu haben?

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

Frage

Ich entwerfe derzeit ein Modul, in dem eine Service- oder Konsolenanwendung von einer JobQueue Tabelle gelesen wird.Ich habe die JobQueue-Tabelle mit den folgenden Informationen darin entworfen:

JOBID: Int PrimaryKey

jobtyp: int notnull

Zustand: varchar notnull

erstellt: datetime notnull

lastmodifiedon: datetime nullable

abgeschlossen: datetime nullable

Das JobType-Attribut wird hauptsächlich eingeführt, um diesen Tisch generischer zu halten, als in Bezug auf bestimmte Art von Jobs.Meine Frage ist, ob die Details für den Job aufbewahrt werden sollen, um in dieser Tabelle selbst oder in einer anderen Tabelle mit der Job-ID, die darauf referenziert werden soll, aufzubewahren.Dies liegt daran, dass ich die Daten in einer anderen Tabelle verfügbar habe.Bei der Ausführung des Jobs können wir die Daten indirekt abrufen.Um das Duplizieren der Info zu vermeiden, dachte ich an so etwas.Ist das ein guter Ansatz?Brauche deinen Rat zu diesem

War es hilfreich?

Lösung

Halten Sie an, welche Daten Sie in dieser Tabelle in dieser Tabelle haben.Was Sie hier berücksichtigen müssen, ist, wie Sie die Daten verwenden.
Wenn Sie einen indizierten Job anzeigen möchten, von dem aus, an dem man auswählen kann, um die Details anzuzeigen, können Sie Ihre Daten in zwei separaten Holtringen abrufen.Oder wenn Sie alle Daten benötigen (Daten in JobQueue Tabelle plus Daten in dieser "Andere Tabelle"), die sich auf einen Job bezieht, können Sie immer einen einzelnen Abruf mit Joins ausführen.Ich glaube nicht, dass die Jobdetail-Daten auf einem separaten Tisch aufbewahren würden, würde ein Problem verursachen.

Andere Tipps

Ich sehe hier nicht viele Attribute (vielleicht haben Sie diese nicht gezeigt?)

Ich sehe eine ID (JOBID) eindeutig benötigte, Typ- und Statusinformationen (nicht sehen, wie Sie ohne diese Daten tun können.)

und dann haben Sie Prüfinformationen, die erstellt, modifiziert und abgeschlossen sind.Ich habe gerne eine Zeichenfolge dafür ein, wer erstellt und der geändert hat, aber ich habe diese Prüfungsinformationen in jeder Tabelle, die ich ersteller.Es ist immer nützlich, wenn Sie nicht sicher sind, was passiert ist, und Sie versuchen, die Datenbank aufrechtzuerhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top