sql >> Database teknologi >  >> RDS >> Mysql

en artikel om flere kategorier

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 ).



  1. Webinar:Banking on Postgres – Finansielle ansøgningsovervejelser [Opfølgning]

  2. MySQL - Øg kolonneværdi eller indsæt data, hvis ikke eksisterer

  3. Mysql tæller rækker ved hjælp af filtre på højtrafikdatabasen

  4. ASP Classic SQL Query fejlmeddelelse, højre syntaks tak