2016-04-06 18 views
1

Ich arbeite jetzt an einer Referenz-Website für Kartenspiele. Ich brauche einen Tisch, von dem ich mir sicher bin, dass ich ihn in Zukunft erweitern werde.Wie wird eine erweiterbare Datenbank entworfen?

Zum Beispiel, wenn ich eine Tabelle, die die Attribute von Karten zu speichern verwendet wird, und jede Karte hat folgende Informationen:

card_name rarity race skill1 

In Zukunft kann das Spiel fügen Sie eine weitere Fertigkeit oder andere Informationen für diese Karte wie folgt aus:

card_name rarity race skill1 skill2 others 

In diesem Fall frage ich mich, was die beste Lösung ist für mich die Datenbank zu entwerfen. Füge ich neue Spalten hinzu oder verwende eine andere Tabelle, um die neuen Informationen der Karten zu speichern?

Auch ich bin auf der Suche nach ein paar Tipps, die ich aufpassen muss. BTW, verwende ich mySQL

Antwort

0

Erstellen Sie eine Beziehungstabelle. Fügen Sie der Kartentabelle einen Primärschlüssel id hinzu, was Autoincrement ist, und speichern Sie die Basisdaten für Karten. Erstellen Sie dann eine Beziehungstabelle, wobei der foreing-Schlüssel die ID der Kartentyp-Tabelle ist. Später können Sie diese Tabelle erweitern. Hier

ist ein Beitrag über, wie es zu erstellen: How to create a relation table in MySQL?

Hier ist eine littlebit detaillierteren Post darüber: http://www.techrepublic.com/article/relational-databases-defining-relationships-between-database-tables/

0

Sie einen Blick auf einem „Schlüsselwertpaar“ Tisch nehmen konnte, obwohl In einer relationalen Datenbank wird dies als schlechte Praxis angesehen. Wenn sich die Attribute/Fähigkeiten des Kartenspiels nicht oft ändern (z. B. ein oder zwei Mal pro Jahr), würde ich jedes Mal eine alter-Anweisung erhalten und die Tabelle erweitern. Andernfalls können Sie in einer Schlüssel/Wert-Tabelle so viele Attribute hinzufügen, wie Sie möchten.

Verwandte Themen