2010-12-11 4 views
0

Chaque utilisateur a son propre ensemble de catégories choisies, alors seulement ces catégories choisies seront montrées à l'utilisateur quand elles trébuchent d'un site à l'autre. Donc, ma question est-ce une relation de un à plusieurs? Comme un identifiant d'utilisateur est connecté à de nombreuses catégories dans la base de données?Comment StumbleUpon stocke-t-il ses catégories dans sa base de données?

Alors toutes les catégories sont stockées dans une table?

Répondre

0

Je ne l'ai jamais utilisé StumbleUpon, mais voici ma conjecture:

Ils ont une table User, une table Category, et une table FavoriteCategory. La table Category a une colonne id et une colonne name. Le tableau User a une colonne id, une colonne email, une colonne username, etc.

Le tableau FavoriteCategory est où la magie se produit! Il a une colonne userId et une colonne categoryId. Chaque fois qu'un utilisateur ajoute une nouvelle catégorie favorite, un nouvel enregistrement est ajouté au tableau FavoriteCategory avec le id de l'utilisateur en tant que userId et id en tant que categoryId. Tout ce qu'il faut est un simple INNER JOIN pour saisir toutes les données dans une seule requête.

Avec ce schéma, les utilisateurs peuvent avoir un nombre illimité de catégories favorites! :]

Modifier: Essayez de lire sur third normal form.

Questions connexes