2009-07-09 1 views
0

Ich füge eine Anzahl von Feldern zu einer Tabelle hinzu, die Informationen zu Schiffen (Schiffen) speichert.ISO-Ratschläge für die beste Art, bestimmte Werte zu speichern

Die Werte beziehen sich auf den Kraftstoffverbrauch.

Es gibt acht Werte, die zu jedem Zeitpunkt vier verwendet werden können:
am Port IFO 180
am Port IFO 380
am Port MDO
am Port MGO
Segel IFO 180
Segeln IFO 380
Segeln MDO
Segeln MGO

Nun kann ein Benutzer einen Wert für die am Port 180 oder IFO IFO 380 und an Port MDO OR MGO, nicht beide ein. Gleiches gilt für Segelwerte.

Ich bin hin und her auf dem besten Weg, um diese Daten zu speichern.

Die beiden Möglichkeiten, die ich habe kommen mit lauten wie folgt:

Erstens:
Ein Feld für den Kraftstofftyp, im Hafen oder Segeln:
AtPortIFOType, nvarchar (3)
AtPortMFOType, nvarchar (3)
SailingIFOType, nvarchar (3)
SailingMFOType, nvarchar (3)

Diese Felder werden die entsprechenden Entscheidungen durch den Benutzer (180 oder 380, oder MDO enthalten MGO)

ein Feld für Verbrauchswert, am Port oder Segel:
AtPortIFOConsumption, int
AtPortMFOConsumption, int
SailingIFOConsumption, int
SailingMFOConsumption, int

Der zweite Weg I diese Werte zu speichern dachte war nur noch ein Feld für jede Null und die andere auf der Basis der Kraftstoff der Benutzer wählt:

AtPortIFO180, int
AtPortIFO380, int
AtPortMDO, int
AtPortMGO, int
SailingIFO180, int
SailingIFO380, int
SailingMDO, int
SailingMGO, int

Ich habe hin und her auf dieser scheinbar zehnmal gegangen, die Option der effizienteste? Oder gibt es eine dritte Option, die ich nicht sehe?

Danke!

+0

Welche Kombinationen sind zulässig? Könnten Sie zB AtPortIFO180 und SailingIFO360 einstellen? Ähnlich, wenn Sie AtPortIFO180 einstellen, können Sie AtPortMDO oder AtPortMGO verwenden? –

+0

Ja, Sie können einen At-Port-IFO-Wert und einen At-Port-MFO-Wert festlegen, aber nicht beide. Gleiches gilt für Segelwerte. – Tom

Antwort

0

Beide Wege sehen aus, als würden sie ungefähr gleichen Platz in Ihrer Datenbank verbrauchen, so dass die Speicherauswirkungen beider Methoden keinen großen Faktor darstellen würden.

Wenn Sie Werte über Datensätze hinweg summieren müssen, ist möglicherweise Ihre zweite Methode vorzuziehen, da es schwieriger wäre, IFO180- und IFO360-Werte versehentlich zu summieren, wie dies in anderen Feldern der Fall wäre.

Die erste Methode sieht jedoch so aus, als ob sie besser für die Art und Weise geeignet wäre, wie Benutzer die Daten eingeben würden, d. H. Eine Kraftstoffart auswählen und einen Verbrauchswert eingeben. Außerdem wird es schwieriger, inkompatible Zahlen in Ihrer Datenbank einzugeben, wenn jemand manuell Datensätze zur Datenbank hinzufügt.

Es gibt hier keine feste Regel, also nicht vertraut mit, wie die Daten verwendet werden, würde ich nicht beide Arten über die anderen empfehlen.

+0

Ja, ich denke, ich werde mit der ersten Methode gehen. Bei der sehr geringen Wahrscheinlichkeit, dass es jemals einen anderen IFO- oder MFO-Treibstofftyp gibt, kann diese Methode leicht dazu passen, anstatt ein weiteres Feld hinzuzufügen. – Tom