आपको तीन टेबल चाहिए:
articles
के लिए एक टेबलcategories
के लिए एक टेबल- लेखों को श्रेणियों से जोड़ने वाली एक तालिका, हम इसे
categories_per_article
कह सकते हैं . इस टेबल को अक्सर जंक्शन टेबल या एसोसिएशन टेबल कहा जाता है। ।
उदाहरण डेटा:
ARTICLES
ID | Name | Description
1 | Fuzz | A fuzzy three
2 | Bizz | A five that means bizznezz
CATEGORIES
ID | Name
1 | Prime numbers
2 | Multiples of five
3 | Smaller than four
CATEGORIES_PER_ARTICLE
ID | ARTICLE_ID | CATEGORY_ID
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 2 | 1
आप देखेंगे कि लेख 1 (फ़ज़) में तीन श्रेणियां हैं, और लेख 2 (बिज़) में केवल श्रेणी 1 है। हम इसे अनेक-से-अनेक संबंध (या एन-टू-एन, उदाहरण के लिए ईआर या यूएमएल में), क्योंकि लेख 1 में कई श्रेणियां हैं, और श्रेणी 1 का उपयोग कई लेखों द्वारा किया जाता है।
आप इस स्कीमा का उपयोग करके सभी संभावित प्रश्न कर सकते हैं - विशिष्ट उदाहरणों के लिए टिप्पणियों में पूछने के लिए स्वतंत्र महसूस करें (जैसे How do I get all articles which have categories 1 and 3 but not 2
)।