Also arbeite ich an der Erweiterung der Verwendung von Elementen über www.ninjawars.net, und ich bin nicht genau sicher, wie man sie flexibel in der von uns verwendeten relationalen Datenbank darstellt.Wie man mehrere "Verwendungen" (zB Waffe) für verwertbares Inventar/Objekt/Objekte (zB Katana) in einer relationalen Datenbank modelliert
Ich kann den falschen Baum werden bellen, so fühlt sich frei, Vorschläge in anderen Richtungen zu machen, aber ich denke noch, dass jedes Element relational „Tags“ haben sollte.
Zum Beispiel ist ein Katana derzeit eine Zeile in der "Artikel" -Datenbank. Um es zu einer Waffe und zu einer haltbaren Sache zu machen, dachte ich, dass ich eine Datenbank mit "Eigenschaften" und eine Tabelle mit Item_Traits haben würde, die die beiden verbindet.
// Objects and their basic data
item_id | item | material | etc
1 | Naginata | steel | etc
// Things that objects can do
trait_id | trait
1 | weapon
2 | holdable
// How those objects do those things, e.g. powerfully, weakly, while on fire
_item_id | _trait_id | item_trait_data
1 | 1 | damage: 5, damage_type: sharp, whatever, etc
Ich bin nicht wirklich sicher, wie die zusätzlichen Daten zu modellieren, dass die Ergebnisse (zum Beispiel der Schaden, den ein Schwert tun, die damage_type, etc).
Ich bin auch nicht besonders glücklich darüber, dass das ganze ein Element würde in mehr als einem Ort gespeichert werden, zum Beispiel Um eine Kopie eines Gegenstands mit einem anderen Namen, wie ein "Kurzschwert", zu erstellen, müsste ich aus mehreren Tabellen kopieren, um den doppelten Gegenstand zu erstellen.
Gibt es einen besseren Weg, um dieses Zeug zu verraten, dass ich vermisse?