2009-04-17 2 views
1

Ich denke daran, eine "Wunschliste" zu erstellen. Jeder Benutzer wird in der Lage sein, Wünsche in einem Geschäft zu kaufen. Wie speichere ich die Wunschliste? Ich denke darüber nach, eine Benutzertabelle und eine Wunschlistestabelle zu erstellen.Wie "wishlist" in der Datenbank speichern?

Die Struktur der Benutzertabelle: Spalten: ID, Benutzername, Passwort etc

Spalten: ID, Wunsch, Preis, Menge etc.

Benutzer-ID für die Benutzertabelle und ihre Fremd der Primärschlüssel Schlüssel in der Wunschlistestabelle. Wie auch immer, wenn ich darüber nachdenke, wird meine Wunschlistestabelle doppelte Einträge für jeden Benutzer haben, nicht wahr?

Gibt es eine bessere Möglichkeit, die Wunschliste Dinge zu speichern?

Ich verwende mysql. Danke

+0

In vielerlei Hinsicht hat diese Frage keine konkrete Antwort. Fragen Sie 100 Analysten nach einem Design und erhalten Sie 100 verschiedene Antworten, alle mehr oder weniger korrekt. Als Architekt dieses Systems müssen Sie letztendlich selbst entscheiden. –

+0

Ich möchte die sicherste und beliebteste Methode. Ich bin neu in der Datenbank, also suche ich nach Anleitungen. –

+0

Sicherheit ist nur lose auf das Design Ihrer Tabellen bezogen. –

Antwort

0

Es ist eine 1 zu n Beziehung.

Sobald Sie eine Benutzertabelle mit einer user_id als Primärschlüssel haben, erstellen Sie eine Tabelle Wish, die user_id als Fremdschlüssel hat, dann . Fügen Sie die gewünschten Attribute zu dieser zweiten Tabelle und violá hinzu.

Luis

0

sollten Sie einen anderen Tisch für Wünsche (Wunsch-ID, Preis, Beschreibung, etc.), und Sie sollten eine Verbindungstabelle (Benutzer-ID, Wunsch-ID, Menge, Börsenkurs, etc.) haben. Diese Tabelle ermöglicht Ihnen eine Viele-zu-Viele-Beziehung zwischen Benutzern und Wünschen.

(Weiter zu meinem Kommentar ... siehe? Sie haben zwei verschiedene Vorschläge bereits. Letztlich müssen Sie entscheiden, was das Beste ist, und idealerweise Ihre geschäftlichen/Projektanforderungen sollten Sie führen.)

EDIT: machen, dass drei verschiedene Vorschläge

+0

können Sie genauer sein? Das heißt, ich muss 3 Tabellen erstellen? Können Sie die Beispielnamen für jede Spalte auflisten? –

+0

ja, drei Tabellen. Ich habe Vorschläge für Spalten in meiner Antwort gegeben. –

4

Sie auch eine andere Tabelle zu speichern, die Einkäufe haben sollte:

Käufe

  • Id
  • UserId
  • WishId
  • PurchaseDate

Benutzer

  • Id
  • Namen
  • Passwort

Wünsche

  • Id
  • wünschen
  • Preis
  • Menge

Jedes Mal, wenn ein Benutzer einen Wunsch kauft, Sie einen Datensatz in der Tabelle Käufe erstellen und dekrementieren für diesen Wunsch, die Menge zu zählen.

+0

können Sie genauer sein? Das heißt, ich muss 3 Tabellen erstellen? Können Sie die Beispielnamen für jede Spalte auflisten? –

+0

Ja. Meine Antwort wird aktualisiert, um dies jetzt wiederzugeben :) – Nippysaurus

+0

Dies ist die logischste Art der Strukturierung basierend auf den Spezifikationen des Fragestellers. Sie möchten möglicherweise weiter bearbeiten, um zu beachten, dass Sie die Menge erhöhen möchten, wenn Sie einen neuen Bestand erhalten, wenn Sie die Menge bei jedem Kauf dekrementieren. – TheTXI