Ich arbeite ein minimales Spiel mit Java und MySQL. Ich hatte einige Schwierigkeiten damit, meine Tabellen korrekt zu entwerfen. Ich einige Ratschläge benötigen: Lassen Sie mich spezifisch sein, ich habe 3 Klassen:Wie Design-Datenbank für diese Situation?
Knoten
public class Node {
private Integer id;
private Integer position;
private Integer foodTax;
private Boolean hasTreasureMap;
private Integer currentPlayer; // playerId
Schatz
public class Treasure {
Integer id;
private Integer position; // nodeId
private Integer goldValue;
Spieler
public class Player {
private Integer id;
private Integer wealth;
private Integer strength;
private Integer start;
private Integer goal;
private Integer currentPosition; // nodeId
private Integer currentGoal; // another nodeId
private Vector<Integer> path;
private Vector<Integer> treasureIds;
private int currentMoveIndex;
Graph<Integer> telescope;
Ich bin ein Neuling auf mysql und Datenbank im Allgemeinen. Ich denke, dass ich in diesem Fall Fremdschlüssel verwenden muss. Ich bin jedoch immer noch vage, wie ich es umsetzen soll. Außerdem gibt es mehrere Einschränkungen:
- Schatz Position ist fest.
- Knotenposition ist fix.
- Nur Spielerposition kann geändert werden.
- Ein Knoten kann immer nur einen Spieler haben (Ich versuche es so einfach wie möglich zu machen, denn wenn zwei Spieler im gleichen Knoten sind, weiß ich nicht, wie ich damit umgehen soll)
Also der einzige Fremdschlüssel hier meiner Meinung nach ist 'currentPlayer' ID der Klasse Node? Bitte korrigieren Sie mich, wenn ich falsch lag. Irgendeine Idee?
Mit freundlichen Grüßen, Chan Nguyen
Welche Art von Daten möchten Sie speichern? Was wirst du damit machen? Es ist schwierig, Tabellen zu entwerfen, wenn nicht klar ist, wofür sie verwendet werden. – FrustratedWithFormsDesigner
Meine Map ist ein zweidimensionales Array von Integer.Also sind alle Positionen ganze Zahlen. Ich werde diese Ganzzahl beim Zeichnen einer Koordinate (x, y) zuordnen. Dies ist jedoch für die Datenbank überhaupt nicht relevant. Danke für deine Antwort. – Chan