Frage

Dies ist keine Frage auf eine bestimmte Sprache verwendet, sondern auf der richtigen Methodik der architektonischen Inventars Handhabung.

Betrachten Sie die folgende Struktur zum Speichern von Software:

platforms (platformID*, platformName)
titles (titleID*, titleName)

Und Folgendes ist ein Tischler Tabelle für einzigartige Produkte

products (platformID*, titleID*, releaseDate, notes)

Und die folgende ist eine Tabelle Ich mag würde Spur meines Inventars halten

inventory (platformID*, titleID*, quantityAvailable)

In den Beispielen Ich habe gesehen, andere haben eine Tabelle erstellt, wobei jede eindeutige Kopie einer Software in einer separaten Zeile als solche gespeichert ist:

software(softwareID*, softwareTitle)
inventory(inventoryID*, softwareID*)

Ich möchte wissen, welcher Ansatz ist vorzuziehen? Soll ich eine inventoryID und damit eine Zeile für jede einzelne Softwarekopie erstellen:

inventory(inventoryID*, platformID*(fk), titleID*(fk))

oder verwenden Sie eine Tabelle, dass Geschäfte Menge statt, wie zum Beispiel:

inventory(platformID*(fk), titleID*(fk), quantityAvailable)
War es hilfreich?

Lösung

Ich würde auch mit quantityAvailable statt Linien für alle Gegenstände beginnen. Aber würde ich immer noch entscheiden sich für eine inventoryId, da Fälle auftreten könnten, wo Sie die Einträge mit der gleichen Plattform / title Kombination sezieren müssen -. Mit einem inventoryId Sie sind mehr erweiterbaren in die Zukunft

VersionNo --- die Versionsnummer eines Software-Produkt:

Ich würde auch eine weitere Spalte hinzufügen empfehlen. Manchmal werden Sie vielleicht Versionen des gleichen Produkts haben unterschiedliche. Wenn Sie dies haben, es ist keine gute Idee, die Informationen in den Titel.

(zum Beispiel sind Sie für alle „Microsoft Office“ Produkte unabhängig von der Version ... gesucht werden sollen) fallen

Andere Tipps

Der Vorteil eine einzigartige Reihe von mit für jedes Stück Inventar ist, dass später, wenn Sie wollen, wie Inventar des Überblick behalten, dass der auf layover, Inventar, dass die auf Vorbestellung, Inventar, das verkauft wird, aber nach wie vor zurückgeführt werden könnte, usw.

Ich habe keinen wirklichen Nachteil diesen Ansatz sehen, außer, dass es wahrscheinlich mehr Arbeit, die nicht auszahlen könnte, wenn diese Dinge nicht wirklich gebraucht wird.

  

Sollte ich eine inventoryID und   damit eine Zeile für jede einzigartige Software   kopieren?

Es gibt keinen Grund, dies zu tun, es sei denn, Sie einige Informationen über jede einzelne Software zu kopieren, wie das Datum jedes Exemplar erworben wurde, gespeichert werden sollen. Dies ist selten pracitical im Inventar der Software.

  

oder eine Tabelle verwenden, dass Geschäfte Menge   stattdessen?

Sie können auch erwägen, eine quantityAvailable Spalte in Ihren Produkten Tabelle hinzugefügt, es sei denn, Sie denken, dass schließlich würden Sie viele Vorräte für jeden Titel, um in der Lage sein wollen, um eine Menge an Lagern zuordnen, die im Spezialangebot ist, dass bald wird auslaufen, etc.

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