Du skal bruge tre borde:
- Én tabel til
articles
- Én tabel for
categories
- Én tabel, der linker artikler til kategorier, vi kan kalde det
categories_per_article
. Denne tabel kaldes ofte en Junction-tabel eller en Associationstabel .
Eksempeldata:
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
Du vil se, at artikel 1 (Fuzz) har tre kategorier, og artikel 2 (Bizz) kun har kategori 1. Vi kalder dette en mange-til-mange forhold (eller n-til-n, f.eks. i ER eller UML), fordi artikel 1 har flere kategorier, og kategori 1 bruges af flere artikler.
Du kan lave alle mulige forespørgsler ved hjælp af dette skema - spørg gerne i kommentarerne om specifikke eksempler (som How do I get all articles which have categories 1 and 3 but not 2
).