2017-05-05 3 views
0

Ich erstelle ein einfaches Webbrowser-Spiel. Ich habe bereits ein Anmelde- und Anmeldeformular, das funktioniert. Ich habe eine Datenbank und eine Tabelle mit Benutzerinformationen: userId username Useremail UserpassWie verbinde ich Benutzerdaten mit anderen Tabellen?

Ich brauche zusätzliche Daten zu haben - Ressourcen. Ich muss neue Tabellenressourcen erstellen, und ich möchte diese zwei Informationen mit 1 Benutzer (1 userId) verbinden. Meine Idee ist es, neue Tabelle Ressourcen zu erstellen: userId (muss die gleiche wie in der Tabelle user sein) Holz Eisen Stein

Was ist eine Lösung für dieses Problem? Bitte hilf mir.

Antwort

0

Bedenken Sie, dass Datenbankdesign-Optionen normalerweise auf der Art von Abfragen basieren, die Sie durchführen möchten. Ich denke, Sie haben zwei Alternativen.

erste Option ist nach dem Weg, den Sie beschreiben, in der resources Tabelle bedeutet, dass Sie haben eine Spalte für jede Art von Ressourcen

resources 
user_id (fk for id of user) | wood_amount | iron_amount | stone_amount 

Dies ist die einfachste Konstruktion, aber wenn Sie morgen eine andere Art von hinzufügen möchten Ressource müssen Sie eine Spalte hinzufügen. Dann ein anderer. Dann ein anderer. Dann ein anderer.

Die andere Option ist die Gestaltung der Beziehung zwischen users und resources als Standard many-to-many Beziehung, das heißt, Sie drei Tabellen

user 
the one you already have 

resource 
resource_id | resource_desc 

user_resources 
user_id (fk to id of user) | resource_id (fk to id of resource | amount 

diese Weise die Abfrage der Datenbank für ein Benutzer Ressourcen haben kann verlangen, und zusätzliche beitreten, aber Das Hinzufügen neuer Arten von Ressourcen wird nur ein Einfügen in die resource Tabelle sein.

+0

Vielen Dank dafür. Ich weiß, ist einfach für Sie, aber ich werde nur neue Spalte zu aktuellen Benutzer Tabelle erstellen. Nach dem Registrieren des neuen Benutzers kann ich alle Informationen über userId userName userEmail userPass und das Starten von Ressourcen | erstellen wood_amount | iron_amount | stone_amount auf einmal. Ich fange mit mysql und php an, also vielleicht lege ich dieses Update verbessern. Jetzt muss ich diese Arbeit für meine Motivation sehen. Vielen Dank, ich werde dir zu einer anderen Zeit folgen. –

Verwandte Themen