2010-12-11 4 views
0

Jeder Benutzer hat seinen eigenen Satz ausgewählter Kategorien. Dem Benutzer werden dann nur die ausgewählten Kategorien angezeigt, wenn er von Site zu Site stolpert.Wie speichert StumbleUpon ihre Kategorien in ihrer Datenbank?

Also, meine Frage ist dies eine Eins-zu-viele-Beziehung? Wie ist eine Benutzer-ID mit vielen Kategorien in der Datenbank verbunden?

Dann werden alle Kategorien in einer Tabelle gespeichert?

Antwort

0

Ich habe noch nie verwendet StumbleUpon, aber hier ist meine Vermutung:

Sie haben einen User Tisch, einen Category Tisch und FavoriteCategory Tisch. Die Category Tabelle hat eine id Spalte und eine name Spalte. Die User Tabelle hat eine id Spalte, eine email Spalte, eine username Säule usw.

Die FavoriteCategory Tabelle ist, wo die Magie passiert!

Es hat eine userId Spalte und eine categoryId Spalte. Jedes Mal, wenn ein Benutzer eine neue Favoritenkategorie hinzufügt, wird der FavoriteCategory Tabelle ein neuer Datensatz mit der id des Benutzers als userId und der id der Kategorie als categoryId hinzugefügt. Alles was es braucht ist eine einfache INNER JOIN um alle Daten in einer einzigen Abfrage zu erfassen.

Mit diesem Schema können Benutzer eine unbegrenzte Anzahl von bevorzugten Kategorien haben! :]

Bearbeiten: Versuchen Sie, über third normal form lesen.

Verwandte Themen