Ich arbeite in einem IT-Shop und versuche, eine Datenbank zu erstellen, um unser Hardwareinventar zu verfolgen. Das Wesentliche ist, dass ein mit Strichcode versehenes Asset nur an einem Ort sein kann, entweder an einem Schreibtisch, in einem Rack oder in irgendeiner Art von Speicher (auf einem Regal, einer Palette usw.).Asset Inventory Database Design
Ich hatte ursprünglich so etwas.
Table Asset(barcode);
Table Rack(rack_id, rackName);
Table Desk(desk_id, deskName);
Table Storage(storage_id, StorageName);
Und für jede „Lage“ -Tabelle (Rack, Schreibtisch, Storage) hatte ich einen Tisch, um zu verfolgen, wo ein Vermögenswert getätigt:
Table Desk_Item (desk_item_id, desk_id, barcode);
Table Rack_Item (rack_item_id, rack_id, barcode);
Table Storage_Item (storage_item_id, storage_id, barcode);
Aber mir die Idee nicht gefallen von drei separaten Tabellen, um die Vermögenswerte zu verfolgen. Also dachte ich, ich sollte eine Location-Tabelle
machen So jetzt die Location-Tabelle verfolgt, wo das Asset ist. Aber was mich verrückt macht ist, dass wenn ich die Location-Tabelle abfrage, ich Rack, Desk und Storage überprüfen muss. Ist das der richtige Weg dies zu gestalten? Schätze deine Gedanken oder Ratschläge.
Warum brauchen Sie eine Standorttabelle überhaupt? Ein Asset ist irgendwo, immer. Speichern Sie es in der Asset-Tabelle –
Das ist sinnvoll. Ich war so sehr damit beschäftigt, einen Gegenstand an einem Ort zu "putten", den ich in die Datenbank mitgenommen hatte. Vielen Dank. – Tony