2016-04-27 19 views
-1

Ich versuche, Gast Checkout in meiner Website zu implementieren, die MS SQL SERVER 2008 R2 als Backend verwendet, habe ich keine Ahnung über das Datenbank-Design davon und wie es gemacht werden sollte. So würde jede Hilfe geschätzt werden.Tabellenstruktur für Gäste Checkout

+0

Bitte beschreiben Sie genau, was Sie eigentlich tun möchten. Welches sind die zu speichernden Daten, welche Abhängigkeiten bestehen zwischen den Datenelementen, was ist der geplante Datenfluss, ... – Aconcagua

+0

Zuerst möchte ich einen Warenkorb für den Gast anlegen, in dem das Produkt den Fremdschlüssel hat zu Produkttabelle und jetzt ist die Frage, wie ich den Gast aufspüre, und wie dieser getan wird, kann der Gast Ordnung und Prüfung setzen. Ich habe keine Ahnung über den Fluss und welche Daten zu speichern. Ich bin ein Neuling. –

+0

Dies ist keine Plattform, um Ihre Aufgaben zu erledigen, auch keine Unterrichtsplattform. Machen Sie sich mit den für Ihre Aufgabe relevanten Programmierkonstrukten vertraut, und wenn Sie ein spezifisches Problem mit Ihrem Code haben, kommen Sie hierher zurück. – TAM

Antwort

0

Vielleicht sollten Sie zunächst einen Blick auf Sitzungen haben (php, ASP.NET Dokumentation, Java servlets Tutorial – gilt auch für JSP).

In der Sitzung möchten Sie möglicherweise die ID des Benutzers in der Datenbank beibehalten, um die Benutzerdaten abrufen zu können.

in der Tabelle des Benutzers, würden Sie keine Informationen halten Sie brauchen - ID, Name, Adresse, Bankkonto, ...

Sie jetzt ein kleines Problem bekommen: Sie können einen Benutzer, der mehr als eine hat Produkt in seinem Warenkorb - gleichzeitig könnte eines dieser Produkte im Warenkorb eines anderen Benutzers sein. Sie haben also eine Beziehung [n, m].

Um dies zu lösen, benötigen Sie eine zusätzliche Tabelle, ich werde es einfach 'Wagen' nennen. Es handelt sich um eine Hilfstabelle, die die Benutzer den Artikeln in ihren Einkaufswagen zuordnet, so dass es zwei Spalten mit zwei Fremdschlüsseln gibt: die Benutzer-ID und die Produkt-ID (möglicherweise möchten Sie sich here ansehen).

Variante: Wenn Sie keine Benutzerdaten für Ihre Gäste speichern möchten, können Sie die Benutzertabelle weglassen und den Sitzungscookie als Schlüssel in der Warenkorb-Tabelle verwenden, um den Benutzer zu identifizieren. Wenn Sie dies tun, vergessen Sie nicht, die Datenbankeinträge für das Cookie zu löschen, wenn die Sitzung zerstört wird (Sie können dies beim Erstellen einer neuen Sitzung aus Sicherheitsgründen erneut tun). Dies verhindert, dass ein Benutzer Daten im Einkaufswagen hat, wenn der Server nicht gelöscht werden konnte die Daten - zB aufgrund eines Absturzes oder was auch immer,

Verwandte Themen