2010-03-23 4 views

Répondre

8

Un exemple très simple serait d'avoir trois tables:

 
+---------------------+ +--------------------+ +---------------------+ 
| Tags    | | Questions   | | QuestionTags  | 
+---------------------+ +--------------------+ +---------------------+ 
| + TagID    | | + QuestionID  | | + QuestionID  | 
+---------------------+ +--------------------+ +---------------------+ 
| + TagName   | | + QuestionTitle | | + TagID    | 
+---------------------+ +--------------------+ +---------------------+ 
          | + QuestionText  | 
          +--------------------+ 

Vous pouvez avoir toutes vos balises dans la table tags:

 
+---+---------+ 
| 1 | PHP  | 
+---+---------+ 
| 2 | C#  | 
+---+---------+

vos questions dans votre table de questions:

 
+---+-------+---------------------+ 
| 1 | Tags? | How do I make tags. | 
+---+-------+---------------------+

Et puis les associer à la table QuestionsTags via leur ID de:

 
+---+---+ 
| 1 | 1 | 
+---+---+

Cela place l'étiquette 1 à la question 1. Vous pouvez insérer anthères ligne pour ajouter une autre balise à la question 1. Maintenant, pour obtenir tous les tags pour une question, vous interrogez la table QuestionTag en basant votre recherche sur l'identifiant de la question. Pour obtenir toutes les questions d'un tag, vous interrogez le tableau QuestionTag en basant votre recherche sur l'identifiant du tag.

Bonne chance!

+1

merci merci – ggfan

Questions connexes