Je hebt drie tabellen nodig:
- Eén tabel voor
articles
- Eén tabel voor
categories
- Eén tabel die artikelen aan categorieën linkt, we zouden het
categories_per_article
kunnen noemen . Deze tabel wordt vaak een Verbindingstabel of een Associatietabel genoemd .
Voorbeeldgegevens:
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
U zult zien dat artikel 1 (Fuzz) drie categorieën heeft en artikel 2 (Bizz) alleen categorie 1. We noemen dit een veel-op-veel-relatie (of n-to-n, bijvoorbeeld in ER of UML), omdat artikel 1 meerdere categorieën heeft en categorie 1 door meerdere artikelen wordt gebruikt.
U kunt alle mogelijke zoekopdrachten uitvoeren met behulp van dit schema - vraag gerust naar specifieke voorbeelden in opmerkingen (zoals How do I get all articles which have categories 1 and 3 but not 2
).